------------------------------------------------------------------------ r1266 | foster | 2016-02-23 14:29:45 -0700 (Tue, 23 Feb 2016) | 9 lines tiegcm/trunk: - Update files in doc/userguide, doc/release, and tgcmrun/ to reflect new updated GPI data file gpi_1960001-2015365.nc (i.e., through end of 2015) (This file has been copied to $TGCMDATA and $TGCMDATA/tiegcm2.0 at hao and cisl) - Minor mod to tiegcm-linux.job to not attempt to call mklogs when Linux compiler is "unknown". - Minor mods to README and doc/README.download. ------------------------------------------------------------------------ r1264 | foster | 2016-02-22 15:59:12 -0700 (Mon, 22 Feb 2016) | 12 lines tiegcm/trunk/doc/release: - Decided not to include pdf files of selected benchmark runs in the release doc, since they were making the source code repository a bit too big (they would be included in any svn checkout of the entire source code). Removed pdf files from doc/release/_static/images. - Instead, the release doc will point to pdf files in the benchmark "home" directory, currently on the hao public ftp site (linked from /hao/aim/tgcm/tiegcm2.0/benchmarks). There are 2 sections in the results chapter of the release doc: one w/ "all" fields, and another w/ "selected" fields. ------------------------------------------------------------------------ r1263 | foster | 2016-02-20 14:32:00 -0700 (Sat, 20 Feb 2016) | 9 lines tiegcm/trunk/benchmarks/postproc: - Refactored the 3 tgcmproc run scripts runproc_* - Better loop structure, esp in runproc_storms. - Split multi-ut runs of tgcmproc into utvert, utlat (tell ps2pdf (gs) to not autorotate utvert plots) - Option to remove ps files after converting to pdf. - Reran post-processing for benchmark runs from /glade/p/hao/tgcm/tiegcm_benchmarks. ------------------------------------------------------------------------ r1262 | foster | 2016-02-17 21:37:47 -0700 (Wed, 17 Feb 2016) | 5 lines tiegcm/trunk/doc/release: - Added selected benchmark plot files to the v2.0 release document (pdf files added in doc/release/_static/images) See mods to doc/release/benchmarks.rst ------------------------------------------------------------------------ r1261 | foster | 2016-02-17 12:48:30 -0700 (Wed, 17 Feb 2016) | 4 lines tiegcm/tiegcm_trunk/doc/userguide: - Move images of diagnostic fields from _static/images to new directory _static/images/diags ------------------------------------------------------------------------ r1259 | foster | 2016-02-15 22:36:34 -0700 (Mon, 15 Feb 2016) | 6 lines tiegcm/trunk/doc: - First draft of v2.0 Sphinx release document (tiegcm/trunk/doc/release) This includes release notes (needs more work), and symbolic links to benchmark results at the hao public ftp site (pdf plot files, etc). (files are actually stored under /hao/aim/tgcm/tiegcm2.0/benchmarks). ------------------------------------------------------------------------ r1258 | foster | 2016-02-14 17:32:10 -0700 (Sun, 14 Feb 2016) | 5 lines tiegcm/trunk/doc/userguide: - Add sample plots of diagnostics to the User's Guide, in the "Saving Diagnostic Fields" chapter (diags.rst). - *.png files are in userguide/_static/images ------------------------------------------------------------------------ r1257 | foster | 2016-02-14 15:41:45 -0700 (Sun, 14 Feb 2016) | 7 lines tiegcm/trunk: - Update master.inp, README, and add minsperday in scripts dir. - Update tgcmproc scripts in benchmarks/postproc (add option to make pdf files from ps files using ps2pdf) - Add make_downloads and archive_hpss scripts to benchmarks dir. - Update benchmarks/make_listings ------------------------------------------------------------------------ r1256 | foster | 2016-02-10 11:39:34 -0700 (Wed, 10 Feb 2016) | 5 lines tiegcm/trunk/benchmarks - Update model run scripts in benchmarks directory - Update post-processor scripts in benchmarks/postproc - Minor mods to climatology runs in tgcmrun/classes.py ------------------------------------------------------------------------ r1255 | foster | 2016-02-09 20:25:02 -0700 (Tue, 09 Feb 2016) | 22 lines tiegcm/trunk: - Add option to read AMIE data files, as in the tiegcm_amie branch, to provide high-latitude ion drifts, and auroral precipitation. (The tiegcm_amie branch will now be abandoned) - To turn on the option, specify AMIE data files with namelist parameters AMIENH and AMIESH (N and S hemispheres). - Namelist parameter AMIE_IBKG is a 0/1/2 flag for option to read real, 1st, or 24-hr averaged data. - This has been tested with a 9-day AMIE run for April, 2010 as follows (this was also a GPI run): AMIENH = '$TGCMDATA/apr01_10_2010_nh_ssusi.nc' AMIESH = '$TGCMDATA/apr01_10_2010_sh_ssusi.nc' AMIE_IBKG = 0 - The above test succeeded at 2.5-degree resolution, with STEP=15 (the data files are resolution agnostic). But at 5-degrees, with the same data files, and same 15-sec timestep, the model stopped in less than an hour of model time. - Testing confirmed that this code, with amie turned off, produced identical results as the previous tiegcm trunk revision (r1254). - Thanks to Gang Lu for merging her code to the trunk and testing. Please contact Gang for more information. ------------------------------------------------------------------------ r1254 | foster | 2016-02-08 16:00:19 -0700 (Mon, 08 Feb 2016) | 9 lines tiegcm/trunk: - Change SOURCE files in default namelist inputs to refer to $TGCMDATA/tiegcm2.0 instead of $TGCMDATA/tiegcm1.95. (default input files in scripts and tgcmrun) - Set default TIDE,TIDE2 to zero if not read from namelist (input.F). Removed TIDE,TIDE2 from default namelist files. - Force 20-second timestep for 2.5-deg solar max climatology benchmark (tgcmrun/classes.py). ------------------------------------------------------------------------ r1253 | foster | 2016-02-08 11:00:57 -0700 (Mon, 08 Feb 2016) | 6 lines tiegcm/trunk: - Removed directory tiegcm/trunk/tgcmrun/make_benchmarks (and postproc subdir), and replaced it with new directory tiegcm/trunk/benchmarks (and postproc subdir) This directory contains scripts to make benchmark runs on yellowstone (seasons, storms, and climatologies), and do post-processing on the results. ------------------------------------------------------------------------ r1252 | foster | 2016-02-07 16:01:12 -0700 (Sun, 07 Feb 2016) | 5 lines tiegcm/trunk: - Changed "svn_version" to "svn_revision" in Makefiles, job scripts, and global attribute in history files. The svn command to get this is "svnversion". ------------------------------------------------------------------------ r1251 | foster | 2016-02-05 15:11:23 -0700 (Fri, 05 Feb 2016) | 3 lines tiegcm/trunk/tgcmrun/make_benchmarks: - Update shell scripts for making benchmarks ------------------------------------------------------------------------ r1250 | foster | 2016-02-04 16:58:38 -0700 (Thu, 04 Feb 2016) | 2 lines tiegcm/trunk: fix print of opdiffcap in sub rrk (oplus.F) ------------------------------------------------------------------------ r1249 | foster | 2016-02-01 10:23:08 -0700 (Mon, 01 Feb 2016) | 9 lines tiegcm/trunk/tgcmrun: - Added July 2000 "Bastille Day" storm to benchmarks (tgcmrun) - Added postproc directory to tgcmrun/make_benchmarks, with scripts to do post-processing of benchmark simulations. The scripts execute python "tgcmproc" code, which is in the svn repository $SVN/tgcmproc_f90/tgcmproc. - Yellowstone job scripts now make tar file of stdout task logs after running mklogs (in both scripts/ and tgcmrun/). ------------------------------------------------------------------------ r1248 | foster | 2016-01-31 14:11:08 -0700 (Sun, 31 Jan 2016) | 16 lines tiegcm/trunk: - Modifications to search all OUTPUT files for START time when making a continuation (restart) run. Thus, the file containing the START history does not have to be the first file in the OUTPUT list. - If the starting history is not found in the OUTPUT list, or if it runs out of output files to write during the run, the model will stop with an appropriate error message. (To avoid the latter, its fine to provide more file names than will be necessary for the current run, plus any planned future continuation runs). - Continuation runs still must NOT specify SOURCE or SOURCE_START. START and STOP times must be advanced by the user as necessary. (SECOUT file list may also need to be updated to avoid overwriting) - If there is time later, it would be easiest for the user, and less error prone, to automate these namelist changes required by the user for restart runs. ------------------------------------------------------------------------ r1247 | foster | 2016-01-31 10:12:19 -0700 (Sun, 31 Jan 2016) | 18 lines tiegcm/trunk: - Tune fft high-latitude filtering at 2.5-deg resolution (sub filter2 in filter.F). This alleviates numerical instabilities near the poles and near the top of the model, especially in high-IMF storm conditions, e.g., the Nov, 2003 storm case. - Add O+ diffusion maximum as namelist read parameter OPDIFFCAP. The default is 0., i.e., it is turned off (it is not present in the default namelist input files). Enforcing a cap on the O+ diffusion coefficient can alleviate numerical instability ("banding") in O+ density, especially in extreme solar conditions, e.g., July, 2000 "Bastille day" storm. Setting OPDIFFCAP=6.e8, and STEP=10 seconds for a Weimer/IMF run will allow successful simulation of the July, 2000 storm. A Heelis/GPI run for this storm will succeed with STEP=15 without OPDIFFCAP. The O+ diffusion cap is implemented at the end of sub rrk in oplus.F. An OPDIFFCAP is generally not necessary at the 5-degree resolution. ------------------------------------------------------------------------ r1246 | foster | 2016-01-26 20:29:26 -0700 (Tue, 26 Jan 2016) | 9 lines tiegcm/trunk/tgcmrun: - Adjustments to tgcmrun to facilitate running benchmarks, see esp modifications to run scripts in tgcmrun/make_benchmarks. - Testing benchmark runs on yellowstone from /glade/p/hao/tgcm/ tiegcm_benchmarks. Will soon add processor run scripts. - Some runs override the default timestep at 2.5-deg, forcing 10-sec step for nov2003_weimer_imf, and a 20-sec step for junsol_smax, however this is hopefully temporary. ------------------------------------------------------------------------ r1244 | foster | 2016-01-21 13:19:26 -0700 (Thu, 21 Jan 2016) | 13 lines tiegcm/trunk: - Add option to use CTMT tidal perturbations for lbc of T,U,V,Z. This option is available only at the 2.5-deg resolution. To activate this option, set namelist parameter CTMT_NCFILE. At hao, CTMT_NCFILE=$TGCMDATA/tiegcm2.0/ctmt_tides.nc. This was merged from Astrid's tiegcm_icon code. - CTMT is "Climatological Tidal Model of the Thermosphere" http://myweb.clemson.edu/~joberhe/articles/ctmt.html (Clemson University, contact Jens Oberheide, Jeff Forbes) - Added print of namelist file to stdout (input_read.F). - Added HMF2,NMF2 to SECFLDS in default namelist input files, plus a few minor changes to default input files in tgcmrun. ------------------------------------------------------------------------ r1243 | foster | 2016-01-21 09:52:36 -0700 (Thu, 21 Jan 2016) | 10 lines tiegcm/trunk: - Increase O+ minimum from 1000 to 3000 (opmin in oplus.F). This is used in the spatial gaussian O+ floor when namelist enforce_opfloor=1 (the default). - This can alleviate numerical instability that develops in O+ near the equator at the top of the model in some cases, e.g., it allows the 2.5-deg June solstice solar max benchmark to run with step=30 rather than step=20, and may improve stability in other cases as well. ------------------------------------------------------------------------ r1241 | foster | 2016-01-19 10:40:52 -0700 (Tue, 19 Jan 2016) | 8 lines tiegcm/trunk: - Add mkdiag calls for diagnostic currents JE13D, JE23D, JQR, KQLAM, KQPHI, replacing addfld calls in current.F90. These are saved only if namelist CURRENT_KQ = 1 (default 0). - Made necessary modifications to diags.F for the above fields, and several minor changes to actual args, and the diags typedef. - Couple of minor changes in tgcmrun. ------------------------------------------------------------------------ r1240 | foster | 2016-01-18 10:57:57 -0700 (Mon, 18 Jan 2016) | 4 lines tiegcm/trunk/doc: - Continue updating release doc and user guide for v2.0 - Removed references to movies (*movie.rst) in doc/release. ------------------------------------------------------------------------ r1239 | foster | 2016-01-11 20:01:31 -0700 (Mon, 11 Jan 2016) | 21 lines tiegcm/trunk: - Changed the shapiro spatial smoothing constant (cons.F), in an effort to minimize the difference in results produced by runs at different timesteps (this was partially successful). - In previous revisions: shapiro constant = 3.e-2 (cons.F). In new revision: shapiro = dt/def * 3.e-3, where dt is the current timestep, and def is the default timestep at the current resolution (60 secs for 5-deg, 30 secs for 2.5-deg) - Also realized that fixing the tp/tr error (oplus.F) in a previous commit (r1236) has apparently increased the 2.5-deg model's sensitivity to certain solar storm conditions (i.e., it can more easily become numerically unstable). Evidence of this is that the November, 2003 storm case with the Weimer potential model, GPI and IMF/OMNI data, must now be run with a 10-second timestep, whereas previously it succeeded with a 20-second timestep (bz = -50 around day 324.5). - Force STEP=10 in benchmark run tiegcm_res2.5_nov2003_weimer_imf, and increase the wallclock limit to 2.5 hrs (tgcmrun/classes.py). - Minor change to stdout print statements from advance when model is driven by GPI and/or IMF data. ------------------------------------------------------------------------ r1238 | foster | 2016-01-07 13:58:38 -0700 (Thu, 07 Jan 2016) | 10 lines tiegcm/trunk: - Add two new options for background lower boundaries of T,U,V,Z, as per the tiegcm_icon branch of tiegcm: saber/hrdi or msis/hwm data. - New namelist list parameter BGRDDATA_NCFILE can have one of two values: tiegcm_res2.5_bgndlbc_hwm_msis.nc (for msis/hwm data), or tiegcm_res2.5_bgndlbc_saber_hrdi.nc (for saber/hrdi data) - This option is available only for the 2.5-deg resolution model, and is turned on only if one of these files is specified in the namelist file. - See also Astrid, and the icon branch: $SVN/tiegcm/branches/tiegcm_icon ------------------------------------------------------------------------ r1237 | foster | 2016-01-05 13:42:48 -0700 (Tue, 05 Jan 2016) | 6 lines tiegcm/trunk/tgcmrun: - Add hist_dir option to tgcmrun (directory in which to save output history files) - Update tgcmrun/tiegcm_ys_default.job - Couple of other minor modifications ------------------------------------------------------------------------ r1236 | foster | 2016-01-04 20:43:53 -0700 (Mon, 04 Jan 2016) | 26 lines tiegcm/trunk: - Correct long-standing "tptr" error in oplus.F, in which the reduced temperature passed to the ambipolar diffusion calculation (sub rrk) was incorrect near the beginning of the oplus module (oplus.F): Old Code: tpj = 0.5*(te+ti) ! wrong call rrk(..,tpj,..) New Code: tr = 0.5*(tn+ti) ! correct call rrk(..,tr,..) - From this point down in oplus.F, the code with and without the bugfix (i.e., this revision and the previous revision) is essentially the same (some array names have changed, or been reused, but the effect should be the same, including calculation and use of plasma temperature te+ti) - Commented (and removed some) addfld calls used in testing. - Fixing this error resulted in a 40% change in ambipolar diffusion DJ, but a smaller than expected change in the final O+, Ne, HMF2, NMF2, and TEC. Although the change in Ne varied with different runs (dates, data, etc), it was typically 8-15%, with a max of 20% at a few grid points. - If future testing is necessary, simply change the "tn" to "te" in the "New code" above (in oplus.F) to reverse the bugfix (i.e., put the bug back in for comparison runs). ------------------------------------------------------------------------ r1234 | foster | 2016-01-04 17:47:21 -0700 (Mon, 04 Jan 2016) | 4 lines tiegcm/trunk/doc: - Continued work updating the User's Guide (doc/userguide). - Started updating the release document (doc/release). ------------------------------------------------------------------------ r1233 | foster | 2015-12-29 17:46:43 -0700 (Tue, 29 Dec 2015) | 4 lines tiegcm/trunk/doc/userguide: - Deleted all images (*.png) from ../userguide/_static/images - These will be replaced by images from v2.0 benchmarks ------------------------------------------------------------------------ r1232 | foster | 2015-12-29 15:57:45 -0700 (Tue, 29 Dec 2015) | 8 lines tiegcm/trunk/doc/userguide: - Continuing update of the User Guide (diags.rst, dirstruct.rst, namelist.rst, etc) Several changes to static files (doc/userguide/_static) - Images in diags.rst and elsewhere will have to be updated after final v2.0 benchmarks are made. - Added README file to scripts directory. ------------------------------------------------------------------------ r1231 | foster | 2015-12-22 16:18:57 -0700 (Tue, 22 Dec 2015) | 7 lines tiegcm/trunk: - Update doc/README.download for v2.0. - Updated the ESMF library with intel compiler at hao. The lib was built in /home/tgcm/esmf/intel/esmf_6_3_0rp1, and this path is now specified in scripts/Make.intel_hao64. - Minor changes to tiegcm-ys.job ------------------------------------------------------------------------ r1230 | foster | 2015-12-22 15:58:28 -0700 (Tue, 22 Dec 2015) | 4 lines tiegcm/trunk/doc - Update the "QuickStart Procedure" chapter and related files in the User's Guide (doc/userguide/) for tiegcm2.0. ------------------------------------------------------------------------ r1228 | foster | 2015-12-21 16:12:50 -0700 (Mon, 21 Dec 2015) | 11 lines tiegcm/trunk/tgcmrun: - Add -compiler option to tgcmrun. The option has three valid values: 'intel', 'pgi', or 'gfort'. Default is 'intel'. The option is implemented by setting shell variable "make" to the appropriate Make.xxxx_hao64 file name in the job script. This command-line option is valid only on linux desktop platforms (not ys or super, where intel is assumed). - New file run_compilers to make test runs with different compilers at 5-deg and 2.5-deg resolutions. - Updated doc/perf.table with performance results. ------------------------------------------------------------------------ r1227 | foster | 2015-12-17 15:02:15 -0700 (Thu, 17 Dec 2015) | 15 lines tiegcm/trunk: - Follow on to previous commit r1226 - ESMF built with gfortran wants to use the command mpifort instead of mpif90 when compiling source files that use esmf, so gmake complains command not found. This was solved by adding a conditional in the Makefile to set ESMF_F90COMPILER to $(MPIF90) (set in Make.gfort_hao64) when compiler is gfortran. - Added performance estimates for linux desktops to perf.table, and moved perf.table from tgcmrun/ to doc/. - Modified some logic in tiegcm-linux.job re compilers, and updated tgcmrun/tiegcm_linux_default.job. - Minor documentation changes to Make.* files in scripts dir. - Minor tab-related changes in src/soldata.F to avoid warning by gfortran. ------------------------------------------------------------------------ r1226 | foster | 2015-12-17 11:59:25 -0700 (Thu, 17 Dec 2015) | 23 lines tiegcm/trunk: - Can now build the model with GNU fortran compiler gfortran on x86_64 Linux desktops. The compiler used was GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16). The mpif90 and mpirun commands are from this version of gfortran, and use openmpi. - New makefile Make.gfort_hao64 in the scripts directory for the gfortran build. Netcdf version 4.1.1 is linked with this build. - A new ESMF lib was built at hao with gfortran/openmpi to link to the gfortran compiled code, and is stored on the hao network at /home/tgcm/esmf/gfort/esmf_6_3_0rp1. - To build with GNU fortran, set make = Make.gfort_hao64 in the linux job script tiegcm-linux.job. - The model can now be built with Intel, PGI, or gfortran, using the corresponding makefile Make.xxx_hao64 in the scripts directory. Each of these builds link their own esmf lib in /home/tgcm/esmf. (This is on linux desktops only - always use the Intel compiler on the NCAR yellowstone machine.) Intel remains the default, since it consistently outperforms the other compilers. - Modifications to util.F: removed functions getprocessid and cputime, and removed preprocessor conditionals in function isystem. - Removed code from input.F referring to the long-ago deprecated namelist parameter "dispose" (hpss_path option is still available). ------------------------------------------------------------------------ r1223 | foster | 2015-12-08 10:24:48 -0700 (Tue, 08 Dec 2015) | 10 lines tiegcm/trunk: - Module load esmf-6.3.0r-ncdfio-mpi-O in tiegcm-ys.job. Its necessary to specify a specific version of ESMF, so esmf.mk can be included in the makefiles. - Modify default job scripts in tgcmrun to be compatable with r1220. - Modify classes.py in tgcmrun (correct days in Dec, 2006 storm run) - This revision has been tested with Intel on ys, and Intel and PGI on hao Linux desktop. - Update tgcmrun/perf.table w/ performance on linux desktop. ------------------------------------------------------------------------ r1222 | foster | 2015-12-07 16:21:40 -0700 (Mon, 07 Dec 2015) | 5 lines tiegcm/trunk: - Modify mpirun command in scripts/tiegcm-ys.job to be compatible with commit r1220 - Add include $(LIB_ESMF)/esmf.mk in Make.pgi_hao64 ------------------------------------------------------------------------ r1221 | foster | 2015-12-07 15:00:13 -0700 (Mon, 07 Dec 2015) | 3 lines tiegcm/trunk: - Remove scripts/Make.pgi_ys ------------------------------------------------------------------------ r1220 | foster | 2015-12-07 14:56:58 -0700 (Mon, 07 Dec 2015) | 37 lines tiegcm/trunk: - The model can now be built with the PGI compiler on 64-bit hao Linux desktops, using PGI 9.0-4 (64-bit target on x86-64 Linux -tp nehalem-64) - This was tested on "kokanee", which is running CENTOS 6.7 - To build with PGI, modify the job script to reset the $make shell var: "set make = Make.pgi_hao64" (Make.pgi_hao64 will be copied from the scripts directory) - At hao, the PGI-built model links the ESMF library in /home/tgcm/esmf/pgi-9.04 (which was built w/ same v9.04 PGI compiler) - The intel compiler produces faster executables than PGI, so Intel will remain the default. This option is an example for users who do not have access to the Intel compiler, and want to build with PGI. - Note this is only on the "Linux" desktop platform. This was NOT made available on yellowstone. On ys, users should always use the Intel compiler, as it produces much faster executables (plus PGI-built ESMF is not available on yellowstone). - There was a problem doing the namelist read because the PGI mpirun command apparently does not have the "-s all" option to pass stdin to all mpi tasks (this option is available in Intel mpirun). Without this option, the PGI mpirun launcher passes stdin to the root task only, resulting in slave tasks encountering EOF on unit 5. This was solved by passing the namelist input path as a single argument to the program, retrieving the path in the code with fortran intrinsic "getarg", and broadcasting the path to all tasks. Then all tasks can open, namelist read, and close, using an arbitrary logical unit. - The above solution works with both Intel and PGI (and presumably would work for other compilers as well). - Added source file input_read.F with sub inp_read, which is called by sub input in input.F. Sub inp_read was not put in input.F so as to avoid circular dependencies on use-association of mpi. - The PGI mpirun executable may require your login password for all but the root task before it will begin execution. This can be avoided by setting appropriate public/private keys (ask sysadmin for help). - Note that mklogs is not called if model is built with PGI, since PGI does not have the ability to label stdout lines w/ task id's. - Minor changes to util.F related to use-association of mpi. ------------------------------------------------------------------------ r1218 | foster | 2015-12-01 13:10:51 -0700 (Tue, 01 Dec 2015) | 4 lines tiegcm/trunk/tgcmrun: - Add "-s all" option to mpirun command in tgcmrun/tiegcm_linux_default.job. ------------------------------------------------------------------------ r1215 | foster | 2015-11-25 11:20:34 -0700 (Wed, 25 Nov 2015) | 3 lines tiegcm/trunk/tgcmrun/make_benchmarks: - Add gettiming script, on which run_timing is dependent. ------------------------------------------------------------------------ r1214 | foster | 2015-11-25 11:16:58 -0700 (Wed, 25 Nov 2015) | 11 lines tiegcm/trunk: - Further development of the tgcmrun code, with the addition of tgcmrun/make_benchmarks, which contains shell scripts that make multiple tgcmrun commands for benchmark runs. Also added script run_timing to obtain timing information from model stdout. - Add perf.table to tgcmrun directory - estimates of model performance and timing at default processor counts. - Minor changes to stdout in mpi.F and tgcm.F to facilitate collection of timing information. ------------------------------------------------------------------------ r1213 | foster | 2015-11-23 15:13:25 -0700 (Mon, 23 Nov 2015) | 25 lines tiegcm/trunk: - From this commit on, namelist input files cannot use semicolons ';' for the comment character. Instead, all comments in the namelist file must begin with a bang '!'. - This change is compliant with the fortran standard (the semicolon comment was implemented before the standard allowed namelist comments) - Removed code in the model that stripped semicolons comments from the namelist file before reading (inp_read.F). This code was causing problems with MPI tasks when built with certain compilers (notably PGI). The namelist read is now in subroutine inp_read in input.F. - If a semicolon comment is in the namelist file, the model will stop with an error pointing to the offending comment. - Added a python script "change_nlcomment" in the scripts directory to assist users in changing their (possibly many) namelist input files. Type "change_nlcomment -h" in the scripts directory for usage and help. (For people with hao logins, this command has been added to $TGCMROOT/bin) - I had to add the "-s all" option to the mpirun command in the linux job script tiegcm-linux.job for this to work on hao desktop jobs with multiple MPI tasks. So DO NOT use an old tiegcm-linux.job script. If you do, the model will stop with "EOF on unit 5" errors. Everything works fine on yellowstone with no changes to tiegcm-ys.job. - Note that a namelist file with bang '!' comments will already work with old versions of the model, so you can use change_nlcomments now, no matter which version you are using. ------------------------------------------------------------------------ r1212 | foster | 2015-11-14 11:36:02 -0700 (Sat, 14 Nov 2015) | 8 lines tiegcm/trunk: - Rewrote scripts/mklogs in python. The old perl mklogs and mklogs.ys were dropping lines from per-task stdout files. The new mklogs works on ys (python 2.7.7) and hao linux desktop (python 2.4.3). - Wrote scripts/rmbinchars (also python) to remove non-ascii characters from the stdout file. This is called before mklogs in scripts/*.job. - Made the corresponding changes to tgcmrun/*default.job. ------------------------------------------------------------------------ r1211 | foster | 2015-11-11 15:19:28 -0700 (Wed, 11 Nov 2015) | 3 lines tiegcm/trunk/tgcmrun: - Minor modifications to classes.py ------------------------------------------------------------------------ r1210 | foster | 2015-11-11 13:59:18 -0700 (Wed, 11 Nov 2015) | 35 lines tiegcm/trunk: - Introducing tgcmrun, a program that generates selected benchmark and test runs of the model. The Python code is in tiegcm/trunk/tgcmrun. The user can choose from a list of 16 such runs (seasons, storms, performance, climatology, etc) at either 5.0 or 2.5 degree model resolution. - To run the program interactively, go to the tgcmrun directory of the model root directory, and type "tgcmrun". To get a usage statement and description, type "tgcmrun -h". It will be easiest if you set the four described environment variables before running the program. - Tgcmrun will accept command-line arguments such that it can be run multiple times from a shell script. This is described in the help message. There are several example shell scripts (run_*) in the tgcmrun directory that make multiple runs of tgcmrun in different categories. - For people that have hao logins, I have made tgcmrun available in $TGCMROOT/bin/tgcmrun, so if you add that directory to your $path environment variable, you can run the program from any directory (but the program will still need to access default namelist and job scripts in the tgcmrun directory of your checked-out model root). - Tgcmrun is written to make runs of either tiegcm or timegcm, however I have not yet committed timegcm/trunk/tgcmrun. - WARNING: this code has only been tested on NCAR yellowstone, which is currently running Python 2.7.7. The code may be sensitive to version changes of python, and may not work on generic linux desktops. - The "tests" directory under tiegcm/trunk has been removed (this was a collection of input and job scripts that were "hardwired" for the tiegcm1.95 benchmark runs). - Also in this commit, I have removed model code referencing certain long deprecated namelist inputs (date,calday,tideann,save,secsave,tempdir, magvol,dispose, etc) - Some added/removed files to/from the scripts directory. - This is not a results-changing commit. You should be able to update your svn working copies of tiegcm/trunk, and get identical model results using the same job script and namelist input files. ------------------------------------------------------------------------ r1205 | foster | 2015-10-06 13:09:23 -0600 (Tue, 06 Oct 2015) | 10 lines tiegcm/trunk: - Fixed long-standing bug in which ESMF stopped in FieldRegridStore if running with a single MPI task (nproc=1). The error occurred because of a conditional when creating the geographic source grid: when excluding periodic points from the geographic source grid with a single processor, the number of longitudes must be reduced by four, instead of reducing it by two on each end (east and west) when nproc > 1. - Included "1" in valid_pecounts (mpi.F) - Added ESMF_Finalize call to sub shutdown in util.F. ------------------------------------------------------------------------ r1198 | foster | 2015-09-02 10:42:46 -0600 (Wed, 02 Sep 2015) | 12 lines tiegcm/trunk: - Restore OP_NM (O+ at time n-1) to primary histories. Saving this prognostic field to source histories at the previous timestep was at some point inadvertently discontinued, probably when helium and argon were added to the model. Restoring this field to primary histories removes apparent oscillation of O+ and NE at the beginning of initial and continuation runs. - Note that all tiegcm1.95 benchmark and steady-state runs *did* include OP_NM on primary histories, so can still be used for model startup. - Minor unrelated changes to diags.F. ------------------------------------------------------------------------ r1189 | foster | 2015-07-07 11:22:31 -0600 (Tue, 07 Jul 2015) | 11 lines tiegcm/trunk: - Correct the top boundary of total density diagnostic "rho" in dt.F to use expzmid_inv instead of expzmid. Rho is saved as "DEN" (g/cm3) by the diagnostics package (diags.F). This correction changed the top level (nlevp1) of DEN/rho by almost 40% (all other levels are correct). - Note that this does not affect the final update of TN (or any other field), because the top midpoint level (k=nlevp1=lev1, zp=7.25) is ignored (set to spval). - Thanks to Karthik for pointing this out. ------------------------------------------------------------------------ r1186 | foster | 2015-06-29 15:58:05 -0600 (Mon, 29 Jun 2015) | 9 lines tiegcm/trunk: - Arguments glat and alt to subroutine feldg in apex.F90 are declared intent(inout) instead of intent(out). This is for the PGI compiler, which assumed the vars were undefined on entry, whereas the Intel compiler was apparently using the input values despite the intent(out) declaration. - Thanks to Jon Wolfe of Astraspace for finding this bug when building the model with PGI. ------------------------------------------------------------------------ r1180 | foster | 2015-05-19 10:00:54 -0600 (Tue, 19 May 2015) | 7 lines tiegcm/trunk: - Correct extrapolation of ZG to top interface level in addiag.F - Correct extrapolation of ZGMID to top midpoint level in diags.F - Change levels dimension of WN from 'lev' to 'ilev' on secondary histories (diags.F). - Thanks to Eric Sutton for pointing out these corrections. ------------------------------------------------------------------------ r1170 | foster | 2015-04-07 12:38:42 -0600 (Tue, 07 Apr 2015) | 13 lines tiegcm/trunk: - This is to back out the accidental r1161 commit to tiegcm/trunk, which was made on 3/18/15. (The r1161 commit should have been to the branch tiegcm/branches/tiegcm_icon) - To do this, trunk revision r1152 was checked out (the revision before the accidental r1161 commit), and the 6 files that were modified by r1161 were copied to a working copy of the most recent revision of the trunk (which included mpi.F of r1169). Also, the new file bgrd_data.F (added by the r1161 commit), was removed. This reverses the changes made by the accidental r1161 commit. - Note that the r1169 trunk revision will build and execute without a problem, despite the accidental modifications made by r1161. ------------------------------------------------------------------------ r1169 | foster | 2015-04-07 11:29:26 -0600 (Tue, 07 Apr 2015) | 13 lines tiegcm/trunk: - Allocate buffer arrays for subdomains rather than globally in sub mp_gather_pdyn (mpi.F). This reduces memory use, especially in the receive buffer when larger processor counts are used. - A convenient side effect of this change is a 4.4% speedup at 5-deg resolution using 16 processors, and an 8.5% speedup at 2.5-deg using 64 processors. - There were ZERO DIFFERENCES IN RESULTS after one-day runs of the original and modified codes at both 5-deg and 2.5-deg resolutions. - Users are encouraged to update their svn working copies of the trunk. - Thanks to Chris Fischer for pointing this out in the WACCM-X edynamo code (different subroutine). ------------------------------------------------------------------------ r1161 | maute | 2015-03-18 20:44:12 -0600 (Wed, 18 Mar 2015) | 7 lines tiegcm/branches/tiegcm_icon am 3/18/2015 * added the code to deal with background from a file (one option based on SABER/WINDII/HRDI data) * compiles but not verified results in any way ------------------------------------------------------------------------ r1152 | fischer | 2015-03-03 11:37:39 -0700 (Tue, 03 Mar 2015) | 26 lines tiegcm/trunk: - The purpose of this commit is to get CMIT working with the code changes for the parallel dynamo. These code changes are only used when INTERCOMM or CISMAH is defined. - The calculations for zigm1 were parallelized in pdynamo. zigm1 is only calculated when INTERCOMM or CISMAH are defined. With the extra field zigm1, mxnf in mpi.F and nf2d in pdynamo.F, need to be set to 7. - Added subroutines and arrays needed to convert zigm1, zigm2, and nsrhs from a 2d magnetic to geographic coordinates using esmf regridding. - The subroutine cism_ucurrent was parallelized so that nsrhs can be calculated again. The halos for rim1 and rim2 are updated just before the call to cism_ucurrent. - Added back call to cism_pot2mag, subroutine cism_pot2mag was moved to pdynamo.F from cism_coupling.F to avoid a circular dependency when building. cism_pot2mag uses subroutine geo2mag that works on arrays that are global on all processes, this is the way these arrays are coming from CMIT. Since the arrays are global, esmf regridding isn't needed. - Made changes to cism_coupling to handle distribute arrays gzigm1, gzigm2, and gnsrhs. These arrays are gathered to one process and prepared for export to CMIT. - Fix the order that IC_Setprogname and mp_init are called. IC_Setprogname is suppose to be called before mp_init. - Fix minor build problem with character(len=256) for filename in subroutine rmnamelistcomments in util.F ------------------------------------------------------------------------ r1147 | foster | 2015-02-12 13:37:52 -0700 (Thu, 12 Feb 2015) | 12 lines tiegcm/trunk: - Moved 2d auroral diagnostics calls (CUSP,DRIZZLE,ALFA,NFLUX,EFLUX) to sub dynamics after the lat loop in which aurora is called (dependent on iaurora flag > 0). (They do not work at the bottom of sub aurora because of a return statement dependent on latitude near the top of the subroutine). - Note that CUSP=cusp2d*ec, and DRIZZLE=drzl2d*ed. Changed units accordingly in diags.F. - Removed commented addfld calls for these fields in advance.F. - Added the 5 new field names to the list of available diagnostics in the default namelist input files (scripts directory). ------------------------------------------------------------------------ r1145 | foster | 2015-02-11 11:30:36 -0700 (Wed, 11 Feb 2015) | 9 lines tiegcm/trunk: - Add five 2d fields from aurora to the diags package: CUSP, DRIZZLE, ALFA, NFLUX, EFLUX. These names can be added to namelist SECFLDS to save them to secondary histories. See diags.F and aurora.F. - Note that this is preliminary, pending investigation of units and the definition of arrays in aurora.F. - These fields, or similiar, will be used in the glow model. ------------------------------------------------------------------------ r1125 | foster | 2015-01-28 15:31:56 -0700 (Wed, 28 Jan 2015) | 12 lines tiegcm/trunk: - The following comments are from Eric Sutton (see correspondence 1/22/15): - A temperature dependent variation was applied to the coefficients describing diffusion of helium with the other major species (comp.F). In previous versions, the temperature and pressure dependence of diffusion coefficients were normalized by assuming a variation of the form (p_00/p)*(T/T_00)^1.75. In the case of helium, the exponent 1.75 is not realistic, requiring a correction factor of (T/T_00)^(1.75-s), where s is the appropriate exponent, to be multiplied to the normalized diffusion coefficients (phi's) describing He-O2, He-O, and He-N2 diffusion. The correction factor is generally on the order of 5%. ------------------------------------------------------------------------ r1123 | foster | 2015-01-28 14:40:20 -0700 (Wed, 28 Jan 2015) | 5 lines tiegcm/trunk: - On Stan's recommendation, changed ZMID from the previous commit to ZGMID, i.e., geometric height on midpoints instead of geopotential height. ------------------------------------------------------------------------ r1122 | foster | 2015-01-28 14:01:00 -0700 (Wed, 28 Jan 2015) | 7 lines tiegcm/trunk: - Add geopotential on midpoints to the diagnostics package (diags.F). The field name is ZMID, so to save this field on secondary histories, simply add 'ZMID' to namelist SECFLDS. See sub mkdiag_ZMID in diags.F. This is called from addiag.F. This was requested by Gang Lu, to make it easier to use IDV with tiegcm history files. ------------------------------------------------------------------------ r1120 | maute | 2015-01-28 12:57:39 -0700 (Wed, 28 Jan 2015) | 7 lines maute 1/28/2014 * update IGRF to IGRF12 released Dec. 2014 coefficients for 2010 are finalized coefficient for 2015 add and secular variation updated ------------------------------------------------------------------------ r1119 | foster | 2015-01-21 16:12:41 -0700 (Wed, 21 Jan 2015) | 22 lines tiegcm/trunk (helium) - Modifications to helium calculation recommended by Eric Sutton,during his visit to hao this week (see also email correspondence in Nov, 2014): - Deleted data array lpmn which contained (m^2/sin(theta)-n*(n+1))*pmn. The m^2/sin(theta) term is not needed. Therefore, I replaced lpmn with pmn (the normalized associated legendre polynomials) and added the latitude-independent term -n*(n+1) to the synthesis loop within laplacian.F. (src/coefs_sres.F and src/coef0_dres.F) (makes this commit a large change set) - Added compiler (preprocessor) #IF statement and parameter 'truncdeg' to define the degree of truncation for the spectral approximation, which depends on grid resolution and upper boundary pressure level. Set truncdeg=4 for default (5-deg) resolution, and truncdeg=8 for double (2.5-deg) resolution. - Minor updates to comments in laplacian.F, comp.F, he_coefs_sres.F, and he_coef0_dres.F. - The 'Fit' and 'Synthesis' sections of laplacian.F each now contain commented loops (just after the main loops) that are helpful when debugging various levels of truncation and testing for stability. - Removed unneeded z argument in comp.F (and removed it from the call to comp in dynamics.F). - Left addfld calls for FLX_HE and FLX_ARG uncommented in comp.F (after call to laplacian). ------------------------------------------------------------------------ r1109 | foster | 2014-12-30 15:20:56 -0700 (Tue, 30 Dec 2014) | 32 lines tiegcm/trunk: - New minimum enforced on the O+ ion. This "oplus floor" was devised by Stan as the product of two gaussians, and can be applied globally It has greatly increased the model's "robustness", at least preventing crashes when O+ is too small, resulting in spiking electron temperature. This reduces the need to restart the model with shorter timesteps, esp during storm conditions. - New namelist input parameter "enforce_opfloor" is a 0/1 toggle to turn off/on the oplus floor. The default is enforce_opfloor=1. This namelist parameter is not for the casual user, so is not shown in the default input files (i.e., you have to know its available to turn opfloor off). - This code was tested for storm cases in 2003 (Halloween), and 2006 (AGU storm). Runs were made on ys with and without the opfloor, at both resolutions. Runs with enforce_opfloor=1 ran consistently longer without crashing than with enforce_opfloor=0, especially at double-resolution, and especially during the 2006 storm runs. Differences in model results overall between opfloor=0 and opfloor=1 appear to be quite small, except in locally targeted regions where it is needed. Diffs may be larger in the 2006 run than in the 2003 run, but are generally still acceptable. - The above tests indicate that default timesteps should be STEP=60 for 5.0-deg resolution, and STEP=30 for 2.5-deg resolution. Changed default input files in scripts directory to use these defaults, with comments (the model can often be run with step 120 at sres, and 60 at dres during quiet or steady-state conditions). - Added comments near #BSUB -n specs in scripts/timegcm-ys.job with performance hints useful for setting wall-clock limits on runs. - This replaces an earlier minimum on O+, that was spatially dependent, see r1057, committed on 6/4/14 (also see r1047 commit log). This old minimum was causing crashes apparently at the spatial boundaries of the minimum, so code between r1057 and this revision may have trouble with O+, esp during storm conditions. ------------------------------------------------------------------------ r1074 | foster | 2014-08-14 11:58:41 -0600 (Thu, 14 Aug 2014) | 11 lines tiegcm/trunk: - Add argon as a minor species. This is similar to the r1069 commit which added argon to the timegcm trunk. New source file comp_ar.F. - As in timegcm, global mean column values from glbmean model are used to initialize argon when it is not available on the source history. - Note that tiegcm does not calculate horizontal diffusion for minor species, like timegcm does. - Test runs have been made at both 5.0-deg and 2.5-deg resolutions, but further testing and validation of argon should be done with this code before the next major release (v2.0). ------------------------------------------------------------------------ r1066 | foster | 2014-08-05 11:04:53 -0600 (Tue, 05 Aug 2014) | 14 lines tiegcm/trunk: - Setting the geographic task table such that tasks east of the global domain have the same id as westernmost tasks, and vice-versa, has been creating problems at longitude zero, only when ntask==4 (see "Tasks are periodic in longitude" comment in sub distribute_geo (mpi.F). This bug was especially visible in maps of OMEGA at higher levels. Commenting these two lines solved the problem at all processor counts and both resolutions. For this reason, runs with nproc=4 using revisions r1022 (committed 3/17/14) to r1061 (committed 6/23/14) should be avoided. - Thanks to Astrid for pointing out this bug. - Note that task ids *are* set to be periodic in distribute_mag (mpi.F). - Some minor changes in advance and oplus related to setting N2 halos. - Couple of minor changes in scripts directory. ------------------------------------------------------------------------ r1065 | foster | 2014-07-22 10:10:37 -0600 (Tue, 22 Jul 2014) | 7 lines tiegcm/trunk/doc/userguide: - Fixed link to "Release Documentation" in the Userguide on the page titled "Benchmark Test Runs of v1.95" (fix made in tests.rst). - Rebuilt the html user guide, and copied the html directory to webpub:/web/hao/modeling/tgcm/doc/userguide, so the fix is activated in the userguide on the tgcm website. ------------------------------------------------------------------------ r1061 | foster | 2014-06-23 11:03:51 -0600 (Mon, 23 Jun 2014) | 11 lines tiegcm/trunk: - Set HE lower boundary (mmr) pshelb = 0.1154E-5 (see lbc.F) (in timegcm, pshelb=7.18e-7). Pshelb is used in subs bndef and bndcmp (lbc.F) to set the lower boundary (gg, fb, etc). If a history is read that does NOT have helium, then the 3d (global and vertical) HE and HE_NM are initialized to pshelb (see rdsource.F). This helps "prime" helium on its approach to steady state without a starting field from the history. Continuation runs of course read helium from the given history from which to continue. - A 5-deg run of tiegcm from March equinox solar minimum conditions, showed that it can take 80 days for helium to reach approximate steady state, starting from global pshelb. - I will be making a similar commit in the timegcm trunk. ------------------------------------------------------------------------ r1060 | foster | 2014-06-16 11:19:05 -0600 (Mon, 16 Jun 2014) | 9 lines tiegcm/trunk: - Pass helium to minor through comp_no and comp_n4s, so it can be included in xmbari, xmbar_kh, etc. See minor.F. - To be completely correct and consistent, we will also have to add pshe, dhedz (analogous to pso2,do2dz, etc), and make alfa 3x3 instead of 2x2 so minor species diffusion through the major species will include helium (see ex(k,i)). See "btf 6/16/14" comment in minor.F. I am working with Wenbin on this. ------------------------------------------------------------------------ r1058 | foster | 2014-06-05 13:26:13 -0600 (Thu, 05 Jun 2014) | 8 lines tiegcm/trunk: - Remove glat,glon,zpmid,zpint from the init module, so now these arrays are only in the params module (they are set by sub set_geogrid (cons.F), which is called from tgcm.F). These arrays became redundant (i.e., they were in both params and init) when the parallel dynamo was implemented. - This does not change model results. ------------------------------------------------------------------------ r1057 | foster | 2014-06-04 12:14:18 -0600 (Wed, 04 Jun 2014) | 14 lines tiegcm/trunk: - Enforce O+ minimum of 1.e3 between latitudes +/- 15 deg geographic, and above zp +1. See opmin settings and implementation in oplus.F. Write statement to stdout reports the opmin settings in the first timestep. To see when and where the O+ minimum is applied, uncomment the write statement inside the loop in which the minimum is enforced. - The O+ minimum usually needs to be applied only during storm conditions, e.g., the December, 2006 "AGU" storm. - Added function fslt in util.F to calculate solar local time from given longitude and ut (this function will also optionally calculate ut from given slt and lon, or calculate lon from given slt and ut). This is used in the above-mentioned print statement when opmin is enforced. - See also discussion of O+ minimum in commit notes for revision r1047. ------------------------------------------------------------------------ r1056 | foster | 2014-06-02 15:09:25 -0600 (Mon, 02 Jun 2014) | 11 lines tiegcm/trunk: - Kp is now written to the histories whether it was from the namelist input file, or read from gpi_ncfile (previously it was written to the histories only when provided by namelist). In a run in which both namelist Kp and gpi_ncfile were specified (this is allowed when only f10.7 is used from the gpi_ncfile), then the namelist Kp takes precedence. - An additional text attribute called "data_source" is added to the definition of Kp on the history file to indicate where the Kp came from. This will be either "namelist" or "gpi_ncfile". - Removed a stdout print statement re opmin from oplus.F. ------------------------------------------------------------------------ r1047 | foster | 2014-05-08 15:01:35 -0600 (Thu, 08 May 2014) | 25 lines tiegcm/trunk: - Helium at 2.5-degree resolution is now working, thanks to Eric Sutton for providing laplacian coefficients for this resolution. See new source files he_coef0_dres.F (lpmn), and he_coef1_dres.F (zmn). Also changed the name of coefficients file for 5-deg resolution from sh_coef.F to he_coefs_sres.F. These three files are modules with data statements dependent on resolution as determined by cpp #if conditionals. They are use-associated by laplacian.F. - Set calc_helium namelist flag to 1 for both resolution default namelist input files in the scripts directory (see r1042). Removed trap to shutdown if calc_helium=1 at 2.5-degree resolution. - When testing this code with simulations of the December, 2006 "AGU" storm, we noticed a problem with very low electron densities (and O+) near the magnetic equator around 4 am, and consequent unrealistic high electron densities. This was causing numerical instability in the O+ ambipolar diffusion calculation (field DJ output of sub rrk was producing a few NaNs, but not causing seg-fault). After discussions with Alan and Wenbin, we imposed a minimum on O+ of 100 particles between +/- 15 degrees latitude, and at zp pressure level 2.5 and above. See opmin in oplus.F. This alleviated the symptoms somewhat, but the root problem remains, and has probably been in the model for some time (it does not appear to be directly related to the new helium calculations). The aim group discussed this in a meeting today (5/8/14), and there will surely be modifications to this bandaid fix in the near future. See also Wenbin's comments in commit notes for r1010. ------------------------------------------------------------------------ r1044 | foster | 2014-04-29 15:19:39 -0600 (Tue, 29 Apr 2014) | 7 lines tiegcm/trunk: - Call colath only from advance, regardless of potential model. Previously it was called separately by heelis, weimer, and in the case of no potential model. Removed sub colath from heelis.F, and added new source file colath.F. - Moved pfrac array (output by colath) from heelis to pdynamo module. ------------------------------------------------------------------------ r1043 | foster | 2014-04-29 13:48:43 -0600 (Tue, 29 Apr 2014) | 5 lines tiegcm/trunk: - Uncomment trap to stop when calc_helium=1 with 2.5-deg resolution (input.F). This was an error in the previous commit (r1042). - Very minor changes in allocdata.F and comp.F. ------------------------------------------------------------------------ r1042 | foster | 2014-04-29 11:08:44 -0600 (Tue, 29 Apr 2014) | 35 lines tiegcm/trunk: - In the src directory: * Realized that laplacian coefficients for the helium solver are not available for the 2.5-degree resolution. Source file sh_coef.F provides coefficients only for the 5-degree resolution. I have added a new namelist parameter "calc_helium". If calc_helium=0, then helium will be zeroed out, whereas if calc_helium=1, helium will be calculated. If the resolution is set to 2.5-deg and calc_helium=1, the code will stop with an error message. So the model can be run with calc_helium=1 at 5-deg res, or with calc_helium=0 at both resolutions. See input.F, comp.F, and nchist.F. I have sent email to Eric Sutton asking for information about how the coefficients are calculated. * Set initial skip=0 in 3 subroutines in wei05sc.F to avoid runtime errors when Intel debug flags are set (variable used before being set). * Minor changes to stdout formats in advance.F, allocdata.F, and init.F to avoid runtime errors when Intel debug flags are set. - In the scripts directory: * Modify mklogs.ys so it does not exclude colons ':' from stdout lines in the task-specific stdout files output by mklogs.ys. (this was also fixed in $TGCMROOT/bin/mklogs.ys on yellowstone). * Perl script mkjobscript constructs job scripts given deviations from the default. This is called from setup scripts in the tests directory. (currently, this only makes job scripts for lsf/ys jobs) * tiegcm.job.template is used by mkjobscript. * Minor modifications to perl script mknamelist, which constructs namelist input files. This is called from setup scripts in the tests directory, and from the job script to generate default namelist files if necessary. * Minor modifications to default namelist files. - In the tests/control directory: * Replaced job and input files with scripts to make a series of namelist input and job scripts for the seasonal smin/smax control runs. See make_inputs, make_jobs, and submit.jobs. The first two call mknamelist and mkjobscript in the scripts directory. Output of these scripts are in the directory tests/control/example. This is an effort to further automate certain benchmark/test runs. Other directories in tests have not been updated yet. ------------------------------------------------------------------------ r1035 | foster | 2014-04-14 16:17:24 -0600 (Mon, 14 Apr 2014) | 11 lines tiegcm/trunk: - Changed tgcm_version (params.F) from 'tiegcm1.95' to 'tiegcm_trunk' - Changed ESMF library following upgrade of yellowstone (April 7-13, 2014) from esmf-6.1.1-ncdfio-mpi-O to esmf-6.3.0r-ncdfio-mpi-O (see module load command in scripts/tiegcm-ys.job) - For convenience, users may also want to add (or change to) the following line in their .tcshrc file on yellowstone: module load esmf esmf-6.3.0r-ncdfio-mpi-O - Several changes to scripts/mknamelist, and consequent modification of default namelist input files in the scripts directory. ------------------------------------------------------------------------ r1027 | foster | 2014-03-27 14:25:25 -0600 (Thu, 27 Mar 2014) | 39 lines tiegcm/trunk: - Merge the parallel dynamo code to the tiegcm trunk. This is much the same as the parallel dynamo in the timegcm trunk, except that the lower boundary of the ionosphere is considered to be at 90 km (zp -8.5), whereas the lower boundary of the neutral atmos in the model is 97 km (zp -7.0). This is implemented in the code with k-index mlev0 being 3 levels below the tiegcm lb for the 5-deg resolution (mlev0=-2), or 6 levels below the lb for 2.5-deg resolution (mlev0=-5). - Differences between this code and the previous revision with the old serial dynamo are non-zero, but are generally small, and do not tend to increase with model time. Neutral temperature and composition differences are usually < 1%, whereas diffs of ion drifts, Ne, electric field and electric potential can reach a few percent. Differences are somewhat higher for the 2.5-degree model (possibly up to 10% in some cases). I am not convinced that this is the final word on the parallel dynamo in tiegcm, but it does appear to be stable, so I am committing it as a waypoint toward a tiegcm-2.0 release. - Performance improvement is about 36.4% at 5-deg resolution (0.07 vs 0.11 WC secs per timestep with 16 pes on ys), and about 46.7% at 2.5-deg resolution (.16 vs .30 secs per timestep with 64 pes on ys). With the default timestep of 2-minutes for the 5-deg model, a full-year run could be completed in about 5.1 WC hours, and with the default timestep of 1-minute for the 2.5-deg model, a full-year run would take about 24 hours. (For quiet-time, the 2.5-deg model can be run with a 2-minute step, in which case a full-year run could be completed in about 12 hours). Note that reading and interpolating data files at every timestep (gpi, imf, etc) can slow the model down slightly (e.g., secs/step of 2.5-deg model may increase from 0.16 to 0.17 or 0.18). - The following source files have been added: pdynamo.F, esmf.F, current.F90, and timing_mpi.F. - The following source files have been deleted: colath.F, current.F, highlatpoten.F, efield.F, wei01gcm.F, and dynamo.F. - Weimer01 is no longer available, and has been superceded by Weimer05. - As with timegcm_pdyn, this code requires that the ESMF (Earth System Modeling Framework) library be linked for converting between geographic and geomagnetic grids (see esmf.F). For linking with the Intel/ifort compiler, ESMF version esmf-6.1.1-ncdfio-mpi-O is linked on ys, and ESMF_5_2_0rp1_beta_snapshot_21 is used at hao. - At this time this code is being built only with the Intel/ifort compiler on yellowstone and at hao, due to complications building and linking the ESMF lib and the model with the PGI compiler. ------------------------------------------------------------------------ r1023 | foster | 2014-03-17 15:55:19 -0600 (Mon, 17 Mar 2014) | 8 lines tiegcm/trunk: - Change phid from 0 back to 2.e-8 in oplus.F. - Apparently phid was changed to zero for testing purposes in the tiegcm_he branch, and this was inadvertently propogated to the trunk when the branch was merged to the trunk by commit r1013. - For this reason, please avoid using tiegcm/trunk from r1013 to r1022 (the trunk was changed in r1013, r1014, and r1022). ------------------------------------------------------------------------ r1022 | foster | 2014-03-13 14:24:16 -0600 (Thu, 13 Mar 2014) | 12 lines tiegcm/trunk: - Replace calls to mp_bndlons_f3d and mp_bndlats_f3d in advance for N2 with new sub mp_geo_halos (mpi.F), called from oplus.F. This sets halo points for 3d field N2 prior to rrk calls in oplus.F for ambipolar diffusion. Sub mp_bndlats_f3d was removed from mpi.F, as it is no longer needed. - Also replaced call to mp_polelats_f3d for N2 in advance with a similar call in oplus (this is the only place it is called). Some minor changes to sub mp_polelats_f3d (mpi.F). - These changes were shown to produce identical results with the previous revision after a 1-day run (all zero differences). ------------------------------------------------------------------------ r1014 | foster | 2014-02-03 15:56:17 -0700 (Mon, 03 Feb 2014) | 4 lines tiegcm/trunk: - Remove four pdf files from the doc directory that were inadvertently included in the previous merge from the tiegcm_he branch. ------------------------------------------------------------------------ r1013 | foster | 2014-02-03 14:57:40 -0700 (Mon, 03 Feb 2014) | 20 lines tiegcm/trunk: - Merge the tiegcm branch tiegcm_he to the trunk. This was done with the following command, executed from an up-to-date working copy of the trunk: svn merge $SVN/tiegcm/trunk $SVN/tiegcm/branches/tiegcm_he There were no conflicts with this merge, which follows a recent merge to update the helium branch from the trunk (see -r1012). - This adds helium 'HE' as a prognostic in the model, so it is included in primary histories, along with helium at the previous timestep 'HE_NM'. The code to solve for helium was provided by Eric Sutton, and parallelized by myself. See especially new source files laplacian.F, and sh_coef.F. All calculations of neutral density, and N2 were modified appropriately. N2 was added as a 3d diagnostic. - Many of Eric's comments ("Added by EKS", "Modified by EKS", etc) were removed for this commit to the trunk (all of them were retained in the tiegcm_he branch). - For more details regarding the addition of helium in the model, please see the svn commit log for $SVN/tiegcm/branches/tiegcm_he. ------------------------------------------------------------------------ r1011 | foster | 2014-02-03 10:25:20 -0700 (Mon, 03 Feb 2014) | 10 lines tiegcm/trunk: - Barb Emery's fix to sub interpol_quad in wei05sc.F: Sub interpol_quad in wei05sc.F is called when inside=1 or radii=nx assures epot is non-zero near the pole (85.8mlat,0MLT) and the boundary (bndryfit). - Sub getgpi (gpi.F): Rarely, kp can go negative when interpolating from the gpi data file to current model time. This was seen to occur around day 30 of 2013, where the interpolated kp was about -1.e-15. This change adds a trap in sub getgpi to set kp to zero if it is < 0 following interpolation. ------------------------------------------------------------------------ r1010 | foster | 2014-01-30 17:33:46 -0700 (Thu, 30 Jan 2014) | 43 lines tiegcm/trunk - Added namelist parameter JOULEFAC, which has previously been a parameter set in qjoule.F. This is a convenience for developers, and will not be included in the default input files. The default is 1.5. - Note that if tiegcm is coupled with CMIT, joulefac is hardwired to 1.0 regardless of the value of the namelist parameter (this can easily be changed if Mike, et.al. want to use the namelist parameter when coupled with CMIT). - Wenbin's modifications to filtering for the 2.5-resolution model, as per his comments below: Subroutine filter2, which is called by oplus.F and minor.F, has been modified to make the 2.5 degree version of the TIEGCM numerically stable. Around the two poles the model grid becomes much smaller in the zonal direction. This causes numerical instability when plasma and neutral flow speeds are large. An FFT filter is thus applied. One surprise occurs near the magnetic equator where 2.5-degree TIEGCM is also numerically unstable at the topside of the ionosphere. This is most likely caused by the large ambipolar diffusive velocity in the model vertical direction that also violates the numerical stability condition. Therefore, filtering is also applied in the lower latitudes to ensure the integrity of the model solution there. Two modifications are done so far: 1) An extra parameter 'kutj', which is the latitude index of the grid, is added to the intended in Args. This allows the filter to know which latitude the fft is applied. 2) An array of kut2 is added to set up the latitude-dependent cutoff wavenumber for the filter. Parameters (O+ density and minor species mixing ratio/density) are strongly filtered near the poles and the equator, less toward the middle latitudes. The filter is also modified so that it does not over filter at high latitudes. To ensure numerical stability, the model time step has also to be adjusted although the FFT filter is applied. For perpetual runs under geomagnetically quiet conditions, a model time step of 60 seconds is ok. However, for scientific studies of real geophysical conditions, a 30-second time step is recommended. It is also highly desirable to check O+ and electron density profiles (especially the topside close to the model top boundary) near the poles and the equator to make sure that the model solution is good. For geomagnetic storms with Kp large than 6, the model time step should be 15 seconds or less. Wenbin ------------------------------------------------------------------------ r986 | maute | 2013-10-09 15:21:35 -0600 (Wed, 09 Oct 2013) | 10 lines tiegcm/trunk: Fix error in sub mkgswm (gswm.F) for UT interpolation between 23 UT and 0 UT (instead of 0UT the code used 1 UT before) of GSWM input files. Differences after 10 days are about: Neutral temperature varies by +/-1K in E-region, higher up less. Zonal wind in the E-region max. +/-.5 m/s, lower F-region +/- 1 m/s (less than approx. 2%) Meridional wind is the same order of magnitude as zonal wind Changes in electron density and neutral density can be neglected. ------------------------------------------------------------------------ r985 | foster | 2013-10-08 15:08:09 -0600 (Tue, 08 Oct 2013) | 7 lines tiegcm/trunk: - Update tiegcm trunk with modifications made for coupled LTR-para/TIEGCM, as per Pete Schmitt's changes to TIEGCM in the CISM repository (r2311): https://subversion.ucar.edu/cism_MODELS/trunk/LTR-para/TIEGCM - Additional very minor modifications to scripts/Make.intel-ys, input.F, and newton.F. ------------------------------------------------------------------------ r950 | foster | 2013-06-21 15:48:21 -0600 (Fri, 21 Jun 2013) | 5 lines tiegcm/trunk: - Update commented GPI_NCFILE specification in default namelist files with the latest GPI data file available in the download data file (gpi_2000001-2013120.nc). ------------------------------------------------------------------------