[MITgcm-support] Open Boundaries

Alistair Adcroft adcroft at MIT.EDU
Tue Feb 10 09:14:43 EST 2004


Jake,

Is there a problem here? Or is it a usage issue?

A.
--
Dr Alistair Adcroft            http://www.mit.edu/~adcroft
MIT Climate Modeling Initiative        tel: (617) 253-5938
EAPS 54-1523,  77 Massachusetts Ave,  Cambridge,  MA,  USA

-----Original Message-----
From: mitgcm-support-bounces at mitgcm.org
[mailto:mitgcm-support-bounces at mitgcm.org] On Behalf Of quero_s at libero.it
Sent: Tuesday, February 10, 2004 6:51 AM
To: MITgcm support
Subject: [MITgcm-support] Open Boundaries


Hello,
in these last days, I tried to make the model (version: 'checkpoint52e_pre')
read external (time and space dependent) BC files. I added to the oceanic
standard package group the exf and cal packages and built the code
succesfully. I encountered several problems during runtime... I think there
is a bug in the exf_getffields routine, that should call exf_getobcs
(exf_obcs, as specified in the call tree in exf_getforcing.F (below)):

C     !CALLING SEQUENCE:
c ...
c  exf_getforcing
c  |
c  |-- exf_getclim (get climatological fields used e.g. for relax.)
c  | 
c  |-- exf_getffields <- this one does almost everything
c  |   |   1. reads in fields, either flux or atmos. state,
c  |   |      depending on CPP options
c  |   |   2. If forcing and control is flux, we're already done here
c  |   |   3. If forcing is atmos. state, then
c  |   |      (a) if control is atmos. state, then the control variable
c  |   |          anomalies are read here
c  |   |          * ctrl_getatemp
c  |   |          * ctrl_getaqh
c  |   |          * ctrl_getuwind
c  |   |          * ctrl_getvwind
c  |   |   4. flux fields are interpolated on current time
c  |   |      (b) next the flux fields are computed via bulk formulae
c  |   |
c  |   |-- exf_obcs
c  |       If open boundaries are prescribed externally,
c  |       OB values for current time step are read here
c  |       1. for each boundary (north, south, west, east)
c  |          sliced fields are read for T,S,U,V
c  |       2. if OB's are part of control vector,
c  |          control variable anomalies are added to OB values
c  |          * ctrl_getobcsn
c  |          * ctrl_getobcss
c  |          * ctrl_getobcsw
c  |          * ctrl_getobcse
c  |
c  |-- exf_bulkformulae
c  |   If ALLOW_BULKFORMULAE, compute fluxes via bulkformulae
c  |


In exf_getffields there is no call to exf_obcs or exf_getobcs. I added this
call to the routine and the model seemed to read the files. Though, the
values were overwritten by the values prescribed in obcs_calc.F (zero u and
v velocity, initial temperature and salinity, by default). I decided to move
the call in this latter routine but I think that the records are not read
correctly (below there is the pattern of u comp of velocity: the iput file
had constant values (-0.01 m/s)!): values went to NaNQ after few iterations.

// =======================================================
 // Field OBNu at iteration          2
 // CMIN =          7.777777777777828E-02
 // CMAX =          3.500000000000000E+01
 // CINT =          1.293415637860082E+00
 // SYMBOLS (CMIN->CMAX): -abcdefghijklmnopqrstuvwxyz+
 //                  0.0: .
 // RANGE I (Lo:Hi:Step):(   1:  64:   1)
 // RANGE J (Lo:Hi:Step):(   1:   1:  -1)
 // RANGE K (Lo:Hi:Step):(   1:  20:   1)
 // =======================================================
 J =   1
                I=10      I=20      I=30      I=40      I=50      I=60
 |--K--|123456789|123456789|123456789|123456789|123456789|123456789|1234
      1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      3 ++++++++++++++++++++++++++++++++++++++++++......................
      4 ....................................++++++.+++++++++++++++++++++
      5 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
      6 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
      7 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
      8 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
      9 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     10 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     11 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     12 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     13 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     14 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     15 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     16 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     17 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     18 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     19 +++++++++++++++++++++++++++++++++++.++++++.+++++++++++++++++++++
     20 +++++++++++++++++++++++++++++++++++.++++++-+++++++++++++++++++++
 // =======================================================
 // END OF FIELD                                          =
 // =======================================================


I think there is a problem with the overlap regions (the domain is 64 x 64 x
20 with overlap value of 3). Did I forget something? Has anybody dealt with
this kind of problems before? I apologize for the long (rather boring?) mail
and wait for opinions and/or suggestions. Thanks,

Stefano



_______________________________________________
MITgcm-support mailing list
MITgcm-support at mitgcm.org
http://dev.mitgcm.org/mailman/listinfo/mitgcm-support





More information about the MITgcm-support mailing list