[MITgcm-support] mnc missing values

Martin Losch Martin.Losch at awi.de
Mon Jan 25 05:35:11 EST 2010


Hi David,

this has nothing to do with tile or domain boundaries, but with land-sea boundaries.

On a C-grid, the no-normal flow boundary conditons through land boundaries is easily satisfied by setting the flux (and thus the velocity) on this boundary to zero. The model treats a, say, U-point between a "wet" C-cell and a "dry" C-cell as dry, i.e, let hFacC(i,j,k) > 0 and hFacC(i-1,j,k) = 0, then hFacW(i,j,k) = 0. The value of uVel(i-1,j,k) (on land) should be "missing" , but uVel(i,j,k) (on the boundary) must be zero.
So if you use hFacW as a flag to decide what is "missing", then you'll make a mistake along the land-sea boundaries.

Martin

On Jan 22, 2010, at 5:49 PM, David Hebert wrote:

> Martin,
> 
> Can you elaborate on what you mean about hFacW/S being zero on the boundary. Is this internal? On tile boundaries? In my current hFacW.data file (and test netcdf files) there are definitely 1's and 0's on the boundary. The only issue I have run across is that for hFacW/S, the value might not be correct on the W/S boundary if bathymetry is not the same, likely due to periodicity (I'm sure you have seen this discussion a little while ago)
> 
> http://mitgcm.org/pipermail/mitgcm-support/2009-October/006275.html
> 
> 
> Thanks,
> 
> David
> 
> On 01/22/10 08:45, Martin Losch wrote:
>> missing_value and missing_value_int are specified in data.diagnostics (it's all only for the diagnostics package), I just can't remember how well it worked. Again, it's work in progress.
>> 
>> hFacW/S will be zero on the boundary, but the boundary value for U/V is actually zero, so if you use hFacW/S to decide about the special value you will need to take that into account. The same is true W and so forth. And this is the easy part.
>> 
>> Martin
>> 
>> On Jan 22, 2010, at 2:25 PM, David Hebert wrote:
>> 
>>   
>> 
>>> Martin, Constantinos,
>>> 
>>> Thanks for your replies. I have used the gluemnc script on my little test cases and it does work nicely.
>>> 
>>> I can certainly see the implementing missing values can be complicated. My original thought was to use relevant hFac's to determine missing values. On the C grid I think this would mean using hFacW for U, hFacS for V, and  hFacC for W, T, S, Eta, Pressures. Are there other considerations regarding missing values I might be missing?
>>> 
>>> Also, perhaps the missing_value could be specified in data.mnc? This would allow users to customize values.
>>> 
>>> Thanks,
>>> 
>>> David
>>> 
>>> 
>>> On 01/22/10 01:56, Martin Losch wrote:
>>>     
>>> 
>>>> David,
>>>> 
>>>> Constantinos is right, mnc can only write files per tile. However, there is a nifty script by Baylor utils/scripts/gluemnc und /utils/scripts/xplbode, which glue your "per-tile" nc-files into a single one (only for simple cartesian or lat-lon grids, though).
>>>> 
>>>> About the missing value: I started to implement that, but there are so many things to look out for that for now it's only implemented for scalar fields such as THETA, SALT, ETAN, etc. All vector components have "0" over land (for u,v,w, that's even useful, because the first land point is actually the correct boundary condition of no-flow across the boundary).
>>>> 
>>>> It only implemented for the diagnostics package, to turn it on
>>>> #define DIAGNOSTICS_MISSING_VALUE
>>>> in DIAG_OPTIONS.h and then you set missing_value, missing_value_int separately for float and integers (I think they default to 1e+15). You can (or have to) set different values for different lists, but I cannot remember, if that works, you'll have to try it out. I usually live the default value (although it's far from optimal). You can find the relevant code-bits in diagnostics_out.F
>>>> 
>>>> Martin
>>>> 
>>>> On Jan 21, 2010, at 7:11 PM, Constantinos Evangelinos wrote:
>>>> 
>>>>   
>>>>       
>>>> 
>>>>> On Thursday 21 January 2010 12:47:14 pm David Hebert wrote:
>>>>> 
>>>>>     
>>>>>         
>>>>> 
>>>>>> 1 Since mnc writes on per tile basis, is it best to use
>>>>>> globalFiles=.TRUE. (and hence useSingleCpuIO=.FALSE.)?
>>>>>>       
>>>>>>           
>>>>>> 
>>>>> These AFAIK affect only the MDSIO package and not the MNC package.
>>>>> 
>>>>>     
>>>>>         
>>>>> 
>>>>>> 2) I see there is a logical flag "use_missing" in MNC_CW_READWRITE_I.F.
>>>>>> Is this intended to be used to write missing values to netcdf output? If
>>>>>> so, can someone point me to where this flag should be set (i.e., what
>>>>>> namelist, don't seem to find it in any other .F files). Also, is a place
>>>>>> to specify what the missing value is?
>>>>>>       
>>>>>>           
>>>>>> 
>>>>> Unfortunately the MNC output is not fully functioning - this appears to be a
>>>>> half-way implemented feature. The resulting files also do not conform to the
>>>>> CF conventions unfortunately.
>>>>> 
>>>>> Constantinos
>>>>> -- 
>>>>> Dr. Constantinos Evangelinos
>>>>> Department of Earth, Atmospheric and Planetary Sciences
>>>>> Massachusetts Institute of Technology
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> 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
>>>> 
>>>>   
>>>>       
>>>> 
>>> 
>>> _______________________________________________
>>> 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
> Naval Research Lab
> Stennis Space Center, MS 39529
> david.hebert at nrlssc.navy.mil
> Phone: (228) 688-5846
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list