FOAM Version History

From Foam
Revision as of 17:59, 23 February 2007 by Jacob (talk | contribs) (remove non 1.5 history)
Jump to navigationJump to search

History of FOAM 1.5 development

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
F1_5_12 compile simsice always. Keep ice temps below freezing of SST_FROM_FILE is defined. Changes answers only when using the slab ocean and fixed SST options.
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.
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.


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.

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.
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