[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