Difference between revisions of "FOAM Version History"

From Foam
Jump to navigationJump to search
Line 1: Line 1:
 +
= FOAM 1.5 Version History =
 +
 +
This table describes in brief what is different between versions of FOAM 1.5.
 +
 +
Unless otherwise indicated, all versions give bit-for-bit identical climates.
 +
 +
The strings under "Version" are CVS tags.  They correspond simply to version numbers:  F1_5_6 = FOAM 1.5.6
 +
 
{| border="1"
 
{| border="1"
|+ FOAM 1.5 Revision History
 
 
! Version !! Modifications  
 
! Version !! Modifications  
 
|-
 
|-
|F1_5_6 || same as above
+
|F1_5_6 ||  
 
|-
 
|-
 
|F1_5_7 || update multi dir source to F1_5_7
 
|F1_5_7 || update multi dir source to F1_5_7
Line 13: Line 20:
 
|FOAM1_5FREEZE || Build works on SGI IBM and SUN as well as linux. Gives same answers as one-directory source!
 
|FOAM1_5FREEZE || Build works on SGI IBM and SUN as well as linux. Gives same answers as one-directory source!
 
|-
 
|-
|F1_5_9 || Fix slab model to not call restart_clean.  Clean up Makefile.  No change in answers.
+
|F1_5_9 || Fix slab model to not call restart_clean.  Clean up Makefile.
 
|-
 
|-
|F1_5_10 || Add more namelist options to atmosphere. No change in answers
+
|F1_5_10 || Add more namelist options to atmosphere.
 
|-
 
|-
 
|F1_5_11 ||Changes to support standalone atmosphere Change communicator names in PCCM3.  No change in answers.
 
|F1_5_11 ||Changes to support standalone atmosphere Change communicator names in PCCM3.  No change in answers.

Revision as of 17:52, 23 February 2007

FOAM 1.5 Version History

This table describes in brief what is different between versions of FOAM 1.5.

Unless otherwise indicated, all versions give bit-for-bit identical climates.

The strings under "Version" are CVS tags. They correspond simply to version numbers: F1_5_6 = FOAM 1.5.6

Version Modifications
F1_5_6
F1_5_7 update multi dir source to F1_5_7
F1_5_8 update multi dir source to F1_5_8
F1_5Chiba change softlinks and restart_clean call to work on Chiba.
FOAM1_5FREEZE Build works on SGI IBM and SUN as well as linux. Gives same answers as one-directory source!
F1_5_9 Fix slab model to not call restart_clean. Clean up Makefile.
F1_5_10 Add more namelist options to atmosphere.
F1_5_11 Changes to support standalone atmosphere Change communicator names in PCCM3. No change in answers.
F1_5_12 compile simsice always. Keep ice temps below freezing of SST_FROM_FILE is defined. No change in answers (to standard coupled config)
F1_5_13 Some more changes for standalone atmosphere: don't calculate pcoszrs "pre-swapped".

swap it in radxfr. Don't swap boundary condition albedoes since albedo calculation is now outside radcsw (in standalone model.) Remove some of the foam.c system calls: links for coupler, ocean restart and data dir. Instead, form path names using arguments from run_params.

F1_5_14 Add in hooks for lpj option. New COPYRIGHT. Protex header in top-level Makefile. (of course, no change in answers)
F1_5_15 (= PCCM3UW_1_0_1 and OM3ALONE_1_0_1)

add changes for SP4 compile add changes for Linux Intel Compiler compile add T31 options to params.h p_spetab.com sstan.F --force mask in to SST for T31 and T63 rfinti.F -- T31 uses rayfric too binsum.F quad.F -- rearrange for power-of-two truncations spetru.F -- isolate a section for power-of-two truncations.

F1_5_16 (= PCCM3UW_1_0_2 and OM3ALONE_1_0_1)

changes to change default history fields (physics.F and radctl.F and pagrid.com). Change default history fields (bldfld.F). Make PRIMARY and EXCLUDE namelist vars work (rdbcst.F).

F1_5_17 (= PCCM3UW_1_0_3 and OM3ALONE_1_0_1)

refactor rdbcst.F for readability. Change pagrid.com to allow all possible fields to be output Change bldfld.F to never check for ninavg.eq.Q. Fields can be output no matter what the history averaging period. aphys.F, physics.F tphys.F vdiff.F, vdintr.F -- change to allow calculation and output of any field in bldfld.F no change in answers!

F1_5_18 (= PCCM3UW_1_0_3 and OM3ALONE_1_0_2) --RELEASE to UofC and UW Jan 9. 2003

add om3_exit and call it instead of exit. om3_exit calls MPI_Abort and exit. Also change avheat and avsalt to include effects of sea ice formation. Change meltp history in pcoupler to only count nonnegative meltp.

F1_5_19 (=PCCM3UW_1_0_4 and OM3ALONE_1_0_2)

Support for T31 in coup_restart change nxpt in pmgrid,prgrid for T31 Make abort.c call MPI_Abort Add more info to bandij error message Change Makefile to use FOAMDIRS in find command slight edit of README no change in answers

F1_5_20 (=PCCM3UW_1_0_5 and OM3ALONE_1_0_2)

Add data atmosphere to code and makefile add help target to makefile Remove TSPDAY from params.h and move run_params handling from preset.F to data.F

F1_5_21 (=PCCM3UW_1_0_6 and OM3ALONE_1_0_2)

Use comorb in pcoszrs.F On Linux, use a barrier before call to restart_clean in wrapup.F

dataAtm: compile cvmgt for land model. comment out TRANS call in mpi.F.

F1_5_22 (=PCCM3UW_1_0_7 and OM3ALONE_1_0_3) --RELEASE to UofC and UW Feb 28 2003

Add slab ocean code and target to Makefile. Reorganize Makefile and redo some comments Make 32 colocated be the default. Remove MODSOL from make options Rename vars in comorb (pcoszrs.F and pccm3uw1.0.7 changes) Add ability to set comorb in namelist.

F1_5_23 (=PCCM3UW_1_0_8 and OM3ALONE_1_0_3) 6/17/03 first tag in new repo.

Changes to make T31 SLT scheme handle high cross-pole winds. Make abort.c call MPI_Abort for cleaner aborts pcoupler.F now uses cstep to keep track of steps for history/restart

F1_5_24 (=PCCM3UW_1_0_8 and OM3ALONE_1_0_3) 12/23/03

Tag change to makefile for Portland Group compiler done on July 2

F1_5_25 (=PCCM3UW_1_0_9 and OM3ALONE_1_0_3) 2/13/04

Tag change to mpi datatypes in pstswm/mpi.F bp_seaicedbg branch point off of F1_5_25 2/13/04

F1_5_26 (=PCCM3UW_1_0_11 and OM3ALONE_1_0_3) 3/18/04

changes to read T42 input data. also add more fixes for SLT scheme (T31 and T42)

F1_5_27 (=PCCM3UW_1_0_12 and OM3ALONE_1_0_3) 6/17/04

Add extra fields to atmosphere output suggested by CAM. Mostly radiation. redefine FLNTC and FSNTC to match CAM definition

F1_5_28 (=PCCM3UW_1_0_13 and OM3ALONE_1_0_3) 7/30/04

Turn on SLT fix for R15. Doesn't change answers. Can now do parameter experiments.

F1_5_29 (=PCCM3UW_1_0_14 and OM3ALONE_1_0_3) 4/5/05

Include fixes for Intel 8.x compiler. Also include bug fix for atmosphere history.

F1_5_30 (=PCCM3UW_1_0_15 and OM3ALONE_1_0_4) 8/4/05

Include code to output momentum/heat budget vars Small change to Makefile for IBM Remove an unused ifdef in om3coupalone

F1_5_31 (=PCCM3UW_1_0_15 and OM3ALONE_1_1_0) 8/16/05

Modify Makefile so netcdf includes and libs can be added to build. Add ability to output ocean data in netcdf format.

F1_5_32 (=PCCM3UW_1_0_16 and OM3ALONE_1_1_1) 9/2/05

Add generic netcdf routines to foamshare and add a Makefile. Modify top level Makefile to build foamshare. Add ability for coupler to output netcdf. Modify coupler Makefile for new pcoupncio.F code. Refactor inidat.F for later netcdf upgrade.

F1_5_40 (=PCCM3UW_1_1_0 and OM3ALONE_1_1_1) 10/7/05

Add some more generic netcdf routines to foamshare. Add ability to read netcdf data in PCCM3. See PCCM3UW_1_1_0 note below.

F1_5_41 (=PCCM3UW_1_1_1 and OM3ALONE_1_1_1) 1/27/06

Add ability to output atmosphere history in netcdf Use start,count in coupler netcdf write.

F1_5_42 (=PCCM3UW_1_1_2 and OM3ALONE_1_1_1) 2/2/06

remove system calls from foam.c and mpi_coupled.c links atmosphere restart concatenation are now done with C functions. Open atmosphere history and pccm.out with correct names. removes need for "mv" call.

F1_5_43 (=PCCM3UW_1_1_3 and OM3ALONE_1_1_2) 4/17/06

change foam.c to use inpakC to read run_params Use new initialflag and filterflag (see changes below for atm and ocn) Fix bug in compiling foamslab with NetCDF.

F1_5_44 (=PCCM3UW_1_1_4 and OM3ALONE_1_1_3) 5/17/06

Introduce new coup_init subroutine which will create an arbitrary initial condition for an initial run. Break coup_restrt into 4 routines: ccm2lnd_init, priver_init, grid_init and coup_restrt coup_restrt now just reads restart pccm3uw.F and dataAtm.F now call new routines. Add new function fnc_read3DIVar to read integers Make fnc_read3DF and 4DF more generic by adding lat,lon as arugments Fix bug involving time variable in coupler history output.

F1_5_45 (=PCCM3UW_1_1_5 and OM3ALONE_1_1_3) 5/26/06

Ability to change dtime during a restart run.

bp_FOAM1_5 formed at F1_5_45 for further FOAM1.5 development 5/26/06

branch tags called bF15_

bF15_F1_5_46 (=PCCM3UW_1_1_5 and OM3ALONE_1_1_3) 10/23/06

Fix a couple of build bugs for Intel and IBM xlf 10.0 Intel one was for repeated definition of buff while xlf was from not including inpakC.h

bF15_F1_5_47 (=bPC11_1_6 and OM3ALONE_1_1_3) 11/10/06

Add lpj. Include makefile mods for LPJ.

bF15_F1_5_48 (=bPC11_1_6 and OM3ALONE_1_1_3) 11/28/06

Add extra lpj variables and fix a bug in legrd.

bF15_F1_5_49 (=bPC11_1_6 and OM3ALONE_1_1_3) 12/21/06

Fix a bug in dataatm regarding communicators

bF15_F1_5_50 (=bPC11_1_7 and OM3ALONE_1_1_3) 2/21/07

Add g95 compile ability Reintroduce lpj Fix bug in coup_init regarding sea ice initial temps.

F1_6_0 (=PCCM3UW_1_2_0 and OM3ALONE_1_1_3) 6/14/06

Switch fortran compile from mpif77 to mpif90. Drop support for SGI Origin. f77->f90 CHANGES ANSWERS WITH PGI So also increase the optimization.

F1_7_0 (=PCCM3UW_1_4_1 and OM3ALONE_1_1_4) 8/6/06

Change FOAM to run in double precision using autopromotion in the compiler. Still outputs single precision. CHANGE ANSWERS ON ALL PLATFORMS. Decrease optimization back to O1 on PGI.

F1_7_1 (=PCCM3UW_1_4_2 and OM3ALONE_1_1_4) 8/25/06

Change CCP system defines to use MCT versions. RS6000 -> SYSAIX

F1_7_2 (=PCCM3UW_1_4_3 and OM3ALONE_1_1_4) 10/24/06

Add MCT to source code and build.

F1_7_3 (=PCCM3UW_1_4_4 and OM3ALONE_1_1_5) 11/03/06

Remove all use of PROFILE and replace with zeit calls. Also start consolidating constants by removing duplicates and unifying names. NO CHANGE IN ANSWERS

F1_7_4 (=PCCM3UW_1_4_5 and OM3ALONE_1_1_5) 12/18/06

Convert atmos_params to pccm3_params.rc and use inpack. Also introduce planet.rc NO CHANGE IN ANSWERS

F1_7_5 (=PCCM3UW_1_4_6 and OM3ALONE_1_1_5) 1/2/07

A few changes to variables in pccm3_params.rc Change all use of endrun, blowup and abortf to die. (many lines changes but NO CHANGE IN ANSWERS)

F1_7_6 (=PCCM3UW_1_4_7 and OM3ALONE_1_1_5) 1/8/07

Use m_mpout for standard output instead of the c code in error_dup3.c. More flexible. (many line changes but NO CHANGE IN ANSWERS)

F1_7_7 (=PCCM3UW_1_4_8 and OM3ALONE_1_1_5) 1/16/07

Remove T3E, T3D and INTEL cpp blocks. See other notes in PCCM3UW_1_4_8


om3coupalone module
Version Modifications
OM3ALONE_1 first working version of om3coupalone
OM3ALONE_2 released version
OM3ALONE_1_0_0 Includes removal of system calls. New COPYRIGHT.
OM3ALONE_1_0_1 add CVS keywords to readme. Release to Jena
OM3ALONE_1_0_2 add om3_exit and call it instead of exit. om3_exit calls MPI_Abort and exit. Also change avheat and avsalt to include effects of sea ice formation.
OM3ALONE_1_0_3 remove om3cplslab
OM3ALONE_1_0_4 remove unused WIND_STRESS define 8/4/05
OM3ALONE_1_1_0 add NetCDF output as an option. 8/16/05
OM3ALONE_1_1_1 minor change to global attribute "platform". 9/2/05
OM3ALONE_1_1_2 Add inpakC to build. Use inpakC to processes run_params

Add new initialflag. Use it instead of CPP to switch between initial and restart run. 4/17/06

OM3ALONE_1_1_3 Fix bug involving time variable in netcdf output 5/17/06
OM3ALONE_1_1_4 Mods to work with double precision FOAM. Accept double precision data from coupler then copy to single. 8/6/06
OM3ALONE_1_1_5 remove PROFILE. Use MCT versions of system CPP defs.


pccm3uw alone
Version Modifications
PCCM3UW_1 first working version of standalone model
PCCM3UW_1_0_1 FOAM_LPJ changes, remove system link calls, Intel compiler change, remove albedo swapping.

T31, T63 changes

PCCM3UW_1_0_2 changes to change default history fields (physics.F and radctl.F and pagrid.com). Change default history fields (bldfld.F). Make PRIMARY and EXCLUDE namelist vars work (rdbcst.F).
PCCM3UW_1_0_3 refactor rdbcst.F for readability.

Change pagrid.com to allow all possible fields to be output Change bldfld.F to never check for ninavg.eq.Q. Fields can be output no matter what the history averaging period. aphys.F, physics.F tphys.F vdiff.F, vdintr.F -- change to allow calculation and output of any field in bldfld.F no change in answers!

PCCM3UW_1_0_4 support for T31: increase nxpt in pmgrid,prgrid for T31

Make abort.c call MPI_Abort Add more info to bandij error message Change README to reflect PCCM version.

PCCM3UW_1_0_5 remove TSPDAY from params.h

data.F now handles run_params stuff instead of preset.F Calculate ntspdy when needed in data.F, wrapup.F and pccm3uw.F

PCCM3UW_1_0_6 introduce comorb.com to define orbital params.

set them in preset.F, print out in data.F. Use in radinp.F. Also do safe restart writing when on LINUX, wrapup.F and wrtrs1.F

PCCM3UW_1_0_7 rename variables in comorb.com to match NCAR.

Add ability to set eccen, titld, anper, dayp via namelist. Change formatting on printout of orbital params from data.F (comorb.com, radinp.F, data.F preset.F data.F rdbcst.F)

PCCM3UW_1_0_8 changes to make T31 more stable in SLT scheme. 6/17/2003

changes to bandij.F, sltb1.F prgrid.com,pmgrid.com Let abort.c call MPI_Abort to really abort.

PCCM3UW_1_0_9 add ifc options to Linux Make. Feb 4, 2004

Remove MPI_REAL4, MPI_REAL8 from pstswm.

bp_dycrPCCM3109 formed at PCCM3UW_1_0_9 for dycore development.

call branch tags bdycr_

bdycr_initial reference tag, no changes.
bdycr_judestart Jude's dycore plus removing split from physics and few other minor changes. bfb with Jude's code.
bdycr_reorg major reorg including removing call of stedrv; fixing size

of hbuf. Introduction of pccm3uw_run, pccm3uw_init.

bdycr_newmake new Makefiles to reduce amount of code compiled.
PCCM3UW_1_0_10 fix a harmless bug, found by -g, in mfinti 3/18/04

involving an undefined variable.

PCCM3UW_1_0_11 additional fix for SLT scheme. Add more info to error message when it happens. Also turn on fix for all resolutions except R15.

changes to sphdep.F sltb1.F bandij.F prgrid.com pmgrid.com

PCCM3UW_1_0_12 add new diagnostic fields for radiation. Redefine FLNTC and FSNTC. Also add TMQ and turn on by default RELHUM and snow precip.
PCCM3UW_1_0_13 Turn on SLT fix for R15. Now done for all resolutions (except T170)
PCCM3UW_1_0_14 Add new hnstep variable to fix bug in history logic.

Some fixes for Intel 8.x compiler 4/5/05

PCCM3UW_1_0_15 add code to output momentum/heat budget variables WW, UU, UQ, etc.

change Makefile for IBM to use mpxlf/mpcc

PCCM3UW_1_0_16 reorganize inidat.F to locate reads in one block. Preliminary step for netcdf conversion. bfb. Also tag some new files in foamshare.
bp_dycrPCCM31016 formed at PCCM3UW_1_0_16 for dycore development.

Abandoned in favor of bp_dycrPCCM3109

PCCM3UW_1_1_0 add ability to read netcdf input files. Add netcdf option to build

Add pccm_comm to comparll.com. Add comments to new fnc functions. Add new fnc_finddim, fnc_open and fnc_rdvar functions. Add new variables to comozp and comsst for netcdf reading. Add new oznintnc, oznininc, sstintnc, sstininc functions. Add netcdf option to inidat.F inital.F intbnd.F tiread.F Add new pccmnc_ functions for reading and scattering netcdf data. Edit parlyz.F to not conflict with new comparll.com Change sstan.F comparison between SST and ORO to check only if land has been masked out in SST. 10/7/2005 no change in answers.

PCCM3UW_1_1_1 add ability to output netcdf files. 1/27/06

Use new hbuf2 array to hold averages. New functions pccmnc_inito, pccmnc_writeo In foamshare, add fnc_4DFwrite, fnc_Def4DFVar

PCCM3UW_1_1_2 open history and pccmout files with the correct names.

avoid system calls. 2/2/06

PCCM3UW_1_1_3 Use inpack to set new flags for initial run and filtering phis.

Use new flags. Modiy inpack to ipck_GToken returns a char pointer. Bug fix for non-netcdf version. Bug fix for correct history name for initial run. pccmncio: get hyai, etc from common block. bug fix: change counting of histories during initial run. 4/17/06

PCCM3UW_1_1_4 Call new more generic versions of fnc_readXDFVar

5/17/06

PCCM3UW_1_1_5 Add code to check if dtime has changed in a restart run and correctly change twodt and nstep 5/26/06
bp_PCCM3UW_1_1 formed at PCCM3UW_1_1_5 for FOAM 1.5 development.

call branch tags bPC11_

bPC11_1_6 add bug fix for aux2-aux5 in netcdf 11/10/06
bPC11_1_7 add changes for g95 compile 2/18/07
PCCM3UW_1_2_0 Switch fortran compile from mpif77 to mpif90.

Drop support for SGI Origin. f77->f90 CHANGES ANSWERS WITH PGI So also increase the optimization.

PCCM3UW_1_3_0 Switch from single to double precision compile. 6/30/06

Add autopromotion of reals Make modifications to handle double preicsion in some mpi calls and to avoid promotion of doubles to quad. WORKS ONLY WITH BINARY I/O CHANGES ANSWERS ON ALL PLATFORMS.

PCCM3UW_1_4_0 Allow reading of double precision netCDF and output of 7/5/06

single precision NetCDF. Required pgi optimization to be lowered to -01

PCCM3UW_1_4_1 Fix bug in reading header info (hy*, lats) in double precision. 8/6/06

Fix small usage problem in sltini.F that g95 doesn't like. No change in ANSWERS.

PCCM3UW_1_4_2 Change CPP defines to use MCT convention, RS6000 -> SYSAIX

Remove instances of 'implicit automatic' which were all commented out. No change in ANSWERS.

PCCM3UW_1_4_3 Add MCT to source code and to build system. No change in Answers.
PCCM3UW_1_4_4 Begin consolidating constants by removing duplicates.

example: change "g" to "gravit". Remove all use of PROFILE and replace with zeit timers. Also output timers from pccm3uw.F NO CHANGE IN ANSWERS

PCCM3UW_1_4_5 Fix bug in NetCDF output of multiple files.

Read pccm3params with inpack instead of fortran namelist. Move some values out of params and in to preset.F Add a case string to NetCDF output separate from title.

PCCM3UW_1_4_6 Remove a few more vars from params to preset.F 1/2/07 Add timer flag for outputting timers.

Replace all abortf, endrun, blowup calls with m_die. (many changes but NO CHANGE IN ANSWERS)

PCCM3UW_1_4_7 Use mpeu's mp_mpout feature instead of the code in error_dup3.c Allows more variety in pccm.out file control

Many file changes but NO CHANGE IN ANSWERS. 1/8/07

PCCM3UW_1_4_8 Remove INTEL,SSP, T3E and T3D cpp code.

Change restart write to do a gather and write out one file. Change naming convention for history file. Now uses $CASE from input file.