[MITgcm-devel] other problem in recent check-in

Martin Losch Martin.Losch at awi.de
Wed Jan 30 11:56:28 EST 2008


I have tried this in global_with_exf:
I set startdate in data.cal to Jan01, 0:00h with a 'model'-calendar,  
so 30day months, 360day years.
I set startdates for the forcing fields in data.exf to Jan16, 0:00h,  
which is exactly the middle of the month a full 15*24h have passed, a  
full 15*24h to go till the end of the month at 30th, 24:00h. Now I  
expect the fac for myiter=0 to be 0.5, but it's 0.42857143 (which is  
12.857143/30, incidentially). When I set them to Jan15, 0:00h, the  
first weight is 0.4 (12/30).
I don't understand this package.

Martin

On 29 Jan 2008, at 19:15, Dimitris Menemenlis wrote:

> Martin, exf_getffieldrec.F prior to Saturday's check-in had a  
> problem in determining interpolation records and corresponding  
> weights when the forcing field startdate was not start January 1,  
> hour zero.  For example, some of the the NCEP and ECMWF forcing  
> fields that we use start at hour 3 or hour 6.  So during the first  
> 3 to 6 hours of each year, the forcing fields would have been  
> wrong, not just that they were obtained from the end of the current  
> year instead of the end of the previous year but also the  
> interpolation weights were wrong so that we could end up with  
> daytime forcing at night, etc.
>
> Saturday's check-in fixed the above problem but it assumed that  
> each year was exactly divisible by the forcing field period, which  
> is the case, for example, if the forcing field period is six hours  
> or one day.  Saturday's check-in did not, however, deal correctly  
> with the special case when forcing field period is greater than one  
> day, for example, monthly forcing fields with leap years, etc.
>
> Last night's check-in does not change the forcing field records nor  
> does it change the forcing field weights away from year-end  
> transitions but it does change the weights that are computed during  
> transition from one year to the next for forcing field periods  
> greater than one day.  So yes last night's check-in is expected to  
> affect your results if yearlyfields=true and if you are using  
> monthly forcing fields.
>
> The best way to find out for sure whether exf_getffieldrec.F does  
> what you think it should do is to run your code with "#define  
> EXF_VERBOSE" in EXF_OPTIONS.h and with "debuglevel=1" in data and  
> then to look at a few exf_GetFFieldsRec and MDS_READ_FIELD output  
> diagnostics to make sure that the file reading flags (first and  
> changed), the forcing files read-in, the record numbers (count0 and  
> count1), and the interpolation factor (fac) are what you expect  
> them to be.
>
> The test that I ran (manually) is checked in as instructions in  
> MITgcm/verification/lab_sea/README and also reproduced below:
>
>   cd MITgcm/verification/lab_sea/build
>   \rm *
>   \cp ../code/* .
>   sed 's/undef EXF_V/define EXF_V/' \
>       ../../../pkg/exf/EXF_OPTIONS.h > EXF_OPTIONS.h
>   ../../../tools/genmake2
>   make depend
>   make -j
>   cd ../run
>   \rm *
>   \cp ../input/* .
>   \mv v10m.labsea1979 v10m.labsea_1979
>   \mv u10m.labsea1979 u10m.labsea_1979
>   \mv flo.labsea1979 flo.labsea_1979
>   \mv prate.labsea1979 prate.labsea_1979
>   \mv tair.labsea1979 tair.labsea_1979
>   \mv fsh.labsea1979 fsh.labsea_1979
>   \mv qa.labsea1979 qa.labsea_1979
>   \mv SSS_monthly.labsea1979 SSS_monthly.labsea_1979
>   \ln -sf v10m.labsea_1979 v10m.labsea_1978
>   \ln -sf u10m.labsea_1979 u10m.labsea_1978
>   \ln -sf flo.labsea_1979 flo.labsea_1978
>   \ln -sf prate.labsea_1979 prate.labsea_1978
>   \ln -sf tair.labsea_1979 tair.labsea_1978
>   \ln -sf fsh.labsea_1979 fsh.labsea_1978
>   \ln -sf qa.labsea_1979 qa.labsea_1978
>   \ln -sf SSS_monthly.labsea_1979 SSS_monthly.labsea_1978
>   \ln -sf v10m.labsea_1979 v10m.labsea_1980
>   \ln -sf u10m.labsea_1979 u10m.labsea_1980
>   \ln -sf flo.labsea_1979 flo.labsea_1980
>   \ln -sf prate.labsea_1979 prate.labsea_1980
>   \ln -sf tair.labsea_1979 tair.labsea_1980
>   \ln -sf fsh.labsea_1979 fsh.labsea_1980
>   \ln -sf qa.labsea_1979 qa.labsea_1980
>   \ln -sf SSS_monthly.labsea_1979 SSS_monthly.labsea_1980
>   \mv data.exf_YearlyFields data.exf
>   \mv data_YearlyFields data
>   sed 's/tics = .TRUE./tics = .FALSE./' ../input/data.pkg > data.pkg
>   ../build/mitgcmuv >& output.txt &
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list