[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