Release notes for tiegcm1.93 May 26, 2010 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New lower boundary coding scheme (involved changes to about 15 source files): - New module lbc.F replaces bndry.F - Consolidation of conditionals controlling implementation of input options for lower boundary backgrounds and perturbations (mainly tides) - input.F: Routines inp_solar and inp_lbc validate user's namelist input related to solar and lbc options. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New lower boundary option to use SABER/TIDI data: Note: This option is in the code, but is CURRENTLY UNSUPPORTED. The namelist read parameter does not appear in the default namelist input file, and is OFF BY DEFAULT. Furthermore, the DATA FILES WILL NOT BE MADE AVAILABLE to the external community in the release. This option will be further tested and validated by the internal hao development group before it is made available to the Community. - New namelist read parameters specifying data files SABER_NCFILE and TIDI_NCFILE. (see data files in $TGCMDATA/*saber*.nc and $TGCMDATA/*tidi*.nc) - If SABER_NCFILE is specified, perturbations will be added to lbc of T,Z (see lbc.F) - If TIDI_NCFILE is specified, perturbations will be added to lbc of U,V (see lbc.F) - GSWM and TIDI/SABER runs are mutually exclusive (cannot do both in same run) - Data provided by Qian Wu. See /home/tgcm/saber_tidi for independent code to write netcdf files from IDL save files for import to the model. - As in IMF data runs, if missing data is encountered when reading the files, the program will stop with an error message. - These parameters are commented out in the default namelist input file. (default is GSWM migrating tides at 5 deg resolution) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New namelist read parameter KP: - KP can be specified either as a constant or multiple time-dependent values. - If provided, empirical formulas will use the given KP to calculate CTPOTEN and/or POWER. See functions hp_from_kp and ctpoten_from_kp in util.F. These are the same functions that are used in GPI runs) - If KP is provided, at least one of POWER and/or CTPOTEN must NOT be provided. - Namelist KP cannot be provided for GPI runs or WEIMER potential runs. - KP is commented out in the default namelist input file. (constant values for POWER and CTPOTEN are the default) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Weimer05 model: - wei05sc.F: Fix error in f90 translation in sub interpol_quad (see comments) - Add routines to work around non-ANSI trig functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Change calculation of the sun's location from dipole coordinates to apex. - Mods to advance.F, apex_subs.F, and magfield.F - Update IGRF coefficients with IGRF11 in apex_subs.F (Data from website http://www.ngdc.noaa.gov/IAGA/vmod/igrf.html) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Performance enhancements: - mpi.F: Use collective function mpi_bcast rather than point-to-point communication in sub mp_updatephi. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Option to write 4-byte floats or 8-byte doubles to secondary histories: - New namelist input parameter SECH_NBYTE can be either 4 (to write 4-byte floats), or 8 (to write 8-byte doubles). - Only 4-d fields on secondary histories are effected by this option. - Default is SECH_NBYTE = 4 - 4-byte files will be 1/2 the size of 8-byte files. - This option does not affect primary history files. - Post-processors will read either type of file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug fixes: - qinite.F : increase night-time ionization rates which is necessary because the minimum electron density was removed in the previous versions (elden.F) - dynamo.F subroutine threed: the E_lam wasn't mapped in the horizontal plane which gave wrong results close to the geomagnetic equator at higher pressure levels (as a consequence EXB drift was wrong) - efield.F in the mapping from magnetic to geographic grid real values are put into integer w/o explicit conversion from real to integer. This led to wrong mapping on HAO machine arc. - rdsource.F: Use-associate nlonp1 rather than nlonp4 in sub set_dynpot - fft9.F: Add ntrigs argument to FFT99B call from sub FFT99 - addiag.F: Use glat(j) instead of float(j) in calculation of c2, sub calczg. Sub calczg calculates gravity-varying geopotential (geometric height) field ZG. - output.F: Set h%tuv_lbc_intop=0 to insure writing of "new" format histories, and avoid conflict when "old" files are used as source (startup) histories. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Script changes to enable parallel runs on hao 64-bit Linux systems: - Changes to tiegcm-linux.job and tgcm_config in the scripts directory. - Add PGI/pgf90 MPI env vars to tiegcm-linux.job - To build and execute an MPI run on a 64-bit Linux machine (4 tasks in this example), set the following in tiegcm-linux.job: set mpi = TRUE set nproc = 4 or 8 Then execute tiegcm-linux.job as usual. You will have to provide your pw 3 times (or 7 times if nproc=8), but this can be avoided by setting up unattended ssh. See, for example: http://rcsg.rice.edu/rcsg/shared/passwordless_ssh.html - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Minor changes to scripts/tiegcm-ibm.job to accomodate mpi=FALSE under AIX. - Also minor change to imf.F for the same reason (4-byte vs 8-byte integers). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Year-end runs: - Run to model time 366,0,0 (for non-leap years), or to 367,0,0 (for leap years) This will be written to the history files as mtime 1,0,0 of the next year. The 1,0,0 history can be used as the Source to start the next year. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove DIFHOR from namelist read parameters. It will not be accepted in namelist input files. Keep flag in the code, but always DIFHOR=1. Source code change is necessary to set DIFHOR=0. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Day-Of-Year dependent eddy diffusion. New namelist read parameter EDDY_DIF is 0 or 1 flag for whether or not to use the DOY-dependent diffusion. difk, dift, and xmue are calculated depending on day-of-year. Current default is EDDY_DIF=0. EDDY_DIF is not part of the Community release. It will not appear in the default namelist input, and will not be included in Community documentation.