Fwd: [MITgcm-devel] this weeks share of stupid suggestions about netcdf

Martin Losch mlosch at awi-bremerhaven.de
Mon Feb 7 10:16:30 EST 2005


Jean-Michel,
your email client orders the addresses in such a way that whenever I 
hit reply, I don't replay to the list, but only to you. Here's the 
original message.
M.

Begin forwarded message:

> From: Martin Losch <mlosch at awi-bremerhaven.de>
> Date: February 3, 2005 9:04:49 AM CET
> To: Jean-Michel Campin <jmc at ocean.mit.edu>
> Subject: Re: [MITgcm-devel] this weeks share of stupid suggestions 
> about netcdf
>
> Jean-Michel,
> you are right. It's not all that easy.
>
> 1. Technically your first concern could be handled by setting the 
> missing_value in data.mnc, if not set, then there is no missing value.
> 2. Masking is indeed a problem. I was only thinking of the "pure" 
> model variables T,S,U,V,W, Eta and their timeaverages, but of course 
> fluxes are a problem. I don't have a good solution for this either. 
> Maybe it is a good idea to NOT have a missing value for fluxes, in 
> principle?
>
> Ed, for all of this it would be convenient to have a "generic" 
> subroutine, something like mnc_declare_recvar that calls 
> mnc_cw_add_vname, mnc_cw_add_vattr_text etc. and also declare the 
> missing value. When the variable is written and the missing_value is 
> set, the missing value has to be filled in according to the mask. I 
> still don't know the mnc-pkg well enough to be able to judge whether 
> this is a "simple" thing to do. If you say that it shouldn't be 
> difficult, I'll try to do that sometime soon. In that case, I would 
> ask you to give me a list of where  mnc-record variable 
> initialisations occur, e.g. ini_model_io, timeave_init_fixed, etc. 
> (assuming that you have the best overview over this).
>
> Martin
>
> On Feb 2, 2005, at 4:37 PM, Jean-Michel Campin wrote:
>
>> Hi Martin,
>>
>> I have a comment about point (2):
>>
>> I whant to keep the possibility of not having missing_value
>> (as well as having missing_value) for 2 reasons:
>> a) debugging: I would like to keep the possibility to see in the 
>> output
>> file the true array that the model has in memory.
>> b) masking is a funny story, because it does not only depend
>> on the location of the variable on the C-gridi + vertical location,
>> but also the kind of variable: for instance,
>> if maskC(i-1)=0; maskC(i)=1, maskW(i)=0
>> uTrans(i) should be zero (and not missing-value), but at the same
>> location, diffusive flux of Temp (=diffKh*d.Theta/dx) should be set
>> to missing-value.
>> To conclude, my impression is that there is a not negligeable
>> probability that the masking ends up to be wrong, sometimes, for
>> some variables, depending on what options are used, ...
>> and in this case, it's good to be able to switch off the 
>> "missing_value".
>>
>> Jean-Michel
>




More information about the MITgcm-devel mailing list