[MITgcm-support] How to prescribe constant OBCS

Martin Losch Martin.Losch at awi.de
Wed Nov 12 09:43:08 EST 2008


David,

periodicExternalForcing=.false. (in data/PARM03) should do it, but  
then you cannot have any time variable forcing. OBCS files are  
analogous to the forcing files that you can specify in data/PARM05,  
unless you are using exf/cal.

Martin

On 12 Nov 2008, at 14:45, David Hebert wrote:

> Hi Martin,
>
> Thanks for clarifying the use of OBCS. I am pretty sure I am  
> following all the steps you outline. One last question... can OBCS  
> be used with ONLY one time snapshot? For example, if I wish to  
> force the western boundary with a constant 10cm/s flow, do I  
> actually need two (or more) "snapshots" of the boundary condition  
> in OBWuFile? Will setting externForcingPeriod=0 accomplish this as  
> well, or does externForcingPeriod need to be set to nTimeSteps*dt  
> from data file?
>
> Thanks again,
>
> David
>
> Martin Losch wrote:
>>
>> Hi David,
>>
>> just to make sure: you need to
>> 1. turn on obcs in packages.conf
>> 2. make sure that OBCS_ALLOW_PRESCRIBE is defined in OBCS_OPTIONS.h
>> 3. useobcsprescribe=.true. in data.obcs, and useOBCS=.true. in  
>> data.pkg
>>
>> In this case you should read open boundary conditions from files  
>> (in  OBCS_EXTERNAL_FIELDS_LOAD) specified in data.obcs (OBNuFile,  
>> OBNvFile, ..., OBSuFile, ...) at the intervals set by
>> # periodicExternalForcing=.TRUE.,
>> # externForcingPeriod=600.,
>> # externForcingCycle=1200.,
>> in data, otherwise it's going to be constant boundary conditions  
>> read from the above files (the latter is exemplified in  
>> verification/exp4)
>>
>> if you want to use exf/cal (these two go together always), then  
>> you need to turn them on in packages.conf, set useEXF=.true. in  
>> data.exf, and specify forcingperiod and cycle in data.exf
>>
>> If you compiled exf/cal, but do not want to use them, you should  
>> be able to turn them off with useEXF=.false. in data.pkg. This  
>> should work, but I am not sure it always does.
>>
>> If things don't work the way you expect them to work then check,  
>> whether the CPP-flag/packages.conf option are really seen by the  
>> model by comparing *.F to *.f for obcs_calc.F  
>> obcs_prescribe_read.F and obcs_external_fields_load.F. That's a  
>> little annoying, but I am afraid, that's the only way to make  
>> sure ...
>>
>> Martin
>>
>>
>> On 10 Nov 2008, at 19:05, David Hebert wrote:
>>
>>> Hi Martin,
>>>
>>> Thank you for your response. In the simulation I speak of I have  
>>> compiled to allow OBCS to be used. I have also included  
>>> OBCS_OPTIONS.h to allow most OBCS (prescribed, sponge). Then in  
>>> data.pkg I set useEXF=.FALSE. and useOBCS=.true., .
>>>
>>> I note that I compiled the exf and cal packages into the code via  
>>> packages.conf. Will OBCS require the use of exf since I can not  
>>> turn of CAL in data.pkg?
>>>
>>> Thanks,
>>>
>>> David
>>>
>>>
>>> Martin Losch wrote:
>>>>
>>>> Hi David,
>>>>
>>>> see verification/exp4
>>>> in order to read obcs from a file you need to set a CPP flag and  
>>>> a runtime flag (as in exp4).
>>>> Only after that it should be possible to use exf (as an  
>>>> additional option), but all of this is not very well tested and  
>>>> requires a little bit of fiddling (with parameters).
>>>>
>>>> Martin
>>>> On 10 Nov 2008, at 16:20, David Hebert wrote:
>>>>
>>>>> I am trying to run a simulation with a simple, constant in time  
>>>>> boundary. When I try to run with useOBCS=.TRUE., and  
>>>>> useEXF=.FALSE., in data.pkg, the model seems to ignore my obcs  
>>>>> files and substitutes 0 for velocities and tRef, sRef for  
>>>>> temperature and salinity.
>>>>>
>>>>> When I set useEXF=.TRUE., and set all periods to 0.0, I get an  
>>>>> irecord error...
>>>>>
>>>>> (PID.TID 0000.0001) *** ERROR *** MDSREADFIELDXZ: Invalid value  
>>>>> for irecord
>>>>>
>>>>>
>>>>>
>>>>> Now, the MITgcm documenatation (section 6.3.1.2), <http:// 
>>>>> mitgcm.org/r2_manual/latest/online_documents/node235.html>  
>>>>> seems to suggetst this is very simple to set up:
>>>>>
>>>>> A simple time-management (e.g. constant in time, or cyclic with  
>>>>> fixed fequency) is provided through S/R obcs_external_fields_load.
>>>>>
>>>>> How do I set up simple constant in time boundaries that use  
>>>>> constant in time T,S,U,V files? Are there any examples in  
>>>>> verification?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> David
>>>>>
>>>>>
>>>>> ________________
>>>
>>> _______________________________________________
>>> MITgcm-support mailing list
>>> MITgcm-support at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
> -- 
> David A. Hebert
> NRC Postdoc
> Naval Research Lab
> Stennis Space Center, MS 39525
> david.hebert.ctr at nrlssc.navy.mil
> Phone: (228) 688-5846
> Fax:     (228) 588-5997
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list