[Mitgcm-support] Procedure/programs to obtain model forcings
mitgcm-support at dev.mitgcm.org
mitgcm-support at dev.mitgcm.org
Wed Jul 9 15:54:34 EDT 2003
HyperNews notification of new message. See:
http://escher.JPL.NASA.GOV:2000/HyperNews/get/forums/assim/109.html
The documentation below guides the future update of model forcings
(by someone other than me). All fortran programs are available
under hpss:/home/tonglee/process_ncep_forcing. So are model grid file,
COAD and NCEP time mean fields.
----------------------------------------------
Location of MIT's 1x1 processed ncep forcings:
----------------------------------------------
The 1x1 ncep forcings on C grid processed from original ncep reanalysis
product by Charmaine King of MIT (king at slough.mit.edu) are stored on
hpss.cacr.caltech.edu:/home/tonglee/tapes.
JPL forcings involve the following field/subdirectories:
R_lhf - latent heat flux (W/m^2)
R_shf - sensible heat flux (W/m^2)
R_sw - short wave radiation (W/m^2)
R_lw - long wave radiation (W/m^2)
R_rain - precipitation (mm/s)
R_tmp - sst (Deg C)
R_ustr - zonal wind stress (N/m^2)
R_vstr - meridional wind stress (N/m^2)
Number after R_* indicate year (e.g. R_lhf52 is R_lhf for 1952).
All fields are daily except for wind stresses which are twice daily.
Example of read program is read_ncep_forcing.f
Landmask is GLmap.txt (ascii, 360x180)
Note:
(Charmaine also achived R_rain* that has unit of m/s, we have mm/s, don't mix
them)
---------------------------------------
Procedure to convert to model forcings:
---------------------------------------
1. Compute non-solar flux.
--------------------------
R_qnet* = R_lhf* + R_shf* + R_lw*
Program: qnet.f
Input: R_lhf*, R_shf*, R_lw*
Output: R_qnet*
2. Compute evaporation-precipitation.
-------------------------------------
R_e-p* = R_lhf* (W/m^2) x 0.03456/24/3600 - R_rain* (mm/s)
Program: e-p.f
Input: R_lhf*, R_rain*
Output: R_e-p*
3. Interpolate to model telescopic grid.
----------------------------------------
Program: interp.f
Input: R_*
Output: r_*
Note 1: use f90 compiler
Note 2: process one year at a time
Note 3: nd in the program need to be manually changed from 365 to 366 for
leap year; for wind (twice daily), change to 365*2 and 366*2.
Note 4: may need to change system stack size limit to allow compiling,
this happen on neptune, alhena, but not guppy; to change that, do
"limit stacksize #" where # is the actual stacksize returned by
fortran compiler if initial compiling failed due to stack size too
large).
Note 5: need to generate namelist files such as qnet* (*=52-00) through
infile.f, then run executable of inter*.f by: a.out < qnet*
Output files r_qnet*, r_sw*, r_e-p*, r_tmp*, r_ustr*, r_vstr* are stored
under hpss:/home/tonglee/tlee/NCEP_FORCING/qnet(sw,sst,ustr,vstr).
4. Replace 80-97 ncep means with COADS mean.
--------------------------------------------
Program: replace_mean.f
Input: r_*
Output: r_*_coads_mean
It subtracts ncep field by its own 80-97 mean (longterm_mean.r_*80-97
where *=qnet, sq, e-p, ustr, vstr; generated by longterm_mean.f) and adds
the COADS mean (fill_flag.interp2mit_mean, computed by Ichiro) and output
r_*#_coads_mean (also stored under hpss:/home/tonglee/tlee/NCEP_FORCING).
During this process, the MIT wind which has opposite signs from the
conventional ones are flipped so that east and north are positive).
(for qnet, sw, e-p, ustr, and vstr; sst not touched).
5. Add time stamps and include (1) the last record from previous year and
-------------------------------------------------------------------------
(2) the first 6 days from subsequent year.
------------------------------------------
Program: add_time_stamp_ext6day.f
Input: r_*_coads_mean and r_tmp*
Output *.bin_ext6d (stored under hpss:/home/tonglee/forcing_realtime)
6. Generate 8x8 split forcings for 64 processors, remove global net heat and
----------------------------------------------------------------------------
freshwater fluxes.
------------------
Program:
split_forcing_all.f for sw, tmp, ustr, and vstr.
Input: *.bin_ext6d
Output: *.bin_08_08_ext6d for sw, tmp, ustr, and vstr and
*.bin_08_08_ext6d_balance2 for qnet and e-p.
(chk_split_forcing.f to check)
More information about the MITgcm-support
mailing list