**** November 19, 1993 (1) The latest version of the model is entered in the SCCS and becomes the new benchmark PE code version 5.1. November 20, 1993 (1) hvdout.F version 5.2: 0.5 factor missing in the output of W at the tracer points. November 23, 1993 (1) hvdout.F version 5.3: correct spelling of C-preprocessing option VSIGMA. **** December 6, 1993 (1) Makefile.sun3 Makefile.sun4 Makefile.iris Makefile.cray PEmakefile Makefiles were changed to provide more documentation and now all the source routines are "codename.F". The following routine do not need C-preprocessing: "bes1d.F", "bes2d.f", "lintrp.F", "matrix.F", "my_handler.F", "rk40.F", "spline.F", and "splint.F". However, the C-preprocessing is in place for future work. The 5.1 version of these makefiles was re-created. (2) anaflds.F version 5.2: local index J rename to JJ and correct spelling of DEPTHBT and DEPTHBV arrays. (3) hvdout.F: version 5.4: common VERTSLABS include for VSIMA option. version 5.5: correct unbalanced parentheses and arguments for array DZVQZ. (4) hvgrid.F: version 5.2: correct for re-normalization of ZDZZ, for KC not equal to 0. (5) infld.F: version 5.1: local index J renamed to JJ in the computation of PRMS. (6) sigmalev.F version 5.2: real variable HMF declared in DBLSIGMA option. (7) sigmaslab.F version 5.2: correct spelling of variable FIRST in DBLSIGMA option. (8) xwrite.F version 5.2: provide third argument in DEPHT and DEPTHV arrays. **** December 7, 1993 (1) anaflds.F version 5.3: correct local variable DEPTH in entry ANABNDRY for VSIGMA option. (2) clinic.F version 5.2: correct HREF variables; computing pressure gradient at the middle of the vertical boxes instead of the bottom of the boxes. **** December 8, 1993 (1) hvgrid.F version 5.3: correct again re-normalization of ZDZZ. **** December 10, 1993 (1) setvert.F version 5.2: correct upper and lower vertical diffusion coefficients for heat and momentum equations. December 20, 1993 (1) setvert.F version 5.3: correct upper and lower vertical diffusion coefficients for heat, FFHQ. It was using FFM instead of FFH. December 23, 1993 (1) setvert.F version 5.4: correct call to SIGMASLAB to compute the depths at the velocity points (KEYTV=1) instead of tracer points (KEYTV=0). **** December 27, 1993 (1) clinic.F version 5.3: move computation of hydrostatic pressure gradient to routine grad2_p.F (2) grad2_p.F version 5.1: New routine. Computation of hydrostatic pressure gradient (2nd order). Interpolated option. (3) Makefile.sun3 Makefile.sun4 Makefile.iris Makefile.cray PEmakefile version 5.2: Add new routine grad2_p.F (4) wrthdr.F version 5.3: "double sigma" parameters ZC1,ZC2,ZREF,ZSLOPE added to output header. (5) inparm.F version 5.2: CODEID updated to 5.2 to facilitate the reading, during post-processing, of the new entries in the output header: the "double sigma" parameters. (6) pefldid.h version 5.2: field identification renamed from IDxxxx to PExxxx to facilitate post-processing. New ID's have been added to the list. (7) hvdout.F version 5.6: field identification renamed from IDxxxx to PExxxx to facilitate post-processing. (8) infld.F version 5.3: field identification renamed from IDxxxx to PExxxx to facilitate post-processing. (9) oiassi.F version 5.2: field identification renamed from IDxxxx to PExxxx to facilitate post-processing. (10) xread.F version 5.2: field identification renamed from IDxxxx to PExxxx to facilitate post-processing. (11) xwrite.F version 5.3: field identification renamed from IDxxxx to PExxxx to facilitate post-processing. **** January 3, 1994 (1) clinic.F version 5.4: remove rescaling of vertical velocity WU and correct vertical flux divergence. (2) tracer.F version 5.2: remove rescaling of vertical velocity W and correct vertical flux divergence. (3) hvdout.F version 5.7: correct computation of "flat" vertical vertical velocity from "omega" vertical velocity at output (rescaling removed). (4) setvert.F version 5.5: Add computation of thickness DZV2RQZ used in the computation of vertical flux divergence. (5) vertslabs.h version 5.2: Add array DZV2RQZ to common block. (6) sigmalev.F version 5.3: correct computation of depth arrays used in Shapiro filtering from the bottom of the vertical box to the middle of the vertical box. (7) relax.F version 5.2: correct coefficients for the implicit treatment of Coriolis term. Depth array HV is now used instead of HR. (8) README version 5.1: provide documentation about installation, compiling, and running application code. **** January 5, 1994 (1) The latest 5.x version of the model in the SCCS becomes the new benchmark PE code version 6.1. January 10, 1994 (1) Remove the SCCS delta -r6.1 for the Makefiles and correct the target PROGRAM to define the macro SRC6 instead of OBJ6. Put the macro RMBLKLINES in the area of User tunable parameters. Correct Makefiles are reloaded into the SCCS as version 6.1. (2) Remove the SCCS delta -r6.1 for file "inparm.F" and remove comas at the end of format statements 70 and 910 in order to compile in the Cray. The corrected "inparm.F" routine is reloaded in the SCCS as version 6.1. (3) Remove The SCCS delta -r6.1 for file "clinic.F" and change statement "elseif(km.ne.km) then" to "elseif(kmax.ne.km) then". The corrected subroutines is reloaded in the SCCS as version 6.1. January 12, 1994 (1) wrthdr.F Remove the SCCS delta -r6.1 for file "wrthdr.F" and then modify output of NLEV and LEV to free formatted. The updated subroutine is reloaded in the SCCS as version 6.1. (2) xread.F Remove the SCCS delta -r6.1 for file "xread.F" and then correct format statements 10, 20, and 30 to specify the integer field descriptors for output variables ID,IFIELD,J,JROW. The corrected subroutine is reloaded in the SCCS as version 6.1. **** February 2, 1994 (Major PE model enhancement) (1) anaflds.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Replace call to "sigmaslab" with "depthslab". * Provide rational to compute mean density from analytical mean temperature and salinity using the Model's equation of state. (2) bracket_z.F version 7.1: * -Dvsigma option becomes default vertical formulation. (3) clinic.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Computation of density at row J+1 is removed; this is now done in "grad2_p" or "grad24_p". * Add new formulation for the pressure gradient: second and fourth order routine "grad24_p" and C-preprocessing option NEWGRADP. * Rename local variables IS and IE to ISTR and IEND. (4) depthlev.F version 7.1: * New routine to compute the depths at the center of the vertical box at the specified horizontal level. It replaces routine "sigmalev". (5) depthslab.F version 7.1: * New routine to compute the depths at the center of the vertical box at the specified vertical slab. It replaces routine "sigmaslab". (6) get_z.F version 7.1: * -Dvsigma option becomes default vertical formulation. (7) getdgdz.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Replace calls to "sigmalev" with "depthlev". * Replace call to "sigmaslab" with "depthslab". * Replace call to "statec" with "state". (8) grad2_p.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Add computation of density at row 2 and J+1. * Add subtraction of mean density to arrays RHOS and RHON using new C-preprocessing option -Drmdenbar. * Add transfer of array RHON to array RHOS. (9) grad24_p.F version 7.1: * Add NEW pressure gradient routine (second and forth order computation). (10) gradp2.h version 7.1: * New include file used by "grad24_p" to compute the second order gradient of density. (11) gradp4.h version 7.1: * New include file used by "grad24_p" to compute the fourth order gradient of density. (12) gradph2.h version 7.1: * New include file used by "grad24_p" to compute the second order gradient of density at half levels. (13) gradph4.h version 7.1: * New include file used by "grad24_p" to compute the fourth order gradient of density at half levels. (14) hvdout.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Change the call to "state" by passing its new arguments. * RHOBAR is added back to the density only when using old pressure gradient computation; new C-preprocessing option -Drmdenbar is used. * Eliminate the use of array DZZ in the computation of the "flat" vertical velocity. * Change arrays DEPTHT and DEPTHV to TDEPTH and VDEPTH and add to them half of vertical box thickness to get the depths at the bottom of the vertical box. (15) hvgrid.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Eliminate computation of obsolete array DZZ. * Added option for beta-plane approximation. (16) inparm.F version 7.1: * -Dvsigma option becomes default vertical formulation. (17) internal.F version 7.1: * -Dvsigma option becomes default vertical formulation. * The thickness of the velocity box is now DZVQZ which is taken from common block "vertslabs". (18) lintslab.F version 7.1: * New routine used by "grad24_p" to perform linear interpolation by vertical slabs. (19) load_sig.F version 7.1: * -Dvsigma option becomes default vertical formulation. * The depths at the center of the tracer vertical box are obtained by calling "depthslab". * The equation of state called now is "state" so two new local slab-arrays are introduced to hold temporally the temperature and salinity. (20) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.1: * Add new pressure gradient computations options, routines and include files. * Remove obsolete routines from source codes targets. * Remove the command "sccs clean" from the target clean. * Add target "rmblklines". * Link and compile "rmblklines" before of making the application code. * Pass the definition of the macro RMBLKLINES to the secondary makefile "PEmakefile". * Add target "meld_tracks". * Add $(CODE) dependency to target $(BIN) (21) matrix.F version 7.1: * Rename local variables IS and IE to ISTR and IEND. (22) meanrho.F version 7.1: * -Dvsigma option becomes default vertical formulation. * The depths at the center of the tracer vertical box are obtained by calling "depthslab". * The equation of state called now is "state" so two new local slab arrays are introduced to hold temporally the temperature and salinity. (23) meld_tracks.f version 5.1, 6.1, 7.1: * Install Lagrangian trajectories post-processing program "meld_tracks" which is used to concatenate each drifter trajectory. Recall that Lagrangian trajectory package generates a file for each simulated drifter. (24) ocean.F version 7.1: * -Dvsigma option becomes default vertical formulation. (25) odam.F version 7.1 * Add arguments to routine: subroutine odam(lu,nwrs,nfrst,a) * Rename array BIG as SDISK, remove array C and equivalence statement, remove local common block BG and use "save" statement instead. * Dimension array A as A(NWRS). (26) PEmakefile version 7.1: * Change all the C-preprocessing targets and use the program "rmblklines" to remove all the blank lines produced during C-preprocessing. * Add new rules for new routines: "depthlev", "depthslab", "get_thick", "grad24_p", "int_gradrho", "lintslab", "splineslab", and "splintslab". * Remove rules for obsolete routines: "den", "sigmalev", "sigmaslab", and "statec". (27) pemodel.in version 7.1: * Add documentation for IOPT(4)=2 which signals to beta-plane approximation. (28) rmblklines.F version 7.1: * Old code "rmblklines.f" is renamed to "rmblklines.F". * Add C-processing option RMCOMMENTS to remove all commented lines in the source before compiling and linking. * Remove lines that start with a hash (#) character which are generated during C-preprocessing when the option -P is not activated. (29) splineslab.F, splintslab.F version 7.1: * New routine used by "grad24_p" to perform cubic spline interpolation by vertical slabs. (30) state.F version 7.1: * The routine calling arguments are changed to: state (t,s,depth,rho) * The subtraction of mean density RHOBAR inside "state" is eliminated. This subtraction, if needed, is now done in the calling routine. * The PE model now has only one routine for equation of state; the routines "statec" and "den" are eliminated. * Add SMEAN to salinity when using linear equation of state. (31) step.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Computation of density at row J=2 is removed; this is now done in "grad2_p" or "grad24_p". (32) tracer.F version 7.1: * -Dvsigma option becomes default vertical formulation. * The rolling of density arrays RHOS and RHON is eliminated; this is now done in "grad2_p" or "grad24_p". * Change "statec" calling statement to "state" in the convection adjustment. (33) vertslabs.h version 7.1: * Add rolling indices ISM1, IS, IN, and INP1. * Add parameter statement to define the order IORD of the horizontal operator (second or fourth order). It uses C-preprocessing options -Dhpg4 and -Dbiharmonic to do so. * Substitute arrays DEPTHT and DEPTHV with TDEPTH and VDEPTH. (34) xread.F version 7.1: * Add the capability to read "formatted binary character" data. This new format is based on a routine written by Eduard Waugh. The new format is activated when the number of points to read NPTS is negative. (35) xwrite.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Get the depths at the center of vertical tracer and velocity boxes from common "vertslabs" and compute the depths of the W boxes. * Introduce NEW C-preprocessing option BINFRMT to write output data in "formatted binary characters". This new format is based on a routine written by Eduard Waugh. (36) zvol2col.F version 7.1: * -Dvsigma option becomes default vertical formulation. * Replace call to "sigmaslab" with "depthslab". **** February 15, 1994 (Coastal Setup) (1) anaflds.F version 7.2: * Provide the option to enter the thickness HZ or the depths REFZ. If REFZ are provided, it computes the HZ from REFZ. * Introduce new entry ANACOAST to read in the coastal segments and the land/sea mask at the tracer points. This entry is available when C-preprocessing option COAST is activated. (2) bdryindx.F version 7.2: * New routine used to the set the boundary indicator auxiliary arrays FKMP, FKMQ, FKMZ, ISZ, and IEZ. If the COAST option is activated, it also computes the land/sea mask at the velocity points. * The computation of these auxiliary has been removed from the main routine "ocean". (3) clinic.F version 7.2: * Change depth array HD to HDV in the computation of the external mode. * Introduce coastal setup option for islands. (4) filter2.F version 7.2: * Introduce coastal setup option. (5) fullwd.h version 7.2: * Add coast and islands options and auxiliary arrays to the common block. (6) hvgrid.F version 7.2: * Add computation of depths arrays HD, HR, HD, HDV. These was done previously in main routine "ocean". (7) hvdout.F version 7.2: * Correct the field identification for internal mode geostrophic velocities. (8) infld.F version 7.2: * Add reading of coastal segments and land/sea mask at the tracer points when the option COAST is activated. (9) inparm.F version 7.2: * Change C-preprocessing option from COASTAL to COAST. * Add print information for option RMDENBAR. * Change logical statement when option COAST is activated: IFLAG(10)=0 no coastal setup IFLAG(10)=1 coast only IFLAG(10)=2 coast and islands (10) iounits.h version 7.2: * Add input unit CSTINP which is used to read coastal segments and mask fields for the option ANALYTICAL. (11) landsea.F version 7.2: * New routine used to read in the coastal segments and the land/sea mask at the tracer points. (12) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.2: * Include new routines and options associated with the coastal setup. (13) ocean.F version 7.2: * Move computation of boundary auxiliary arrays to new routine "bdryindx". * Move computation of depth arrays to routine "hvgrid". (14) param_tmp.h version 7.2: * Add documentation for input dimension parameters. * Rename parameter NISLE to MISLE. This allows to check if the number of island read in coastal segement section is appropriate with the dimension given in the application. * Add parameters used when the option COAST is activated. (15) PEmakefile version 7.2: * Include new routines associated with the coastal setup and their dependencies. (16) pemodel.in version 7.2: * Correct spelling in the documentation. (17) relax.F version 7.2: * Add the code that is necessary when the options COAST and ISLANDS is activated. (18) step.F version 7.2: * Change depth array HD to HDV in the computation of the external mode. (19) wrthdr.F version 7.2: * Rename output variable in the header from NISLE to MISLE. * Write HD instead of HR (the reciprocal of topography). (20) xwrite.F version 7.2: * Scale internal mode geostrophic velocity components from acceleration to velocities. **** February 25, 1994 (data management via NetCDF) (1) ocean.F version 7.3 * Add call to new routine "defcdf" which opens and defines the PE model output netCDF file. (2) bdryindx.F version 7.3 * Write out land/sea masks at the tracer and velocity point into the NetCDF file. (3) cdfout.F version 7.1 * New routine. It writes out the requested fields at the current slab into the NetCDF file. This routine has the same rol as "hvdout". (4) defcdf.F version 7.1 * New routine. It creates the output NetCDF file, defines dimensions, variables, and attributes. (5) netcdf.inc version 7.1 * New include file which contains the NetCDF parameters. This include file is part of the NetCDF software. (6) pe_netcdf.h version 7.1 * New common block which stores fields ID's in the NetCDF file. (7) step.F version 7.1 * Add "call cdfout(j)" which writes current slab fields into the NetCDF file. (8) wrtcdf.F version 7.1 * New routine. It writes generic fields into the NetCDF file. This routine has the same rol as "xwrite". **** March 2, 1994 (1) fullwd.h version 7.3: * Declare NISLE. **** March 7, 1994 (1) anaflds.F version 7.3: * Add comment that indicates that diagnostic initialization is activated. This switch option is stored in IFLAG(1). (2) fullwd.h version 7.4: * Add parameter NTDGN used during diagnostic initialization to the common block. (3) meld_tracks.f version 7.2: * Add capability to process more than 99 drifters. Input file was changed from "trackNN.dat" to "trackNNN.dat", where NNN is the drifter ascending number. (4) pemodel.in version 7.3: * Add diagnostic initialization parameter NTDGN which indicates the number of timesteps for diagnostic computation (no stepping of tracers). (5) tracer.F version 7.2: * Add C-preprocessing option -Ddiagini for diagnostic initialization of the PE model. The initial internal velocity components are set to zero and the transport is set to a constant in PE_INITIAL. The time stepping of the tracers is skipped for NTDGN timestep (the diagnostic period) and maintain constant until the velocity field is built-up. (6) tracksout.F version 7.2: * Add capability to process more than 99 drifters. Output file was changed from "trackNN.dat" to "trackNNN.dat", where NNN is the drifter ascending number. **** March 10, 1994 (1) clinic.F version 7.3: * Add Laplacian diffusion. Replace "voldat.h" with "gradp.h" (2) grad24_p.h version 7.3: * Set natural spline interpolation. (3) gradp.h version 7.1: * New common block used to store DPDX and DPDY. (4) hvdout.F version 7.3: * Replace "voldat.h" with "gradp.h". (5) lap_depth.F version 7.1: * New routine to compute Laplacian diffusion. It has two entries: LAPV_DEPTH and LAPT_DEPTH. It computes the Laplacian at the depth of each point via linear or cubic spline interpolation. (6) lap_filt.F version 7.1: * New routine that can be used to filter (Laplacian filter) 2-D barotropic fields, like vorticity. (7) lap_lev.F version 7.1: * New routine to compute Laplacian diffusion along levels (no interpolation). (8) load_sig.F version 7.2: * Remove the need of volume data and use OGET instead. (9) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.3: * Include new routines and options associated with NetCDF. * Add C-preprocessing option -Ddiagini * Add C-preprocessing option -Dshapiro and new routines associated with laplacian diffusion. (10) ocean.F version 7.4: * Move the deactivation of the assimilation cycle ITTOI to routine STEP. (11) PEmakefile version 7.3: * Include new dependecies and remove individual compiling rules. Redefine default compiling macros. (12) setvert.F version 7.2: * Add C-preprocessing option -Dshapiro. (13) step.F version 7.4: * Add deactivation flag for assimilation cycle. Do a mixing step after an assimilation cycle. * Add C-preprocessing option -Dshapiro for Shapiro filtering. Routine "filter2" is renamed to "shap_lev". Routine "shapiro" is eliminated. (14) tracer.F version 7.3: * Add Laplacian diffusion. (15) update.F version 7.2: * Remove the need of volume data and use OGET instead. (16) vertslabs.h version 7.2: * Add C-preprocessing option -Dshapiro. (17) voldat.h version 7.2: * Remove arrays DPDX and DPDY. Rename common block "xdata" to "voldat". **** March 16, 1994 (1) relax.F version 7.5: * Fix implicit treatment of Coriolis term. **** March 21, 1994 (1) shap_lev.F version 7.2: * JSTR and JEND indices were not defiened; they were zero. **** March 22, 1994 (1) All relevant codes are moved incrementaly to VERSION 7.6. **** March 31, 1994 (1) step.F version 7.7: * Correct line printed at the end of assimilation cycle. (2) wrthdr.F version 7.7: * Print out NISLE instead of MISLE when the -Dcoast is not activated. "-Dcoast" changed to "-Dislands". (3) lap_depth.F version 7.7: * The laplacian is formulated in term of fluxes. (4) All relevant codes are upgrated to VERSION 7.7. **** April 1, 1994 : Radiation boundary conditions. (1) lap_depth.F version 7.7: * Correct argument in call to routine SIG_SEARCH. (2) All relevant codes are upgrated to VERSION 7.8. **** May 16, 1994 : Energy diagnostics, routines adapted from MOM, restructuring of CLINIC and TRACER, and radiation boundary conditions. (1) anaflds.F version 7.9: * Initialize parameters in relevant common blocks via a BLOCK DATA statement (See blkdat.F). * Read in bottom topography from BTHINP logical unit (BTHINP=41). Scale and, if appropriate, clip using the HMIN and HMAX values provided in the local parameter statement. (2) assiwght.F version 7.9: * The computation of the melding weights is now done row-by-row instead of point-by-point. * Allow capability for other tracers. Previously, only temperature and salinity were available for assimilation. (3) blkdat.F version 7.9: * New routine used to initialize some parameters, via a BLOCK DATA statement, in some commom blocks when the ANALYTICAL option is activated. (4) bndata.h version 7.9: * Generalize boundary condition array for NT tracers. * Add parameter to standarize boundary index WEST, SOUTH, EAST, and NORTH. (5) boundary.F version 7.9: * Re-designed to accomdate several boundary conditions options. This routine serves as a manager; the actual open boundary conditions are computed in ROBC. (6) ccfl.h version 7.9: * New common block to store the variables associated with the CFL condition (adapted from MOM). (7) cdfout.F version 7.9: * Rename external compentents arrays SFU to UBAR, SFV to VBAR, SFUB to UBARB, and SFVB to VBARB. * Put local constants in local parameter statement. (8) cdiag.h version 7.9: * New common block to store energy and other diagnostics (adapted from MOM). (9) cfl.F version 7.9: * New routine to monitor the CFL (Courant-Friedrichs-Lewy) condition necessary for stability (adapted from MOM). (10) clinic.F version 7.9: * Include energy diagnostics and implicit treatment of vertical diffusion. The entire routine is re-structured using MOM version as a guideline. * Renumber do statements. (11) cnvmix.F version 7.9: * New routine to set-up the coefficients for constant vertical diffusion of momentum (VVC) and tracers (VDC). (12) ctsrc.h version 7.9: * New common block to store the source terms for tracers. (13) cvbc.h version 7.9: * New common block to store vertical boundary condition variables (adapted from MOM). (14) cppmix.h version 7.9: * New common block to store variables used in the Pacanowski and Philander vertical mixing scheme (adapted from MOM). (15) cvmix.h version 7.9: * New common block to store variables used vertical diffusion (adapted from MOM). (16) diag.F version 7.9: * New routine to manage, compute, and write out diagnostics (adapted from MOM). (17) defcdf.F version 7.9: * Add switch NTSOUT to NetCDF header. (18) fullwd.h version 7.9: * Move arrays associated with energy diagnostics to common block in include file "cdiag.h". The moved arrays are: ENGINT, ENGEXT, TTDTOT, BUOY, EKTOT, DTABS, and TVAR. * Add logical switch variables DIAGTS, EOTS, MIXTS, MXPAS2, PRNTSI, and WRTTS. (19) getdgdz.F version 7.9: * Rename switch IOPT(7) to IOPT(6) due the re-design of routine boundary. (20) grad24_p.F version 7.9: * Replace call to entry OGET to new entry OPICK. (21) hvdout.F version 7.9: * Rename external compontents arrays SFU to UBAR, SFV to VBAR, SFUB to UBARB, and SFVB to VBARB. * Put local constants in local parameter statement. (22) hvgrid.F version 7.9: * Remove initialization of mixing coefficients arrays EEH, FFH, EEM, and FFM. (23) infld.F version 7.9: * Remove the declaration of unnecessary variables when the C-preprocessing option ANALYTICAL is used. (24) inparm.F version 7.9: * Add read in of switch NTSOUT,AIDIF,VDCLIM,VVCLIM,CDBOT. * Restructure and reorder input cards. Renumber format statements. (25) invtri.F version 7.9: * New routine used in the implicit treatment of vertical viscosity/diffusion (adapted from MOM). (26) ioi.h version 7.9: * Generalize arrays in the common blocks for NT tracers. (27) iounits.h version 7.9: * Add new logical units for bathymetry (BTHINP) and energy (ENGOUT). (28) lap_depth.F version 7.9: * Pass the Laplacian components Fxx and Fyy instead of Fxxyy to facilitate diagnostics due to zonal and meridional diffusion. (29) Makefile.cray Makefile.iris Makefile.sun3 Makefile.sun4 Makefile.vms PEmakefile version 7.9 * Add new routines and C-preprocessing options. (30) ocean.F version 7.9: * Initialize new IO units BTHINP and ENGOUT. * Remove specification of wind stress arrays WSX and WSY; the are now specified in routine SETVBC. * Generalize the permutation of NT tracers arrays during an assimilation cycle. * Remove the initialization of obsolite arrays UUNDER, VUNDER, and TDIF. * Add flushing of output buffers. (31) odam.F version 7.9: * Add new entry OPICK for a selected array transfer from disk-to-memory. (32) oiassi.F version 7.9: * Generalize reading of input assimilation switches and and variables for NT tracers. Now temperature and salinity fields have independent switches, weights, and errors. * Compute melding weights row-by-row instead of point-by-point to facilitate vectorization. * Generalize assimilation to NT tracers, if appropriate. (33) oibndry.F version 7.9: * Allow capability for other tracers. Previously, only temperature and salinity were available for boundary update after an assimilation cycle. (34) oiopts.h version 7.9: * Generalize switch IOITS for NT tracers. (35) okeep.F version 7.9: * Generalize writing to virtual disk of NT tracers. (36) onedim.h version 7.9: * Rename external compentents arrays SFU to UBAR, SFV to VBAR, SFUB to UBARB, and SFVB to VBARB. (37) options.h version 7.9: * Augment dimension of arrays IOUT (fields to output) to 20 and LEV to 100. (38) osav.F version 7.9: * Generalize storing for NT tracers. (39) pefldid.F version 7.9: * Add ID's for additional tracer fields. (40) pemodel.in version 7.9: * Add switch NTSOUT to specify the number of timesteps between output of data. * Switch NNERGY is now the number of timesteps between energy diagnostics, as in the original GFDL code. * Add new parameters associatiated with vertical viscosity/diffusion. * Re-structure parameter options array IOPT. (41) ppmix.F version 7.9: * New routine used to compute the vertical vicosity/diffusion coefficients based on the Pacanowski and Philander scheme (adapted from MOM). (42) relax.F version 7.9: * Remove call to BOUNDARY to set the forcing vorticity at the boundary. This is now done in step slab-by-slab. (43) robc.F version 7.9: * New routine with several ENTRYs which computes several types of radiation open boundary conditions. (44) scalar.h version 7.9: * Remove vertical diffusion (FKPH) and viscosity (FKPM) coefficients. They now reside in "cvmix.h" (45) setvbc.F version 7.9: * New routine used to compute the vertical boundary conditions (surface and bottom fluxes) for momentum and tracers. (46) setvert.F version 7.9: * Rename upper and lower vertical diffusion grid factor arrays EEHQ to DZTURQ, FFHQ to DZTLRQ, EEMQ to DZURQ, and FFMQ to DZVLRQ. The vertical diffusion coefficient is not longer included in these array in order to facilitate the implicit treatment and other schemes later on. (47) shap_lev.F version 7.9: * Rename switch IOPT(3) to IOPT(5) due to the re-design of routine boundary. (48) step.F version 7.9: * Rename external compentents arrays SFU to UBAR, SFV to VBAR, SFUB to UBARB, and SFVB to VBARB. * Put local constants in local parameter statement. * Add calls to new routines SETVBC (to set vertical boundary condtions), CNVMIX (to set constant vertical mixing coefficients), and DIAG (to initialize and compute diagnostics). * Remove call to output routine GFDLOUT (original GFDL output routine). * Add logical switches as in MOM to manage mixing timesteps, diagnostic timesteps, and printing timesteps. * Remove initialization of unused arrays DZ2RQ and C2DZQ. * Add initialization of horizontal diffusion arrays Uxx, Uyy, Vxx, Vyy, Txx, and Tyy. * Renumber do statements. * Add C-preprocessing option to use the Pacanowski and Philander vertical mixing scheme. (49) tracer.F version 7.9: * Include energy diagnostics and implicit treatment of vertical diffusion. The entire routine is re-structured using MOM version as a guideline. * Renumber do statements. (50) tsource.F version 7.9: * New routine used to compute the tracers source term. (51) voldat.h version 7.9: * Volume array XS is eliminated and XT is generalized for NT tracers. (52) workspa.h version 7.9: * Rename upper and lower vertical diffusion grid factor arrays EEHQ to DZTURQ, FFHQ to DZTLRQ, EEMQ to DZURQ, and FFMQ to DZVLRQ. * Replace the arrays (UOVER, UDIF, UUNDER, VOVER, VDIF, and VUNDER) used for the vertical differences of U and V with VMF(IMT,0:KMP1,2). * Remove vertical average of zonal and meridional forcing arrays ZUNENG, ZUSENG, ZVNENG, and ZVSENG. They are now located in diagnostics commom block "engdiag.h". * Remove unused arrays DZ2RQ, DZZQ, DZZ2RQ, C2DZQ, CQ, TOQ, SOQ, CIQ, TOIQ, and SOIQ. * Rename array TDIF(IMT,KMP2,NTMIN2) to VTF(IMT,0:KMP1,NTMIN2) as in MOM. * Add new arrays UUx, UVx, VUy, VVy, WUz, WVz, fU, fV, Uxx, Uyy, Uzz, Vxx, Vyy, Vzz, UTx, VTy, WTz, Txx, Tyy, and Tzz. (53) wrthdr.h version 7.9: * Write out switch NTSOUT in output header. * Add include file "cvmix.h". (54) boundary.h version 7.9: * Add logic for additional tracers. (55) All other relevant codes are upgrated to VERSION 7.9. **** May 26, 1994 : Debugging (1) boundary.F version 7.10: * Add specification of boundary conditions on ZTD for the "provided values" type of OBC. Correct the boundary conditions on transport P for the "provided values" type of OBC. (2) cdfout.F version 7.10: * remove computaion of vertical "flat" velocity at the tracer and velocity points. These is now done in CLINIC and TRACER. (3) clinic.F version 7.10: * Correct computation of UBAR and VBAR and mask properly. (4) hvdout.F version 7.10: * Remove unnecessary include statements. * Correct switch to write barotropic vorticity. (5) inparm.F version 7.10: * Add documentation of PE model options. * Refine documentation of other input parameters. (6) ocean.F version 7.10: * Modify the equivalence statement for FINS, FKMP, and FKMQ. Now the arrays CFN, CFS, and CFE are used instead of P. (7) PEmakefile version 7.10: * Revise the dependencies for BOUNDARY, CDFOUT, and HVDOUT. (8) pemodel.in version 7.10: * Refine documentation of input parameters. (9) setvbc.in version 7.10: * Correct the documentation for the units of the wind stress and add code to use the parameter TWIND. (10) shap_lev.F version 7.10: * Remove checking of switch IOPT(5). This is now done in INPARM. * Correct counter IP; IP=(J-1)*IMT. IMT is now use instead of M. (11) state.F version 7.10: * Correct documentation of density anomaly. The density in the model is nondimensional; its is normalized by RHO0. (12) step.F version 7.10: * Correct computation of UBAR and VBAR and mask properly. (13) xwrite.F version 7.10: * Add switch for the type of grid when writting barotropic vorticity and add switch PEVBAR to the interpolation logic. (14) All other relevant codes are upgrated to VERSION 7.10. **** June 8, 1994 : Debugging continue (1) defcdf.h version 7.11 * Correct spellings and modify documentation. (2) fields.h version 7.11 * Add array ZTDB to store the rate of change of barotropic vorticity. It is only used for output purposes. (3) hvgrid.h version 7.11 * Correct computaion of HV at the eastern and northern boundary. * Put constants in local parameter statement and use them. * Add P output format. (4) hvdout.F version 7.11 * Output ZTDB instead of ZTD. (5) inparm.F version 7.11 * Move declaration of TEXT outside of SUNDATE preprocessing option. Correct spellings. (6) Makefile.cray, Makefile.iris, Makefile.sun3 Makefile.sun4 version 7.11 * Correct brace and backslash (7) ocean.F version 7.11 * Add initialization of array ZTDB. * Put constants in local parameter statement and use them. * Add extra parenthesis in the IF statements to facilitate reading. (8) relax.F version 7.11 * Save field ZTDB for output purposes. * Put constants in local parameter statement and use them. (9) robc.F version 7.11 * Correct entries ZROBC_MOI and ZROBC_ORI to update boundary array PO instead of P. (10) shap_lev.F version 7.11 * Correction made in version 7.10 was wrong. Counter IP is needs to use M instead IMT: IP+(J-1)*M. (11) xwrite.F version 7.11 * Fill non-computational points for visualization purposes. (12) All other relevant codes are upgrated to VERSION 7.11. **** June 8, 1994 : Debugging Shapiro filter. (1) filter.h version 7.12 * Change size of arrays XU and XV from NWDS2 to NWDS. (2) getdgdz.F version 7.12 * Cahnge do loop range from NWDS2 to NWDS. (3) inparm.F version 7.12 * Report documentation for new optios of IOPT(5). (4) okeep.F version 7.12 * Write into virtual memory the entire slab of velocity arrays XU and XV. Write out IMT points instead of IMT-1. (5) osav.F version 7.12 * Save the entire slab of velocity into array XU and XV. Save IMT points instead of IMT-1. (6) pemodel.in version 7.12 * Add documentation for new option in Shapiro filter boundary conditions: IOPT(5)=3 and IOPT(5)=4. (7) shap_lev.F version 7.12 * Reverse M to IMT in counter IP; IP+(J-1)*M. * Add two options in parameter IOPT(5): IOPT(5)=3 IOPT(5)=4 (8) xwrite.F version 7.12 * Change parameter SMALL to 1.0e-20. (9) All other relevant codes are upgrated to VERSION 7.12. **** June 9, 1994 : Add capability to check array bounds at runtime. Debugging continue. (1) bdryindx.F version 7.13 * Correct ranges of arrays JSZ and JEZ. (2) boundary.F version 7.13 * Update PO arrays instead of P when using closed boundary conditions. Remove updating of P when setting boundaries to the provided values. (3) clinic.F version 7.13 * Change the definition of local variable KZ to KM instead of using array KMU. (4) fullwd.h version 7.13 * Rellocate NISLE variable in the common block. * Correct dimensions of arrays JSZ and JEZ (5) Makefile.cray version 7.13 * Correct for the appropriate path in macros SHELL and CPP. (6) ocean.F version 7.13 * Unroll do loops for starting indices arrays FINS, ISZ, * IEZ, IEIS, ISIS, JSIS. * Re-number do loops. (7) param_tmp.h version 7.13 * Remove obsolete parameters NWDS1 and NWDS2. (8) step.F version 7.13 * Unroll NSLAB do loops. (9) tracer.F version 7.13 * Change the definition of local variable KZ to KM instead of using array KMT. * Remove the setting of DENSE water during convection. (10) voldat.h version 7.13 * Change dimensions of volume arrays XT, XU and XV. They are dimensioned NWDS. (11) All other relevant codes are upgrated to VERSION 7.13. **** June 20, 1994 (1) bndata.h version 7.14 * Add boundary arrays for vorticity used for the reduced physics option. (2) boundary.F version 7.14 * Replace index J with I when using boundary arrays UO and VO in setting southern and northen boundary conditions. * Separate swiches for transport and vorticity. There new entries in ROBC to set the boundary conditions on transport and vorticity separatelly. (3) clinic.F version 7.14 * Incompatible argument type in intrinsic function MIN when computing UBAR and VBAR. * Add rolling of new vorticity boundary arrays ZUNZ, ZVNZ, ZUSZ, and ZVSZ. * Correct rolling of array ZVSENG. (4) cnvmix.F version 7.14 * Correct range of arrays VDC and VVC; use index K instead of J. (5) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4 version 7.14 * Correct macro FC and the passing of macro FFLAGS to secondary makefile PEmakefile (CRAY makefile). * Add an example of the data files used in assimilation (oi.dat) and Lagrangian drifters (lagrange.dat) to the EXTRA macro. * Eliminate obsolete routine "internal.F" (6) hvgrid.F version 7.14 * Rename switch IOPT(4) to IOPT(7). (7) inparm.F version 7.14 * Write out documentation for new boundary switch IOPT(4). * Pass previous rol of switch IOPT(4) to switch IOPT(7) and correct logical statements. (8) Lagrange.dat (NEW) version 7.14 * Add this file to SCCS (including previous deltas) as an example of how to set OI parameters. (9) oi.dat (NEW) version 7.14 * Add this file to SCCS (including previous deltas) as an example of how to set Lagrangian drifters parameters. (10) PEmakefile version 7.14 * Add file "vertslabs.h" to "robc.f" dependencies. * Add file "bndata.h" to "clinic.f" dependencies. * Eliminate dependencies for obsolete routine "internal.F" (11) pemodel.in version 7.14 * The boundary condition switch IOPT(3) is now used for tranport streamfunction only whereas IOPT(4) is now used for vorticity only. * The boundary condition switches have a new option for reduced physics type of boundary conditions. * Previously IOPT(4) was used to select the type of treatment for the Corilis term; this is now done with switch IOPT(7). (12) robc.F version 7.14 * Restructure routine, add/rename entries, and renumber DO loops. * Corrent for starting and ending indices in the setting of southern and northern boundary conditions. The values at the end points are averaged in time. * Correct computation of internal velocities: mean substraction. * Add entries PROBC_ORI, PROBC_MOI, ZROBC_EXT, ZROBC_RPH. (13) shap_lev.F version 7.14 * Correct the definitions of JROWE and ICOLE. Their values where switched (N and M). (14) step.F version 7.14 * Provide a more detailed documentation about boundary conditions and saving data to virtual memory. * Call SETVERT(jmtm2) before northern boundary conditions. (15) Routine "internal.F" is eliminated. (16) All other relevant codes are upgrated to VERSION 7.14. **** July 6, 1994 (PNH biological model and etc.) (1) anaflds.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (2) bdryindx.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (3) biopnh.in version 7.15 * NEW standard input script for PNH biological input parameters. (4) bndata.h version 7.15 * Move constants for uniform wind stress TWIND, WINDX, and WINDY to common block CVBC. (5) boundary.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (6) cbiopnh.h version 7.15 * NEW common block associated with the PNH biological model. (7) cfl.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (8) cnvmix.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (9) cvbc.h version 7.15 * Add constants for uniform wind stress distribution: TWIND, WINDX, and WINDY. * Add constants for uniform surface fluxes: SHFX (surface heat flux), SWFX (surface water flux; E-P), and SWRAD (shortwave radiation). * Incease second dimension of array STF to three (3) to store the shortwave radiation distribution. (10) drifters.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (11) exitus.F version 7.15 * NEW routine which is used to close IO datasets when abnormal computations. (12) infld.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (13) inparm.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. * Add statements for processing PNH biological model input parameters. * Renumber executable statements. (14) iounits.h version 7.15 * Add BIOINP as the logical unit to read biological model input parameters. (15) landsea.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (16) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.15 * Add new c-preprocessing option BIOPNH and its associated routines: "biosource.F" and "cbiopnh.h". (17) my_handler.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (18) ocean.F version 7.15 * The computation of contants PI and OMEGA are revised to allow precision. * Assign input file unit BIOINP used when biology modules are activated. * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (19) odam.F version 7.15 * Correct array index in entry OPICK: change index NS with MS in array A. (20) oiassi.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (21) PEmakefile version 7.15 * Add dependecies for new routine EXITUS. * Add dependecies for new routine BIOSOURCE and other routines affected by the option BIOPNH. * Add dependecy "workspa.h" to module TSOURCE. (22) pemodel.in version 7.15 * The units in TWIND are now in days instead of seconds. * Add constants for uniform surface fluxes to input card 9: SHFX (surface heat flux), SWFX (surface water flux; E-P), and SWRAD (shortwave radiation). (23) robc.F version 7.15 * Correct indices in entries VROBC_SR and ZROBC_EXT. (24) setvbc.F version 7.15 * Assign uniform surface fluxes on tracer to working array STF. Notice that array STF increased its second dimension to three (3) to store shortwave radiation. * Change the logical statement in the uniform wind distribution to DAY units. (25) spline.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (26) splint.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (27) step.F version 7.15 * Add code associated with the option BIOPNH which activates PNH biological model. (28) tsource.F version 7.15 * Change the passing of array Tsrc in routine call. This array is now passed via common block WORKSPA. (29) tracer.F version 7.15 * Change the passing of array Tsrc in routine call TSOURCE to allow the use of common block WORKSPA in that routine. * Add code associated with the option BIOPNH which activates PNH biological model. (30) xread.F version 7.15 * Replace STOP statement by a call to new routine EXITUS which properly closes IO datasets when abnormal computations. (31) All other relevant codes are upgrated to VERSION 7.15. **** July 13, 1994 (1) anaflds.F version 7.16 * Add entry ANADIAG which allows the User to compute, monitor, and report any diagnostics during the computations at the User desired time frequency. This entry is call by STEP for each row every timestep. (2) biopnh.in version 7.16 * Add sinking rates WSNKPHY, WSNKSOO, WSNKNO3, and WSNKNH4. * Change units for ATTH20 and ATTPHY to centimeters instead of meters. (3) biosource.F version 7.16 * Add sink term for each biological tracer. (4) cbiopnh.h version 7.16 * Add sinking rates WSNKPHY, WSNKSOO, WSNKNO3, and WSNKNH4 to common block. (5) cdiag.h version 7.16 * Increase dimension of balance array TERMBT by one to allow diagnostics of the source/sink term. (6) diag.f version 7.16 * Compute and report diagnostics for the source/sink term. (7) inparm.h version 7.16 * Read in and report sinking rates WSNKPHY, WSNKSOO, WSNKNO3, and WSNKNH4. (8) step.F version 7.16 * Add call to ANADIAG to compute, monitor, and report any User desired diagnostic for each row every timestep. This can be done when the c-preprocessing option ANALYTICAL is activated. (9) tracer.F version 7.16 * Compute balance TERMBT(k,8,m) due the source/sink term Tsrc. (10) All other relevant codes are upgrated to VERSION 7.16. **** August 17, 1994 (Model input via NetCDF) (1) assiwght.F version 7.17 * Change internal classification of variable IFIELD to allow the expansion of tracer type variables to assimilate: IFIELD = 1 transport streamfunction. 2 internal mode, u-velocity component. 3 internal mode, v-velocity component. 4 temperature. 5 salinity. ... other tracers. * Change accessing of volume data to slab error data. (2) bdryindx.F version 7.17 * Rename variable LANDU to LANDV. * First, read sea/mask at the U,V points LANDV from initialization NetCDF file and write LANDV to PE output NetCDF file. Second, over-write LANDV with FKMQ as used in RELAX (this is now done at the end of the routine). * Change call to NetCDF writing routine. Use NCVPT instead of NCVPTG. Generalized hyperslab routine NCVPTG is not necessary. Local arrays STRIDE and IMAP are eliminated. * Document and re-number statements. (3) boundary.F version 7.17 * Correct logical statement which sets reduced physics boundary conditions on vorticity. (4) cdfout.F version 7.17 * Rename time dimension index from TINDX to TOUTINDX. * Terminate execution if an error occurs while writing. (5) defcdf.F version 7.17 * Change call to NetCDF writing routine. Use NCVPT instead of NCVPTG. Generalized hyperslab routine NCVPTG is not necessary. Local arrays STRIDE and IMAP are eliminated. * Modify global atributes for output file. * Rename variable LANDU to LANDV. * Rename output time ID form TIMEID to TOUTID. * Terminate execution if an error occurs while writing. (6) fullwd.h version 7.17 * Rename variable LANDU to LANDV for consistency in NetCDF files. (7) infld.F version 7.17 * This routine is extensively modified to read new input file format. Initialization and boundary conditions data are read from initialization NetCDF file. (8) inparm.F version 7.17 * Add new C-preprocessing option DECDATE to use DEC's intrinsic time managing routines. * Correct reporting of Shapiro filter application switch. Use IOPT(6) instead IOPT(4). (9) ioi.h version 7.17 * Add documentation for common block variables. * Volume data is eliminated. Only slab data is keep in the common block. Volume data now is accessed via NetCDF. The following variables were changed from volume to slab data: TOBS, TOBSERR, TFCTERR, UOBS, UOBSERR, UFCTERR, VOBS, VOBSERR, VFCTERR, POBS, POBSERR, and PFCTERR. (10) iounits.h version 7.17 * Remove obsolete variable HEXINP from common block. (11) landsea.F version 7.17 * This routine is extensively modified to read new input file format. Land/sea mask data is read from initialization NetCDF file "pe_ini.cdf". * Add reading of starting and ending indices for the island boxes. (12) lap_filt.F version 7.17 * Rename variable LANDU to LANDV. (13) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.17 * Correct passing of macro FFLAGS to secundary makefile PEmakefile; use single quotes instead of double. * Eliminate obsolete routine XREAD. * Order the entries in macro GFDLSRC in logical order. * Insure that executable is always compiled with the NetCDF library. * Add new C-preprocessing option DECDATE to use DEC's intrinsic time managing routines. (14) ocean.F version 7.17 * Remove initialization of obsolete variable HEXINP. * Remove writing of PE header in assimilation output file (unit IOIOUT). (15) oi.dat version 7.17 * Add and change documentation about the order of reading variables IAP, IAUV, IATS, ERRP, ERRUV, and ERRTS. This is done to facilitate the expasion of tracer type variables to assimilate. (16) oiassi.F version 7.17 * This routine is extensively modified to read new input file format. Assimilation (observation and errors) fields are read from initialization NetCDF file "pe_ass.cdf". * Statements involving volume data are changed to slab type data. Volume storage is removed. The data that is needed is accessed from the NetCDF file at the required time and slab. * Change internal classification of variable IFIELD to allow the expansion of tracer type variables to assimilate above in "assiwght.F". * Change the order of reading variables IAP, IAUV, IATS, ERRP, ERRUV, and ERRTS from assimialation input script file to allow the expasion of tracer type variables to assimilate. (17) oibndry.F version 7.17 * Change boundary edges numbers by their respective variables: EAST, SOUTH, WEST, and NORTH. (18) oiopts.h version 7.17 * Add documentation for common block variables. (19) PEmakefile.h version 7.17 * Modify dependencies for targets: infld.f, landsea.f, oiassi.f, wrtcdf.f * Eliminate target for "xread.f". This routine is eliminated. (20) pe_netcdf.h version 7.17 * Re-structure common block and documentation. * Add ID's for initialization and assimilation NetCDF input files. (21) relax.F version 7.17 * Rename variable LANDU to LANDV. (22) robc.F version 7.17 * Correct range for loops 1400 and 1410 in entry ZROBC_SR. (23) shap_lev.F version 7.17 * declared local variable L when C-preprocessing option "coast" is activated. (24) step.F version 7.17 * Undeclared local variable IP when C-preprocessing options "biopnh" and "shapiro" are activated. (25) wrtcdf.F version 7.17 * Change call to NetCDF writing routine. Use NCVPT instead of NCVPTG. Generalized hyperslab routine NCVPTG is not necessary. Local arrays STRIDE and IMAP are eliminated. * Terminate execution if an error occurs while writing. (26) xread.F version 7.16 * Routine is eliminated. Input is now via NetCDF. (27) All other relevant codes are upgrated to VERSION 7.17. **** September 22, 1994 (Lagrangian trajectories and NetCDF output revisited) (1) anaflds.F version 7.18 * Assure that bottom topography HR is positive. Standard topography datasets have positive elevation and negative bathymetry values. (2) assiwght.F version 7.18 * Correct update of assimilation expected mean square error. The array ERRFLD is expanded to NT-tracers. (3) bdryindx.F version 7.18 * Remove C-preprocessing option "netcdf"; it becomes a default option. * Modify output format to STDOUT unit. (4) bes1d.F version 7.18 * Put local constants in a parameter statement. (5) bes2d.F version 7.17 * Routine is eliminated. (6) bracket_z.F version 7.18 * This routine is modified so it is consistent with the generalized terrain-following coordinates. Routine ZVOL2COL is eliminated. (7) cdfout.F version 7.18 * Augment and modify the number of routine arguments when calling routine WRTCDF. * Re-organize IF statments for clarity. Now each field has independent IF statements. (8) cdiag.h version 7.18 * Re-organize documentation of the common block variables. * Correct dimension of variable TTN. * Add local dimension parameters TTERMS and MTERMS for the number of tracer and momentum balaces. (9) defnrg.F version 7.18 * New routine which defines output energy/diagnostics data into output energy/diagnostics NetCDF. (10) defout.F version 7.18 * Routine "defcdf.F" is renamed to "defout.F" * Modify dimension order of output NetCDF fields. NetCDF fields are modified to conform a right-hand system (...,level,lon,lat,...) to facilitate the visualization via IBM data explorer. * Input tracer type NetCDF fields are now split in one variable per each tracer. * Add additional attributes for IBM data explorer. (11) derivs0.F version 7.18 * Routine is restructured due to the elimination of volume data which modifies the interpolation strategy. Calls to routine BES2D are eliminated and replaced by BES1D. (12) diag.F version 7.18 * Routine is re-structured to output energy/diagnostics in NetCDF format. * Correct DO loop range for variable TTN. (13) drifters.F version 7.18 * Rename variable NTRACERS to NFLOATS. * Modify descriptor array TRACK. * Setup new array TSTART. * Renumber and put format statements at the end of routine. (14) exitus.F version 7.18 * Add the closing of output NetCDF trajectories and energy/diagnostics files. * Remove C-preprocessing option "netcdf"; it becomes a default option. (15) fsigma.F version 7.18 * Modify descriptor array TRACK. * Routine is restructured due to the elimination of volume data which modifies the interpolation strategy. Call to routine BES2D is eliminated and replaced by BES1D. (16) get_z.F version 7.17 * Routine is eliminated. (17) gfdlout.F version 7.18 * Routine is eliminated. (18) hvdout.F version 7.18 * Routine is eliminated. (19) infld.F version 7.18 * Modify dimension order of input NetCDF fields. NetCDF fields were modified to conform a right-hand system (...,level,lon,lat,...) to facilitate the visualization via IBM data explorer. * Input tracer type NetCDF fields are now split in one variable per each tracer. * Renumber DO loops. (20) inparm.F version 7.18 * Move character titles to routine DEFCDF. * Remove C-preprocessing option "netcdf"; it becomes a default option. Remove documentation of other output types. (21) ioi.h version 7.18 * Modify dimensions of array ERRFLD to facilitate the expansion of tracer type variables. (22) landsea.F version 7.18 * Modify output format to STDOUT unit. (23) lnblk.F version 7.18 * NEW routine use to compute the length of character strings. Blank spaces at the end of the string are ignored. (24) load_sig.F version 7.18 * Eliminate computation of density anomaly. Their values are now pass from routine STEP. (25) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.18 * Remove obsolete routines: BES2D, GET_Z, GFDLOUT, HVDOUT, UPDATE, WRTHDR, XWRTE, ZVOL2COL. * Add new routines: LNBLK, SIG2Z. * Remove C-preprocessing option "netcdf"; it becomes a default option. (26) matrix.F version 7.18 * Routine is eliminated. (27) meld_tracks.F version 7.18 * Modify completely post-processing code for trajectories. The input file is now a NetCDF file. (28) my_handler.F version 7.18 * Terminate execution if invalid argument. (29) PEmakefile version 7.18 * Remove dependencies for obsolete routines GET_Z, GFDLOUT, HVDOUT, UPDATE, WRTHDR, XWRTE, ZVOL2COL. * add/remove dependecies for other routines. (30) pefldid.h version 7.18 * Remove obsolete common block. Not longer needed due to NetCDF format. (31) pemodel.in version 7.19 * Remove switch to write out buoyancy. The buoynacy is always written by default into the energy/diagnostics NetCDF file. (32) pe_netcdf.h version 7.18 * Re-structure completely the common block. (33) ocean.F version 7.18 * Eliminate call to routine WRTHDR. This routine is eliminated. C-preprocessing option "netcdf" is eliminated; it becomes a default option in the model. (34) oiassi.F version 7.18 * Modify dimension order of input NetCDF fields. NetCDF fields were modified to conform a right-hand system (...,level,lon,lat,...) to facilitate the visualization via IBM data explorer. * Input tracer type NetCDF fields are now split in one variable per each tracer. * Renumber DO loops. (35) rk40.F version 7.18 * Expand dimension of Y and YOUT arrays from 3 to 8. Store velocity components in array YOUT. (36) runid.h version 7.18 * Add new variable VERSION to the common block. (37) sig2z.F version 7.18 * NEW routine which is used to determine at what depth the target density occurs at the given horizontal position. (38) sig_search.F version 7.18 * This routine is modified so it is consistent with the generalized terrain-following coordinates. Routine GET_Z is eliminated. (39) sigma2z.F version 7.18 * This routine is modified so it is consistent with the generalized terrain-following coordinates. (40) step.F version 7.18 * Add calls to routine LOAD_SIG to store the density anomaly into volume array SIG_VOL. (41) trackbound.F version 7.18 * Put local constants in a parameter statement. * Augment dimension of array TRACK. (42) tracer.F version 7.18 * Correct factor FXB in the integration of buoyancy work. (43) trackinit.F version 7.18 * Remove initialization of volume data. Routine UPDATE is eliminated. (44) tracks.h version 7.18 * Document variables in common block. * Rename variables NTRACERS to NFLOATS and NTRACERMAX to MAXFLOATS. * Remove timestep dimension NTRACKMAX. Drifters trajectories are written into the output trajectories NetCDF file at each timestep. * Add array TSTART which stores the release time (modified Julian day and model clock) for each drifter. * Augment dimension of descriptor array TRACK from 5 to 8. Reorder the values in TRACK: TRACK(1,n) x-position TRACK(2,n) y-position TRACK(3,n) z-position TRACK(4,n) time TRACK(5,n) u-component velocity TRACK(6,n) v-component velocity TRACK(7,n) w-component velocity TRACK(8,n) density (45) trackrefresh.F version 7.18 * Load density for slab JMT. (46) tracksout.F version 7.18 * This routine is completely re-structured. The output is now via NetCDF. The trajectories are now written at each timestep. (47) trackup.F version 7.18 * Starting time of drifter is now pass via TSTART. (48) trkfld.h version 7.18 * Remove volume data arrays for velocity from common block. The only volume data array in the drifter's package is that for density: SIG_VOL. (49) update.F version 7.18 * Routine is eliminated. (50) wrtcdf.F version 7.18 * Augment and modify the number of routine arguments. * Modify dimension order of output NetCDF fields. NetCDF fields are modified to conform a right-hand system (...,level,lon,lat,...) to facilitate the visualization via IBM data explorer. * Input tracer type NetCDF fields are now split in one variable per each tracer. (51) wrthdr.F version 7.18 * Routine is eliminated. (52) xwrite.F version 7.18 * Routine is eliminated. (53) zvol2col.F version 7.17 * Routine is eliminated. (54) All other relevant codes are upgrated to VERSION 7.18. **** November 1, 1994 (Variable forcing and sub-domain extraction) (1) cdfout.F version 7.19 * Correct NetCDF ID for integrated velocity shear. (2) cfl.F version 7.19 * Remove CFL checking in vertical velocity. Recall that vertical velocity is a diagnostic (not prognostic) variable. (3) cinpvbc.h version 7.19 * New common block which is used to store point or gridded fluxes time series. (4) cvbc.h version 7.19 * Clean common block of obsolete forcing variables. It only contains the arrays used in CLINIC and TRACER. (5) defout.F version 7.19 * Correct computation of the longitude/latitude of every tracer and velocity points. This data is now stored in area arrays which can be accessed from common block MODDAT. Modify the writing of this data into NetCDF output files. Renumber statements. (6) drifter.F version 7.19 * Eliminate the IUNIT from the subroutine arguments. The unit which reads the initial positions of the floats is now TRKINP and is set-up locally as TRKINP=34. (7) exitus.F version 7.19 * Remove the flushing of obsolete unit HEXOUT. (8) extraction.dat version 7.19 * New script file which is used to pass extraction parameters to the PE model. (9) fullwd.h version 7.19 * Add new variable DSTART to the common block. (10) infld.F version 7.19 * Correct the checking of JMAX and KMAX. The logical statement was with IMAX. * Create new variable DSTART which has the initialization time (usually in Julian Day). (11) inparm.F version 7.19 * Add common block CVBC to the include statements. * Remove obsolete entries in input card 9 (uniform forcing parameters). Input card 9 only reads a dummy real variable. This card will be used in the future. * Remove reporting of uniform forcing parameters. (12) iounits.h version 7.19 * Remove obsolete variables from common block: HEXOUT, TRKOUT * Add new variable XTRINP. (13) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.19 * Add new C-preprocessing options: "extraction" and "forcing" * Add new routines READVBC, XTRSUBDOM, XTRACT, XTR_PSI, XTR_TRC, XTR_VEL (14) moddat.h version 7.19 * Add new positional arrays to common block: TLAT, TLON, VLAT, VLON. (15) ocean.F version 7.19 * Remove initialization of input unit TRKOUT. These is now done locally in rotine DRIFTERS. * Add initialization of input unit XTRINP which provides sub-domain extraction parameters. * Add new C-preprocessing switch "extraction" and call to new routine XTRSUBDOM. * Remove flushing of obsolete unit HEXOUT. (16) PEmakefile version 7.19 * Update dependencies for routines INPARM and SETVBC. * Add dependencies for new routines READVBC, XTRSUBDOM, XTRACT, XTR_PSI, XTR_TRC, XTR_VEL. (17) pemodel.in version 7.19 * Eliminate uniform forcing parameters from input card 9. The card now has one DUMMY variable. This card is reserved for future use. (18) pe_netcdf.h version 7.19 * Add new varaibles associated with the forcing NetCDF file. (19) readvbc.F version 7.19 * New routine used to read in uniform/nonuniform vertical boundary conditions from forcing NetCDF file. (20) setvbc.F version 7.19 * This routine is re-structured to set-up the time varying forcing via interpolation of the data read from forcing NetCDF file. * Surface heat, water, and momentum fluxes are activated. Also shortwave radiation. (21) tracer.F version 7.19 * Remove parenthesis in the tracer term associated with implicit vertical diffusion. (22) xtr_param.h version 7.19 * New parameter statement associated with the sub-domain extraction modules. (23) xtr_psi.F version 7.19 * New routine used to extract and interpolate initial and boundary conditions transport and vorticity fields at the requested sub-domain(s). (24) xtr_trc.F version 7.19 * New routine used to extract and interpolate initial and boundary conditions tracer fields at the requested sub-domain(s). (25) xtr_vel.F version 7.19 * New routine used to extract and interpolate initial and boundary conditions velocity fields at the requested sub-domain(s). (26) xtract.F version 7.19 * New routine used to read/write extracted sub-domain data from/into NetCDF file. (27) xtrsubdom.F version 7.19 * New routine which is the driver of the sub-domain extraction module. (28) All other relevant codes are upgrated to VERSION 7.19 **** November 13, 1994 (Extrapolation in Pressure Gradient) (1) bupdate.F version 7.20 * New routine used to replace the boundary data in common block BNDATA with the new values after Shapiro filtering. The call to this routine are commented out. * The status of this routine to be decided later. (2) compile.com version 7.20 * New VMS script used by Makefile.vms to compile the the model on the VAX with VMS system. (3) defout.F version 7.20 * Correct documentation: positions at velocity points instead of tracer points. (4) extraction.dat version 7.20 * Modify order of parameters in input script: parameters, filename for sub-domain 1, ... etc. (5) grad24_p.F version 7.20 * Modify routine to allow the new extrapolation algorithm for pressure gradient. * Add call to new routine EXTRAP. * Replace call to OPICK with call to OGET. (6) gradp2.h version 7.20 * Modify extrapolation flag in the arguments of SPLINTSLAB to arrays. * Add statements for new C-preprocessing option "noxtrp". * Add call to new routine EXTRAP. (7) gradph2.h version 7.20 * Modify extrapolation flag in the arguments of SPLINTSLAB to arrays. * Add statements for new C-preprocessing option "noxtrp". * Add call to new routine EXTRAP. (8) gradp4.h version 7.20 * Modify extrapolation flag in the arguments of SPLINTSLAB to arrays. * Add call to new routine EXTRAP. (9) gradph4.h version 7.20 * Modify extrapolation flag in the arguments of SPLINTSLAB to arrays. * Add call to new routine EXTRAP. (10) inparm.F version 7.20 * Add reporting of new C-preprocessing option "noxtrp" for no extrapolation in pressure gradient. (11) lintslab.F version 7.20 * Rename extrapolation variable DEP to XTP for consistency. (12) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.20 * Add new C-preprocessing option: "noxtrp". * Add new routines BUPDATE and EXTRAP. * Add "extraction.dat" and "compile.com" to EXTRA macro. * Makefile for the VAX/VMS was completely modified. New version was provided from Malcom Zahorodny (SACLANT). It uses new VMS script "compile.com". (13) oiassi.F version 7.20 * Correct format statement 915. (14) oiassi.F version 7.20 * Add dependencies for new routine BUPDATE. (15) ppmix.F version 7.20 * Remove # from documentation to avoid problems during C-preprocessing. If not, it will fail in VMS environment. (16) shap_lev.F version 7.20 * Add variable KEY to argument list to indicate velocity or tracer fields. Use KEY to determine starting and ending points in the coastal set-up. (17) splineslab.F version 7.20 * Modify boundary condition on splines. Add evaluation of the first derivative by interpolation from cubic polynomial. (18) splintslab.F version 7.20 * Rename extrapolation variable DEP to XTP for consistency. (19) step.F version 7.20 * Add argument at the calling of routine SHAP_LEV, the new argument is either KEYV or KEYT to indicate filtering on velocity or tracer points. * Add call to new routine BUPDATE which replaces the boundary data in common block BNDATA with the new values after Shapiro filtering. The call to this routine are commented out. (20) xtr_psi.F version 7.20 * Save variables CM2DEG and RTERM in save statement. * Rename variable XGRID to XDIS for clarity. (21) xtr_trc.F version 7.20 * Save variables CM2DEG and RTERM in save statement. * Rename variable XGRID to XDIS for clarity. * Convert depth to centimeters. * Add mean to salinity. (22) xtr_vel.F version 7.20 * Save variables CM2DEG and RTERM in save statement. * Rename variable XGRID to XDIS for clarity. * Convert depth to centimeters. (23) xtract.F version 7.20 * Correct arguments in call to routine XTR_TRC. (24) All other relevant codes are upgrated to VERSION 7.20 **** December 21, 1994 (Implicit vertical mixing corrections) (1) bdryindx.F version 7.21 * Add computation of new arrays ISQ and IEQ which contains the starting and end indices at velocity points. * Renumber statements. (2) clinic.F version 7.21 * Change KZ to KZ=KMU(i) * Add new C-preprocessing option "explicitvmix" and eliminate "implicitvmix". The implicit vertical mixing becomes the default scheme. * Use array FKMU instead of KMU. * Use masking array GM in the final internal mode velocity after the incorrect mean (LOOP 590) has been substracted. * Correct computation of acceleration when implicit vertical mixing; use masking array GM. Use (ub,vb) instead of (u,v). (3) cnvmix.F version 7.21 * Add new C-preprocessing option "explicitvmix" and eliminate "implicitvmix". The implicit vertical mixing becomes the default scheme. (4) defout.F version 7.21 * Remove computation of longitude/latitude at the tracer and velocity points. This computation is now done in routine HVGRID. (5) fullwd.h version 7.21 * Add new start and end indices ISQ and IEQ. (6) hvgrid.F version 7.21 * Add computation of longitude/latitude at the tracer and velocity points. Area arrays TLON, TLAT, VLON, and VLAT are stored in common block MODDAT. * Renumber statements. (7) inparm.F version 7.21 * Add new C-preprocesing option "rivmix" for vertical mixing in terms of the Richardson number. * Add new C-preprocessing option "explicitvmix" and eliminate "implicitvmix". The implicit vertical mixing becomes the default scheme. (8) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.21 * Add new C-preprocessing option "explicitvmix" and eliminate "implicitvmix". The implicit vertical mixing becomes the default scheme. (9) PEmakefile version 7.21 * Add "rhomean.h" to the depencies of routine SETVBC. (10) pemodel.in version 7.21 * Modify defaults values for the following parameters: NCON, VDCLIM, and VVCLIM. (11) ppmix.F version 7.21 * Set large vertical coeffient in regions of gravitational instability. Add logical statement for negative Richardson numbers. (12) relax.F version 7.21 * Remove duplicate declaration of ISLE. (13) shap_lev.F version 7.21 * Routine is re-structured completed to allow momentum and tracer to filtered according to their different starting and ending points. (14) setvbc.F version 7.21 * Correct logical statement for the grided surface heat flux. Use variable LSHGRD instead of LSMGRD. * Add SMEAN to the salinity in the computation of the surface water flux. Add common block RHOMEAN to the includes statements. (15) step.F version 7.21 * Compute the diffusion/viscosity coefficeints for row J=1. It applies to C-preprocessing options "ppvmix" and "rivmix". * Add call to new routine RIMIX which are activated with the new C-preprocessing option "rivmix". This routine computes the vertical diffusion/viscosity coeffients in terms of the Richardson number. (16) tracer.F version 7.21 * Correct argument in call to routine INVTRI. Use array BTF instead of BMF. * Add logical statement to perform convection loop only if NCON is greater than zero. * Change KZ to KZ=KMT(i) * Add new C-preprocessing option "explicitvmix" and eliminate "implicitvmix". The implicit vertical mixing becomes the default scheme. (17) All other relevant codes are upgrated to VERSION 7.21 **** February 22, 1995 (Implicit vertical mixing corrections continue) (1) bdryindx.F version 7.22 * Replace zeros with variable C0. * The correction to the logical statement (L.ge.LSEGP) is pending. This logic works if the number of start and end indices LSEG in "param.h" is greater than the actual number of the coastal segments plus one. (2) biosource.F version 7.22 * Rename shortwave radtiation STF(IMT,3) to SRF. (3) blkdat.F version 7.22 * Iniatialize variables SMEAN, RHO0, RBAR, SBAR, SCOEF, TBAR, and TCOEF for common block "rhomean.h". * Iniatialize new variables in common block "cvmix.h": CP, GAMMA, TAUMIN, LATMF0, MCOEF, NCOEF. (4) clinic.F version 7.22 * Organize local declaration statements. * Mask the change of velocity in loop 380 to the difference UA-UB. (5) cnvmix.F version 7.22 * Re-structured to determine mixed-layer depth and gravitational stability. * Add call to new routines MIXLAYER, PDENVGRAD, and CONVECT. (6) cppmix.h version 7.22 * Remove DRHO and DRHOP from common block; they are now in common block "cvmix.h". * Add parameter FRICMX to the common block. (7) cvbc.h version 7.22 * Add new fluxes to common block: SBF and SBFP. * Remove shortwave radiation from STF(IMT,3) to facilitate the natural expasion of tracers (biological tracers). * Create array SRF and SRFP for the shortwave radiation. (8) fullwd.h version 7.22 * Re-organize the common block. Simplify C-preprocessing statetements. (9) inparm.h version 7.22 * Add reading of new parameters associated with vertical mixing. * Remove C-preprocessing option RIVMIX because it is not used. (10) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.22 * Add new routine VMIX_AUX. * Create $code and $includes macro to pass full deprendecies (path directory) to the make target. This will allow executing the makefile in different directory to that of the source code. (11) PEmakefile version 7.22 * Add dependecies to new routine VMIX_AUX. (12) oiassi.F version 7.22 * Change argument to EXITUS call. (13) pemodel.in version 7.22 * Re-structure input cards 6, 7, and 9. Add new parameters associated with new vertical mixing scheme and mixed layer. * Organize documentation. (14) ppmix.F version 7.22 * Add calls to new routines PDENVRHO, MIXLAYER, and CONVECT. (15) readvbc.F version 7.22 * Correct checking of dimension of gridded frocing. Separate checking of velocity grid from tracer grid logic. * Correct time index when processing shortwave radiation; use ITSWR instead ITSWF. (16) rhomean.h version 7.22 * Remove internal declaration of SMEAN, RHO0, RBAR, SBAR, SCOEF, TBAR, and TCOEF from parameter statement. Add these variables to the common block and initialize them in BLKDAT.F. (17) robc.F version 7.22 * Correct entry PROBC_ORI for Orlanski radiation condition on transport streamfunction. (18) step.F version 7.22 * Add initialization of array GM. * Remove call to non-existing routine RIMIX and its associated C-preprocessing option RIVMIX. (19) setvbc.F version 7.22 * Add computation of new variable STFP (surface tracer flux at row J+1). * Correct computation of surface water flux; change TB(I,J,2) to TB(I,1,2). * Add no-flux condition on tracers. * Set surface tracer flux in the biological tracers to zero. * Rename STF(IMT,3) to SRF. This allows the natural expansion of the fluxes to N tracers. * Scale the fluxes to model units. At input the heat flux, water flux, and shortwave radiation is in Watts/m^2, cm/day, and Watts/m^2, respectively. (20) shap_lev.F version 7.22 * Skip filtering if the coastal segment has only one point. (21) step.F version 7.22 * Compute the diffusion/viscosity coefficeints for row J=1. It applies to C-preprocessing options "ppvmix" and "rivmix". Re-organize C-preprocessing IF statements. (22) vmix_aux.F version 7.22 * New routine to process vertical mixing coefficients. Currently, it has three entries: MIXLAYER, PDENVGRAD, and CONVECT. (23) xtr_psi.F version 7.22 * Correct computation of rate of change of vorticity. A factor of C2DTSF is missing. (24) All other relevant codes are upgrated to VERSION 7.22 **** March 22, 1995 (Remove parameter file "xtr_parm.h") (1) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.23 * Remove "blkdat.f" from macro ANASRC. This file is now in HUSRC. * remove "xtr_param.h" from macro INCLUDES; this file becomes obsolete. (2) param_tmp.h version 7.23 * Add parameters for sub-domain extraction: MSUBDOM, XIMT, and XKM. (3) PEmakefile version 7.23 * Remove "xtr_parm.h" dependency to targets "xtract.f" and "xtrsubdom.f" (4) xtract.F version 7.23 * Remove obsolete parameter statement "xtr_param.h". * Remove XIMT from argument call to subroutines XTR_PSI, XTR_TRC and XTR_VEL. * Remove XIMTKM from argument call to subroutines XTR_TRC and XTR_VEL. (5) xtr_param.h version 7.22 * Parameter statement becomes obsolete. The parameters for sub-domain extraction are now declared in "param.h" (6) xtr_psi.F version 7.23 * Remove XIMT from argument call. This parameter is now declared in "param.h". (7) xtr_psi.F version 7.23 * Remove XIMT from argument call. This parameter is now declared in "param.h". (8) xtr_trc.F version 7.23 * Remove XIMT and XIMTKM from argument call. These parameters are now declared in "param.h". (9) xtr_vel.F version 7.23 * Remove XIMT and XIMTKM from argument call. These parameters are now declared in "param.h". (10) xtrsubdom.F version 7.23 * Remove obsolete parameter statement "xtr_param.h". (11) All other relevant codes are upgrated to VERSION 7.23 **** March 28, 1995 Add Conjugate Gradient and cyclic boundary conditions. (1) anaflds.F version 7.24 * Insure cyclic boundary conditions in initial fields when "cyclic" is activated. * Add new entry ANAVBC which sets the analytical vertical boundary conditions (forcing fields) when the option "analytical" is activated. (2) bdryindx.F version 7.24 * Change ranges in the computation of FMKZ from IMU to IMT. The variable IMU changes according to C-preprocessing "cyclic". * Avoid reading LANDV from input NetCDF file when "analytical" is activated. (3) clinic.F version 7.24 * Insure cyclic boundary conditions in initial fields when "cyclic" is activated. * Use variable IMUM1 for the range of several DO loops instead of IMTM2. This facilitates the implementation of cyclic boundary conditions. (4) extrap.F version 7.24 * Rearrange extrapolation to eliminate round-up when fields are uniform. (5) grad2_p.F version 7.24 * Insure cyclic boundary conditions on DPDX and DPDY if "cyclic" is activated. (6) grad24_p.F version 7.24 * Insure cyclic boundary conditions on DPDX and DPDY if "cyclic" is activated. * Dimension HPX and HPY to (IMT,KM) to allow running the model in barotropic mode (one level). * Add new argument (KM) to routine call INIT_SRCH. (7) hvgrid.F version 7.24 * Insure cyclic boundary conditions on arrays DXT, DXU, and HV if "cyclic" is activated. (8) inparm.F version 7.24 * Report new C-preprocessing options "cyclic" and "sor5pt". (9) infld.F version 7.24 * Remove the computation of PRMS which is used for the convergence criteria. This is now done in RELAX at each time step. (10) init_srch.F version 7.24 * Protect search in barotropic set-up (one level). * Add new argument KM. (11) landsea.F version 7.24 * Add reading of the land/sea mask ASCII-file when the option "analytical" is activated. Add computation of LANDV. (12) lap_depth.F version 7.24 * Insure cyclic boundary conditions on LAP_XX and LAP_YY if "cyclic" is activated. * Add new argument (KM) to routine call INIT_SRCH. (13) lap_lev.F version 7.24 * Insure cyclic boundary conditions on LAP_F if "cyclic" is activated. (14) lintslab.F version 7.24 * Rearrange interpolation to eliminate round-up when fields are uniform. * Protect against division by zero in a barotropic set-up (one level). (15) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.24 * Add documentation for new C-preprocessing options "cyclic" and "sor5pt". * Move "param_tmp.h" from INCLUDES to EXTRA macro definitions. * Add "param.h" to macro "includes". (16) PEmakefile version 7.24 * Add new dependencies (cvbc.h and cvmix.h) to target "anaflds.f". (17) param_tmp.h version 7.24 * Add C-preprocessing option "cyclic" to the parameter statement. Notice that now IMU=IMT if "cyclic" is activated otherwise IMU=IMT-1. (18) ppmix.F version 7.24 * Insure cyclic boundary conditions on array RIU if "cyclic" is activated. * Renumber statements. (19) relax.F version 7.24 * Routine is re-structured for new C-preprocessing option "sor5pt" which solves for transport streamfunction using sequential over-relaxation (old RELAX). Add solution using a five-point conjugate gradient algorithm which becomes the default option. * Add cyclic boundary conditions; new C-preporecessing option "cyclic". * The value PRMS used in the convergence criteria is now updated every timestep. * Avoid updating PB during a mixing timestep. (20) setvbc.F version 7.24 * Remove the computation of STFP for biological tracers because it not needed. (21) shap_filt.F version 7.24 * Insure cyclic boundary conditions on local arrays G and ZZ if "cyclic" is activated. (22) shap_lev.F version 7.24 * Insure cyclic boundary conditions on local arrays G and ZZ if "cyclic" is activated. (23) splintslab.F version 7.24 * Rearrange interpolation to eliminate round-up when fields are uniform. (24) step.F version 7.24 * Change the argument to routine call SHAP_LEV from IMT-1 to IMU. This facilitate the implementation of the cyclic boundary conditions. * Avoid calling BOUNDARY to set western and eastern lateral boundary conditions when "cyclic" is activated. * Add call to new entry ANAVBC which sets the analytical vertical boundary conditions (forcing fields) when the option "analytical" is activated. (25) tracer.F version 7.24 * Insure cyclic boundary conditions in initial fields when "cyclic" is activated. * Correct computation of TERMBT(K,1,M); loop 400. (26) workspb.h version 7.24 * Add new arrays associated with conjugate gradient solution: ASUM, GDIR, FDIR, and HDIR. (29) All other relevant codes are upgrated to VERSION 7.24 **** March 28, 1995 Double/single precision operations and output. (1) cdefs.h version 7.25 * NEW include file that is used to define globally the size of floating-point variables (single or double). * Users are recomended to follow the declactation style for floating points varibles: use FLOAT everytime that real variable is defined instead of "real"; leave the line in blank to allow expansion of the FLOAT macro (real, real*8, double precesion, etc). For example: FLOAT * myrealvar,myrealarray(*) * Everytime that a conversion operation from interger to real is needed, use x=FLoaT(i) instead of x=float(i) * Other definitions can be added in the future as instructions of the C-preprocessor. (2) pconst.h version 7.25 * NEW include file which contains all the constant parameter definitions. Users are encoraged to follow the naming convenctions rules. (3) state.F version 7.25 * Correct simplified nonlinear equation of state; DO loops 10 and 20 were missing. (4) *.F *.h version 7.25 * Almost all routines and include files are modified so the declarations of floating-point variables are generic; that is, the C-preprocessing directive FLOAT is used. Same for the integer to real conversion FLoaT. * All apostrophes are removed from commented lines because it confuse the C-preprocesor in the CRAY and C90. Problems can arise also from double quotes if they are not closed in the same commented line. * New common blocks are created to separate integers and logicals from real and from character variables to avoid aligment problems. For example, the include file "tracks.h" has now three different common blocks: common /itracks/ integers and logicals variales common /ftracks/ floating-point variables common /ctracks/ character variables It is recommended to users to follow this convection. (5) All other relevant codes are upgrated to VERSION 7.25 **** April 25, 1995 Biological model and NetCDF input/output revisited (1) anaflds.F version 7.26 * Add include files "pconst.h" and "cbiopnh.h". * Add initialization of biological fields, their boundary conditions, and their surface and bottom fluxes. (2) biosource.F version 7.26 * Routine and biological model was revised to include a closure: add detritus. (3) biopnh.in version 7.26 * Modify input parameters to biological module. (4) blkdat.F version 7.26 * Rename parameter from GAMMA to ATTH2O. (5) cbiopnh.h version 7.26 * Add new variables associated with biological model. (6) cdfout.F version 7.26 * Add writting of new field: internal mode velocities, NH4 production rate, NO3 production rate, and zooplankton grazing. * Change values of IOUT and reorder writting of fields. (7) cinpvbc.h version 7.26 * Add new variables associated with new surface nutrient flux. (8) clinic.F version 7.26 * Rename variables USAV to UCL, VSAV to VCL, USAVB to UCLB, VSAVB to VCLB, UCLIN to UCLP, VCLIN to VCLP, UCLINB to UCLBP, and VCLINB to VCLBP. * Manage the rolling of baroclinic variables at the beginning to avoid confusion on J and J+1 data. * Use the correct baroclinic velocity in the computation of WVELU. * Renumber some statements. (9) ctsrc.h version 7.26 * Increase number of point sources from 5 to 7. * Separate common block between integers and floats. (10) cvmix.h version 7.26 * Rename parameter from GAMMA to ATTH2O. (11) defnrg.F version 7.26 * Increase dimension of output variable IOUT from 20 to 30. * Rename switch IOUT(16) to IOUT(9). (12) defout.F version 7.26 * Reorder definition of output variables according to the new order of IOUT. * Define new output field VCLIN for internal mode (baroclinic) velocities. * Define new output field associated with the biological model: detritus, NH4 production rate, NO3 production rate, zooplankton grazing rate. * Increase dimension of output variable IOUT from 20 to 30. (13) infld.F version 7.26 * Input NetCDF variables renamed from VINI to VCLIN, PINI to PBAR, and TRC#INI to TRC#. This variable had now a time dimension. However, only one time record (the first one) is addressed: initialization. So input and output fields have the same NetCDF variable name. (14) inparm.F version 7.26 * Read new input card for IOUT; elements 21-30. * Modify input cards for the biological model. Modify the report of biological parameters. (15) Makefile.cray, Makefile.iris, Makefile.sun3, Makefile.sun4, Makefile.vms version 7.26 * Add new C-preprocessing option "pttrcsrc". (16) oiassi.F version 7.26 * Input NetCDf variables renamed from POBS to PBAR, POBSERR to PBARERR, TRC#OBS to TRC#, VOBS to VCLIN. (17) options.h version 7.26 * Document common block variables. * Increase dimension of IOUT from 20 to 30. (18) PEmakefile.F version 7.26 * Add new dependencies to targets ANAFLDS, BIOSOURCE, CDFOUT, DEFOUT, and SETVBC. (19) pconst.h version 7.26 * Add new parameter constant. (20) pe_netcdf.h version 7.2 * Add IDs for new NetCDF variables in input and output files. (21) pemodel.in version 7.26 * Add new input card to allow IOUT to expand from 20 to 30 elements. * Reorder output fields in IOUT to allow a continuous and logical expansion of additional tracers (biological) fields. * Update documentation of input parameters. (22) ppmix.h version 7.26 * Modify value of parameter EPSLN from 1.0e-20 to 1.0e-2. (23) readvbc.F version 7.26 * Add reading of surface forcing for biology (surface nutrient flux) from input forcing NetCDF file. (24) step.F version 7.26 * Rename variables USAV to UCL, VSAV to VCL, USAVB to UCLB, VSAVB to VCLB, UCLIN to UCLP, VCLIN to VCLP, UCLINB to UCLBP, and VCLINB to VCLBP. * Use index M instead of N in biological tracers, loops 295, 296, 395, 396, and 435. (25) setvbc.F version 7.26 * Add surface and bottom fluxes for biological tracers. (26) tsource.F version 7.26 * Add new C-preprocessing option "pttrcsrc" for the specification of point tracer sources. (27) vmix_aux.h version 7.26 * Rename parameter from GAMMA to ATTH2O. (28) workspa.h version 7.26 * Manage the maintanance of internal mode velocity for output and clearity. * Rename variables USAV to UCL, VSAV to VCL, USAVB to UCLB, VSAVB to VCLB, UCLIN to UCLP, VCLIN to VCLP, UCLINB to UCLBP, and VCLINB to VCLBP. * Add new variables UCLM and VCLM. (29) wrtcdf.F version 7.26 * Add logic that determines the grid point type for new output fields. (30) All other relevant codes are upgrated to VERSION 7.26 **** May 8, 1995 Cleanning and documenting. (1) bdryindx.F version 7.27 * Write out masking arrays LANDT and LANDV only if WNETCDF=.true. (2) bndata.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (3) cbiopnh.h version 7.27 * Add new C-preprocessing option "rmdocinc". (4) ccfl.h version 7.27 * Add new C-preprocessing option "rmdocinc". (5) cdfout.F version 7.27 * Move down by two the switches to plot biological fields. They are now IOUT(16)-IOUT(23). * Write density at row JMT; for consistency with output temperature and salinity fields, the data at row JMT is the same as row JMTM1. * Write mixed-layer depth if IOUT(15) is activated. (6) cdiag.h version 7.27 * Add new C-preprocessing option "rmdocinc". (7) cinpvbc.h version 7.27 * Add new C-preprocessing option "rmdocinc". (8) clinic.F version 7.27 * Remove call to obsolete routine "grad2_p" and C-preprocessing option "newgradp". * Rename MIXMEQ to MIXVEL. * Change range bounds in the initialization of ZUN and ZVN from 2-IMUM1 to 1-IMU. * Correct the writting of boundary arrays for the reduced physics option in ZTD when cyclic boundary conditions are activated. * Correct energy term associate with Coriolis term.a (9) cppmix.h version 7.27 * Add new C-preprocessing option "rmdocinc". (10) ctsrc.h version 7.27 * Add new C-preprocessing option "rmdocinc". (11) cvbc.h version 7.27 * Add new C-preprocessing option "rmdocinc". (12) cvmix.h version 7.27 * Add new C-preprocessing option "rmdocinc". (13) defnrg.F version 7.27 * Define variables TGRID3 and BUOY into energy NetCDF file only if switch IOUT(14) is activated. * Define variables VGRID3, KE_TOT, and KE_TREMS into energy NetCDF file only if switch IOUT(9) is activated. (14) defout.F version 7.27 * Rename variables: MIXMEQ => MIXVEL, MIXHEQ => MIXTRC, MIXVEQ => MIXZTD NORDM,NTIMM,NFRQM => NORDV,NTIMV,NFRQV NORDH,NTIMH,NFRQH => NORDT,NTIMT,NFRQT * Add a switch to plotting buoyancy work in energy NetCDF file: IOUT(14). * Move down by two the switches to plot biological fields. They are now IOUT(16)-IOUT(23). * Write positional arrays TGRID3 and VGRID3 into energy NetCDF file only if IOUT(14) and IOUT(9) are respectively activated. (15) derivs0.F version 7.27 * Correct boundary condition in the Bessel interpolation at the last 4x4 grid. (16) diag.F version 7.27 * Rename variable MIXHEQ to MIXTRC. * Write BUOY into energy NetCDF file only if switch IOUT(14) is activated. * Write KE_TOT and KE_TERMS into energy NetCDF file only if switch IOUT(9) is activated: IOUT(9)=1 write KE_TOT. IOUT(9)=2 write KE_TERMS. IOUT(9)=3 write both KE_TOT and KE_TERMS. (17) fields.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Add new variables to common block: ZUN, ZVN, ZUS, ans ZVS they were previously in "onedim.h". (18) filtdat.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Rename variables: MIXMEQ => MIXVEL, MIXHEQ => MIXTRC, MIXVEQ => MIXZTD NORDM,NTIMM,NFRQM => NORDV,NTIMV,NFRQV NORDH,NTIMH,NFRQH => NORDT,NTIMT,NFRQT * Remove obsolete arrays ALPHA and DGDZ. (19) fullwd.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Remove obsolete variables: MSB, NDW, NERGY * Add new logical variable WNETCDF. (20) getdgdz.F version 7.26 * Routine eliminated. (21) grad2_p.F version 7.26 * Routine eliminated. (22) grad24_p.F version 7.27 * Update documentation. (23) gradp.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (24) hvgrid.F version 7.27 * Remove unused variable SWLDEG. (25) hybrid.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Remove obsolete arrays KCO and HL. (26) ioi.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Create new common block to differentiate between float and integer variables. (27) iounits.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Remove obsolete variable IOIINP. (28) inparm.F version 7.27 * Remove documentation for obsolete C-preprocessing option "newgradp". * Rename variables from MIXMEQ to MIXVEL, MIXHEQ to MIXTRC, and MIXVEQ to MIXZTD. * Rename Shapiro filter switches: NORDM,NTIMM,NFRQM => NORDV,NTIMV,NFRQV NORDH,NTIMH,NFRQH => NORDT,NTIMT,NFRQT * Remove reporting documentation of switch IOPT(5). Boundary conditions on Shapiro filter are obsolete. * Remove reporting documentation of switch IOPT(6). Surface to apply Shapiro filter. Only along "sigma" surfaces is supported. (29) Makefile.cray Makefile.iris Makefile.sun3 Makefile.sun4 Makefile.vms version 7.27 * Add new C-preprocessing "rmdocinc" to remove documentation in all include files. * Remove C-preprocessing "newgradp"; it becomes the default option. * Remove obsolete routines "getdgdz" and "grad2_p" from targets. (30) moddat.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (31) ocean.F version 7.27 * Remove initialization of unused variables NDW, IOIOUT. * Rename variables from ICNTM to ICNTV and ICNTH to ICNTT. * Create new logical variable WNETCDF which activates the creation and writing of output NetCDF files. (32) oiopts.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (33) onedim.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Remove unused arrays: EEH, EEM, FFH, FFM, DZZ, DZ2R, C2DZ, ZDZ, DZZ2R, and ZDZZ. (34) options.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (35) param_tmp.h version 7.27 * Add new C-preprocessing option "rmdocinc". (36) pconst.h version 7.27 * Add new C-preprocessing option "rmdocinc". (37) PEmakefile version 7.27 * Remove dependecies for obsolete files "getdgdz.f" and "grad2_p.f". * Add "cvmix.h" to target "cdfout.f". (38) pemodel.in version 7.27 * Rename variables from MIXMEQ to MIXVEL and MIXHEQ to MIXTRC. * Deactivate switches IOPT(5) and IOPT(6): boundary conditions on Shapiro filter and surface to apply it are obselete. The Shapiro filter is now done over "sigma' surfaces only. * Move down by one the switches to plot biological fields. They are now IOUT(16)-IOUT(23). * Add writing of buoynacy work into energy NetCDF file only if switch IOUT(14) is activated. * Add writing of mixed-layer depth if IOUT(15) is activated. * Modify switch IOUT(9) as follows: IOUT(9)=1 write KE_TOT. IOUT(9)=2 write KE_TERMS. IOUT(9)=3 write both KE_TOT and KE_TERMS. (39) pe_netcdf.h version 7.27 * Add new C-preprocessing option "rmdocinc". * Add new switch MLDID to writing mixed-layer depth. (40) relax.F version 7.27 * Rename MIXVEQ to MIXZTD. (41) rhomean.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (42) robc.F version 7.27 * Correct entries TROBC_ORI and VROBC_ORI; a factor of 2 was missing. (43) runid.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Rename common block to convention. (44) scalar.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". * Remove obsolete varaible SWLDEG. (45) shap_filt.F version 7.26 * Routine eliminated. (46) shap_lev.F: version 7.27 * Remove unused arrays DGDZ and ALPHA from subroutine arguments. * Add missing statements after filtering by columns when the C-preprocessing "cyclic" is activated. (47) step.F version 7.27 * Replace logical statement (NLEV.GT.0) with WNETCDF. * Rename variables from MIXMEQ to MIXVEL and MIXHEQ to MIXTRC. * Rename Shapiro filter switches: NORDM,NTIMM,NFRQM,ICNTM => NORDV,NTIMV,NFRQV,ICNTV NORDH,NTIMH,NFRQH,ICNTH => NORDT,NTIMT,NFRQT,ICNTH * Remove call to obsolete routine GETDGDZ. Remove obsole arrays DGDZ and ALPHA from argument list to SHAP_LEV. (48) tracer.F version 7.27 * Rename variable from MIXHEQ to MIXTRC. (49) tracks.h version 7.27 * Add new C-preprocessing option "rmdocinc". (50) tracktime.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (51) trkfld.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (52) trkscl.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (53) vertslabs.h version 7.27 * Add new C-preprocessing option "rmdocinc". (54) vmix_aux.h version 7.27 * Roll arrays MLDU and MLDUM at the beggining of the routine to facilitate access to those arrays from outside. (55) voldat.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (56) workspa.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (57) workspb.h version 7.27 * Document common block and add new C-preprocessing option "rmdocinc". (58) workspb.h version 7.27 * Add new C-preprocessing option "rmdocinc". (59) wrtcdf.h version 7.27 * Add statements for writing mixed-layer depth. (60) xtr_opts.h version 7.27 * Add new C-preprocessing option "rmdocinc". (61) All other relevant codes are upgrated to VERSION 7.27 **** August 28, 1995 Reinstating spherical coordinates. (1) anaflds.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add call to NEW routine READGRIDS which allows the user to get the domain configuration from GRIDS NetCDF file when new C-preprocessing option "grids" is activated. * Add code to initialize new biological models. (2) assiwght.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (3) bdryindx.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Move reading of LANDV to landsea.F and writing of mask data to DEFOUT. (4) bioAnder.in version 7.28 * NEW input script for Anderson's biological model. (5) bioFasham.in version 7.28 * NEW input script for Fasham et al. biological model. (6) bioMcGillic.in version 7.28 * NEW input script for McGillicuddy et al. biological model. (7) biosource.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Re-structure routine to include the following biological models: (1) McGillicuddy et al. Model (option "bioMcGillic"). (2) Anderson's modification to McGillicuddy et al. Model (option "bioMcGillic"). (3) Fasham et al. Model (option "bioFasham"). (8) blkdat.F version 7.28 * The initialization of several common block variables were moved from OCEAN to here. * Initialize new horizontal coordinate parameter COORD. * Set include for "param.h" to inhibit searching in local directory. * Set tracer variables names. (9) boundary.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Activate switched for closed boundary conditions on change of barotropic vorticity. (10) bracket_z.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (11) bupdate.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (12) cbiopnh.h version 7.28 * Re-structure common block to include the variables for the following biological models: (1) McGillicuddy et al. Model (option "bioMcGillic"). (2) Anderson's modification to McGillicuddy et al. Model (option "bioMcGillic"). (3) Fasham et al. Model (option "bioFasham"). (13) cdfout.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Write new biological tracers according to biological model. (14) cdiag.h version 7.28 * Increased number of balance terms for momentum. (15) cfl.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Included cosine metric factors with DX terms. (16) cinpvbc.h version 7.28 * Replace C-preprocessing option "biopnh" with "bioMcGillic", "bioFasham", or "bioAnder". (17) clinic.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Added metric terms Umet, UUtan, UVtan and Vmet. * Added Laplacian along terrain following levels. * Corrected calculation of vertical velocity (z) * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (18) cnvmix.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (19) day_code.F version 7.28 * NEW routine used by GET_DATE to decode the day of the week. (20) defnrg.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Write new horizontal coordinate parameter COORD. * Added metric terms to KE and momentum balance. * Define units for KE_TERMS (microWatts/m^3) and KE_EXTAVG (gigaWatts). * Add output/input file names as global attributes. * Add history attribute. (21) defout.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Write new horizontal coordinate parameter COORD. * Document option: Laplacian along terrain following levels. * Move common block data initialization to routine BLKDAT. * Add output/input file names as global attributes. * Add history attribute and call to new routine GET_DATE to set the current date/time string. * Name of NetCDF tracers variables was added to TNAME array. * Add definition of new variables associated with new biological models. * Move writting of mask data from BDRYINDX to here. (22) depthlev.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (23) depthslab.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (24) derivs0.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Include metric factor in scaling of velocity. * Set separate horizontal scales in X- and Y-directions. * Allow periodic domains. (25) diag.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Write additional time rate of change of kinetic energy components. * Additional terms added to ENGLEAK, PLICIN and PLICEX * Add forgotten metric factors. * Include new Laplacian option. * Scale KE_TERMS to microWatts/m^3 when writting. * Scale KE_EXTAVG to gigaWatts. (26) drifters.F version 7.28 * Update call for new LL2XY. * Remove STDOUT argument from routine call. Its value is pass via common block IOUNITS. * Use new variable DPOSNAM as the name of the file containing the initial positions of the Langrangian drifters. * Add include files "param.h", "moddat.h", and "iounits.h". * Allow periodic domains. (27) exitus.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (28) extrap.F version 7.28 * Don't declare unused variables for 4th order case. (29) filtdat.h version 7.28 * Document option: Laplacian along terrain following levels. (30) fsigma.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Allow periodic domains. (31) get_date.F version 7.28 * NEW routine used to set the current date/time string. * It uses NEW routine DAY_CODE. (32) get_ewpt.F version 7.28 * NEW routine for rotated spherical grids. (33) get_thick.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (34) grad24_p.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (35) gradhp2.h version 7.28 * Better use of metric factors. (36) gradhp4.h version 7.28 * Better use of metric factors. (37) gradp2.h version 7.28 * Better use of metric factors. (38) gradp4.h version 7.28 * Better use of metric factors. (39) hvgrid.F version 7.28 * Compute factors for cartesian, spherical or rotated spherical grids. * Set include for "param.h" to inhibit searching in local directory. * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (40) infld.F version 7.28 * Read new horizontal coordinate parameter COORD. * Set include for "param.h" to inhibit searching in local directory. * Read in number of points in mean TS profile. The option to read KM+2 points became obsolete. It read as many points as the user provides. (41) inparm.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Remove statements for getting the current date/time strings. They are now set by new routine GET_DATE. * Remove switches for writting out biological fields from variable IOUT. Remove input Card 13 from main PE model input script. These are now entered in the biological model input script via variable IBIOUT. * Add Cards 15-26 for reading in output and input file names. * Add new C-preprocesing for biological model formulations: "bioMcGillic", "bioFasham", or "bioAnder". * Add reading of biolocal model parameters according to their C-preprocessing options. * Report input/output file names. * Document option: Laplacian along terrain following levels. (42) int_gradrho.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (43) invtri.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (44) iounits.h version 7.28 * Remove variable BTHINP. * Add a integer and character common block. * Add output/input file names: OUTNAME, NRGNAME, TRKNAME, INPNAME, FRCNAME, ASSNAME, APARNAME, DPOSNAM, XPARNAM, BPARNAM, GRDNAME, and USRNAME. (45) landsea.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Remove ASCII reads for analytic initialization * Read in LANDV. (46) lap_depth.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Added gradient of velocity for use in metric terms. * Incorrect references to KHI and KLOW in entry LAPT_DEPTH at western sides in linear interpolations. * Added fluxes of horizontal gradients through top and bottom. (47) lap_filt.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Use new entry calls to LAP_LEV. * Reworked spacings. (48) lap_lev.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Added gradient of velocity for use in metric terms. * Rewrote with entries similar to lap_depth.F (49) ll2xy.F version 7.28 * Add spherical and rotated spherical conversions. (50) load_sig.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (51) Makefile.cray Makefile.iris Makefile.sun3 Makefile.sun4 Makefile.vms version 7.28 * Re-structure UNIX Makefiles to allow compiling in directories other than source code directory. * Add new C-preprocessing options: "bioAnder", "bioFasham", "bioMcGillic", "grids", "craydate", and "vaxdate". * Remove C-preprocessing options: "biopnh" and "decdate". (52) meanrho.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * TS profile has now NPROF points. (53) moddat.h version 7.28 * Introduce new horizontal coordinate parameter COORD. (54) ocean.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Move various parameter initialization to block data routine BLKDAT. * Remove argument STDOUT from call to DRIFTERS. * Replace C-preprocessing option "biopnh" with "bioMcGillic", "bioFasham", or "bioAnder". (55) odam.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (56) oiassi.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Use new variable APARNAM to open assimilation parameters file. Add error checking during reading. * Renumber. (57) oibndry.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (58) okeep.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (59) onedim.h version 7.28 * Resized variable TNG. * Added metric coefficients for laplacian of velocity. (60) osav.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. ( ) param_tmp.h version 7.28 * Dimension NT according to biological model used. * Add new parameter MPROF for the maximum number of points in mean TS profile. (61) PEmakefile version 7.28 * Add FILELINK target to allow compiling in other directories other than the source directory * Update dependecies for object files. * Add dependencies for C-preprocessing files. (62) pconst.h version 7.28 * Change C-preprocessing "double" to "dblprec". * Add variable ROOT2. (63) pe_netcfd.h version 7.28 * Set tracer names in routine BLKDAT. * Create integer and character common blocks. * Remove IO file names; they are now located in IOUNITS. * Add TNAME and HISTORY to character common block. * Add new ID variables associated with biological model: BGRDID, BGRNID, EXPTID, FPFLID, ZGRBID, ZGROID, ZGRPID. (64) pemodel.in version 7.28 * New option for mixing (MIXVEL MIXTRC). * Remove switches to plot biological fields. They are now located in biological model input script. * Add input Cards 15-26 which specify output/input file names: OUTNAME, NRGNAME, TRKNAME, INPNAME, FRCNAME, ASSNAME, APARNAME, DPOSNAM, XPARNAM, BPARNAM, GRDNAME, and USRNAME. (65) ppmix.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (66) readgrids.F version 7.28 * NEW routine to read domain configuration from a GRIDS NetCDF file. It could be used when the C-preprocessing options "grids" is activated. (67) readvbc.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Replace C-preprocessing option "biopnh" with "bioMcGillic", "bioFasham", or "bioAnder". (68) relax.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (69) rk40.F version 7.28 * Allow periodic domains. (70) robc.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (71) rotangle.F version 7.28 * NEW routine for rotated spherical grids. (72) rotparm.F version 7.28 * NEW routine for rotated spherical grids. (73) runid.h version 7.28 * Change VERSION to a character variable. * Remove obsolete variable RUNPE. * Add new variable DATE_STR (74) setvbc.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Update surface and bottom biological tracer fluxes according to C-preprocessing options "bioAnder", "bioFasham", and "bioMcGillic". (75) setvert.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (76) shap_lev.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (77) sig2z.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (78) sig_search.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (79) sigma2z.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Allow periodic domains. (80) state.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (81) step.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Initialize Laplacian metric terms * Replace C-preprocessing option "biopnh" with "bioMcGillic", "bioFasham", or "bioAnder". (82) tracer.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Added Laplacian along terrain following levels. * Correct vertical (z) velocities. * Replace C-preprocessing option "biopnh" with "bioMcGillic", "bioFasham", or "bioAnder". * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (83) trackbound.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Allow periodic domains. (84) trackfin.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (85) trackinit.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Set separate horizontal scales in X- and Y-directions. * Convert degree grid spacing to cm. (86) trackrefresh.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (87) tracksout.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Update call to XY2LL. * Add output/input file names as global attributes. * Add history attribute. (88) trackstep.F version 7.28 * Moved velocity rescaling to new routine TRKVSCL. (89) trackup.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (90) trkscl.h version 7.28 * Separate horizontal scales in X- and Y-directions. (91) trkvscl.F version 7.28 * NEW routine for rescaling drifter velocities. (92) tsource.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. (93) vmix_aux.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add C-preprocessing option "barotropic" to avoid warnings of "DO range never executed" during barotropic model configuration (KM=1). (94) workspa.h version 7.28 * Added metric terms Umet, UUtan, UVtan and Vmet. (95) wrtcdf.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Add checking in new NetCDF variable IDs: BGRDID, BGRNID, EXPTID, FPFLID, ZGRBID, ZGROID, and ZGRPID; and remove ZOOGID. (96) xtr_psi.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Get (x,y) interpolation positions from ll2xy.F (97) xtr_trc.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Get (x,y) interpolation positions from ll2xy.F (98) xtr_vel.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Get (x,y) interpolation positions from ll2xy.F * Generalized the velocity rotation angles. (99) xtr_vel.F version 7.28 * NEW routine used to extract time rate of change of vorticity. This was removed from "xtr_psi" to facilitate generality. (100) xtract.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Change variables VINI to VCLIN and PINI to PBAR. Add time dimension when reading. * Updated call to XTR_VEL. (101) xtrsubdom.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. * Use new variable XPARNAM as input file name. * Correct time clock. (102) xy2ll.F version 7.28 * Add spherical and rotated spherical conversions. (103) zetabar.F version 7.28 * Set include for "param.h" to inhibit searching in local directory. *** July 22, 1996: Version 8.1: * All UNIX make files changed to GNU makefiles. This handles the alternate directory paths better and much more uniformly than version 7.28. Names changed from Makefile.* to GNUmakefile.* * All CPP include directives delimited with " " changed to being delimited with < >. (1) anaflds.F * Report double sigma parameters. (2) bdryindx.F * Remove printing of starting & ending indices of segments when land mask is present. * Flush output buffers, if necessary. (3) bes2d.F * Reinstating this routine for nesting. (4) blkdat.F * Initialize new version data. * Correct initialization of TINIT and NPROF when using analytic initialization. * Initialize netCDF output file status flags. (5) bndata.h * Separate common blocks for integer and floating point data. (6) bndyrlx.h (new) * New common block for boundary relaxation. (7) cdfout.F * Write vertical velocities (not fluxes) at center of box levels. (8) cdiag.h * Define space for boundary relaxation balance terms. (9) clinic.F * Compute vertical velocities (not fluxes) at center of U-boxes. * Initialize boundary relaxation fields. * Implement boundary relaxation forcing terms. * Compute boundary relaxation balance terms. (10) chkparm.F (new) * New routine to check consistency between C Pre-Processing choices and software switches. (11) defnrg.F * Use new version data. * Document balance term components. * Remove illegal attribute names. * Set netCDF output file status flag. (12) defout.F * Use new version data. * Correct definition of mixed layer depth. * Vertical velocities (not fluxes) defined at center of box levels. * Record boundary relaxation scales. * Remove illegal attribute names. * Set netCDF output file status flag. (13) diag.F * Improve generalization (easier updating for new terms). (14) drifters.F * Correct call to routine LL2XY. (15) exitus.F * Close or abort netCDF output files depending upon status. (16) frecv.C (new) * New routine to send data through a socket. (17) fsend.C (new) * New routine to send data through a socket. (18) headln.F (new) * New routine to date stamp and version information to echo file. (19) infld.F * Report double sigma parameters. (20) inparm.F * Move checking of software switches to new routine CHKPARM. * Move reporting of double sigma parameters to INFLD and ANAFLDS. * Read in boundary relaxation scales. * Replace computed goto's by extended if-elseif constructs for standard input cards (not for bio input). * Correct recording of activated C Pre-Processing options. * Add names for socket files. (21) iounits.h * Add names for socket files. (22) nest.h (new) * New common block for socket nesting information. (23) ocean.F * Call new routine CHKPARM. * Call new routine HEADLN. * Include routine for initializing sockets. (24) oiassi.F * Update boundary relaxation fields. * Flush output buffers, if necessary. (25) param.h * Set dimension for volume storage for passed data. (26) pconst.h * Add new constant for 1/3. * Ensure correct precision for PI, RE & ROOT2. (27) pemodel.in * Boundary relaxation scales. * Add names for socket files. (28) pe_netcdf.h * Add output file status flags. (29) readgrids.F * Only access double sigma parameters when option DBLSIGMA is active. * Correct erroneous RCODE test when reading ZREF and TBATH (use to fail if RCODE was 0). * Change name of variable DBLSIGMA to not conflict with same named pre-processing option. (30) relax.F * correct call to SHAP_LEV for transport streamfunction. * Implement boundary relaxation forcing terms. (31) rmblklines.FF (new) * New program to remove C Pre-Processing blank lines when compiling codes. (32) runid.h * Move version data to new file VERSION.H. (33) set_brlx.F (new) * New routine to initialize boundary relaxation factors. (34) sock_init.F (new) * New routine to initialize sockets. (35) sock_interior.F (new) * New routine to pass 3D interior data through sockets. (36) sock_link.C (new) * New routine to link to a socket for two-way nesting. (37) sock_make.C (new) * New routine to create a socket for two-way nesting. (38) sock_rec_bc.F (new) * New routine to receive boundary conditions via sockets. (39) sock_snd_bc.F (new) * New routine to send boundary conditions via sockets. (40) sock_test.F (new) * New routine to test sockets. (41) sock_ztc_bc.F (new) * New routine to pass boundary conditions for barotropic vorticity. (42) step.F * Add calls to sockets two-way nesting routines. (43) tracer.F * Compute vertical velocities (not fluxes) at center of T-boxes. * Initialize boundary relaxation fields. * Implement boundary relaxation source terms. * Compute boundary relaxation balance terms. (44) tracksout.F * Use new version data. * Set netCDF output file status flag. (45) trkvscl.F * Correct call to routine BES1D. (46) version.h (new) * New common block file to contain version information. (47) vertslabs.h * Separate common blocks for integer and floating point data. (48) workspa.h * Define arrays for boundary relaxation forcing terms. *** July 31, 1996: Version 8.2: (1) boundary.F * Corrections to tracers bdy conditions iopt(1)=2. * iopt(4)=0 omitted. * added Orlanski bdy condition for transport iopt(4)=3. (2) infld.F * added call of msk_bdy if cpp coast option is enabled. (3) inparm.F * correction to iopt messages. (4) ind_bdy.F (new) * to identify suitable nodes at coastal boundaries [called by robc]. (5) msk_bdy.F (new) * mask land points in boundary arrays [called by infld] (6) ocean.F * correction within cpp coast option. * added call to vertslab if anaflds is used. (7) okeep.F * new cpp option secondmean designed to remove mean of internal velocities after the Shapiro filter. (8) relax.F * correction within cpp coast option to ensure the domain of definition of the Poisson solver is precisely the proper interior points for the transport. (9) robc.F * Correction to vrobc_moi vrobc_roi entries * Implement zrobc_roi including adapting change of Transport along open coastal boundaries. * Correction to probc_roi *** August 6, 1996: Version 8.3: (1) GNUmakefile.* * Consistent with coding changes. (2) bes2d.F * Prevent interpolation with masked points. (3) blkdat.F * Update version number and closing date. (4) clinic.F * New (consistent) momentum flux algorithm. (5) depthslab.F * Metric terms for new flux algorithm. (6) extra.h (new) * Extra slab of depth information. (7) hvgrid.F * Metric terms for new flux algorithm. (8) nest.h * Remove extraneous variables. (9) set_depths.F (new). * Metric terms for new flux algorithm. (10) setvert.F * Metric terms for new flux algorithm. (11) step.F * New (consistent) momentum flux algorithm. (12) sock_domain.F * Update space-check on storage variable XVOL. * Declare as local variables removed from NEST.H. (13) sock_interior.F * Recognize flagged values. * Only pass values with over half support in larger grid. (14) sock_init.F * Exchange flag values with other processes. (15) sock_rec_bc.F * Move interpolations to sending process. * Recognize flagged values. (16) sock_snd_bc.F * Move interpolations to sending process. * Recognize new call to coastal BES2D. (17) sock_ztc_bc.F * Move interpolations to sending process. * Recognize new call to coastal BES2D. * Recognize flagged values. (18) vertical.h (new) * Re-averaged topographies (for new flux algorithm). *** December 19, 1996: Version 8.4: (1) GNUmakefile.* * Change "vaxdate" to "decdate". * Ensure output of cpp is directed to local directory. * Add rmblklines to items deleted by clean. * Protect against GNU make aborts from ill-defined vpaths (includes) * Remove concatenation option. * Consistent with coding changes. (2) GNUmakefile.alpha * "-Ddecdate" added to default CPPFLAGS. * "-O4" added to default FFLAGS. (3) GNUmakefile.rs6000 * Compilier option to increase memory limit. (4) GNUmakefile.sun4 * "-O" added to default FFLAGS. (5) *.com * Change vaxdate to decdate * Consistent with code changes. (6) Dead_File * Add BUPDATE.F. (7) anaflds.F * Remove extraneous declarations of TGRID and VGRID. (8) bdryindx.F * Identify coastal boundary nodes and averaging indices. * Call to SET_BRLX after resetting LANDV. (9) bes2d.F * Separate masked and unmasked interpolation. (10) bes2d_msk.F (new) * New routine for masked Bessel interpolation. (11) biosource.F * Remove unused variable. * Protect sinking rates in barotropic modes. (12) blkdat.F * Update version number and closing date. * Initialize netCDF flags for pressure gradient bias file. (13) bndyrlx.h * Add fields for coastal friction and bottom friction. (14) cdiag.h * Update for coastal & bottom friction. (15) clinic.F * Add coastal & bottom friction. * Save barotropic velocities at row J-1. * Compute barotropic velocities at row J, for boundary conditions. * Account for pressure gradient bias. (16) defbias.F (new) * New routine to create pressure bias I/O netCDF file. (17) defnrg.F * Expand boundary relaxation energy terms to include coastal & bottom frictions. * Correct variable ID for tracer balance attribute for boundary relaxation (coastal & bottom friction do NOT apply). (similar error in almost all of these added attributes). (18) defout.F * Record coastal & bottom friction parameters. (19) drifters.F * Move initialization to BLKDAT. * Correct call to TRACKSOUT. (20) edges.h (new) * New block for averaging indices next to coast lines. (21) exitus.F * Close netCDF pressure gradient bias file, if present. (22) extrap.F * Set for no gradients when no good data available. (23) get_date.F * Change "vaxdate" to "decdate". * Protect against misnavigation of blank date string. (24) grad24_p.F * Block unused variable when barotropic option is on. (25) ip2ij.F (new) * New routine to decode ip=i+(j-1)*im type index. (26) ind_bdy.F * Correctly handle islands. (27) inparm.F * Remove unused variable. * Correct format statements. * Read file name for pressure bias fields. * Read parameters for coastal & bottom friction. * Record coastal & bottom friction options in log file. * Remove CPP flag SPLINTRP. (28) iounits.h * Add file name for pressure bias fields. (29) meanrho.F * Remove CPP flag SPLINTRP. (30) nest.h * Change parameter ITT_FAC to type integer. (31) ocean.F * Include call to initialize boundary relaxation coefficients. * Move call to SET_BRLX to BDRYINDX. (32) oiassi.F * Move variable IP1 to enclosed by -Dbndy_rlx. * Write statements indicating assimilation taking place to log file. * Correct format statement 903 (33) onedim.h * Add slab storage for barotropic velocity components. (34) pb0wrtcdf.F (new) * New routine to write pressure gradient bias fields to netCDF file. (35) press_bias.F (new) * New routine to remove pressure gradient bias. (36) press_bias0.F (new) * New routine to set up pressure gradient bias fields. (37) pemodel.in * Add file name for pressure gradient bias fields. * Add parameters for coastal & bottom friction. (38) pe_netcdf.h * Add netCDF flags for pressure gradient bias file. (39) readgrids.F * Correct format statements 901 and 903. (40) readvbc.F * Enable user to enter starting clock from outside. * Correct format statements 920, 940 and 950. (41) relax.F * Correct timestep in boundary relaxation during mixing timestep, line 191. * Only call shap_lev if cppflag "shapiro" is set. (42) robc.F * Rewrite Orlanski in terms of internal mode velocities. * Rework Orlanski transport vorticity boundary conditions. (43) set_brlx.F * Protect against long lines when double precision is turned on. * LANDV is now binary: 0=land km=sea. * Compute coefficients for coastal & bottom friction. (44) set_depths.F * Block unexecuted loop when barotropic option is on. * Correct cyclic boundary conditions (45) set_edges.F (new) * New routine to average values next to coastal segments. (46) setvbc.F * Enable user to enter starting clock from outside. (47) shap_lev.F * Make inner (segment) loops a little more obvious. (48) shap_mean.F (new) * New routine for adding/removing mean? tracer fields. (49) sock_domain.F * Block unused variables. (50) sock_intit.F * Correct format statement 900. (51) sock_interior.F * Reversed order of nested loop 10 and nested loop 20. * Corrected misnavigation of pointer XIP in loops 30 & 40. * Change name of input parameter from ITT to NTSTEP to avoid conflict with common blocks (small domain w/ coasts) (52) sock_make.C * Remove extra argument in argument list. (53) sock_snd_bc.F * Remove extraneous calls to BES2D. * Change incorrect pointer J_S to I_S in lines 127, 129, 141 & 143. * Do not use masking when interpolating transport streamfunction. * New calls to BES2D_MSK. * Block unused variables during null test. (54) sock_ztc_bc.F * New calls to BES2D_MSK. * Change incorrect pointer J to I in loops 70 & 80. * Block unused variables during null test. * Correct format statement 900. (55) spline.F * Move work array to argument list. (56) step.F * Option -Dclose_tracers to "correctly close" N + S boundaries. * Option -Dnocfl to disable CFL checking for debugging. * Compute barotropic velocities at row J=1. * Add transport vorticity Orlanski boundary condition. * Allow for removal of mean tracer field before Shapiro filtering. * Allow for averaging of tracers next to coastal segments. * Remove calls to BUPDATE. (57) tracer.F * Correctly block out convective adjustment when barotropic option is on. (58) upbox.F (new) * New routine to determine indices for averaging next to coastlines. (59) voldat.h * Storage array for mean? tracer fields (60) vmix_aux.F * For constant mixed layer depth, get mixed layer depth for tracers from MLDMIN and mld for velocity from MLDMAX rather than getting both from MLDVAL. (61) workspa.h * Update for coastal & bottom friction. (62) xtrsubdom.F * Correct format statement 900. (63) xtr_trc.F * Block unexecuted loop when barotropic option is on. * Block unused variables when barotropic option is on. (64) xtr_vel.F * Block unexecuted loop when barotropic option is on. * Block unused variables when barotropic option is on. *** March 7, 1997: Version 9.1: (1) GNUmakefile.* * Consistent with coding changes. * Make sure all CPP options are documented. (2) GNUmakefile.sun5 (new) * New GNUmakefile for SUN Ultra systems. (3) anaflds.F * Correct subscripts for HR in loop 110. (4) blkdat.F * Add initializations for profile sampling. * Update version data. (5) caldate.F (new) * New routine to convert Julian date to a date & time string. (6) check_prf.F (new) * New routine to determine when to write a profile. (7) clinic.F * Add CPP option "linear_physics". * Replace bottom friction with "bottom steering". * Make implicit boundary relaxation an option, not the standard. (8) defbias.F * Correct definitions of netCDF variables "press_bias" & "tracer_mean". (9) depthslab.F * Remove improper use of CPP option "rmcomments". (10) frecv.C * Move include file directory info to GNUmakefiles. (11) fsend.C * Move include file directory info to GNUmakefiles. (12) gregorian.F (new) * New routine to convert Julian date to Gregorian date. (13) hydro.h (new) * New common block for profile data. (14) infld.F * Remove improper use of CPP option "rmcomments". (15) inparm.F * Replace improper CPP option "notadvh" with "notadvt". * Replace CPP option "diagini" with "frozentrc". * Correct descriptions of CPP options "notadvm" & "notadvt". * Add CPP option "linear_physics". * Report all active CPP options. * Add additional input for profile sampling I/O files. * Report input/output files for pressure gradient bias & profile sampling. * Add CPP option "vel_conv". * Report status of IOPT(5). (16) iounits.h * Add unit numbers and file names for profile sampling. (17) ocean.F * Add optional call to profile sampling initialization. (18) oiassi.F * Use IOPT(5) to control verbosity of "diagnostic" log output. (19) options.h * Use IOPT(5) to control verbosity of "diagnostic" log output. (20) param.h * Add array sizes for profile sampling. (21) pconst.h * Add flag for barotropic vorticity for shapiro filter. (22) pemodel.in * Correct default values for "MLDMIN" & "MLDMAX". * Change default value for "NTDGN". * Correct documentation. * Add I/O file names for profile sampling. * Use IOPT(5) to control verbosity of "diagnostic" log output. (23) press_bias0.F * Correct writing of mean TS field. (24) prf.h (new) * New common block for profile sampling data. (25) readprf.F (new) * New routine to initialize profile sampling. (26) relax.F * Make implicit boundary relaxation an option, not the standard. * Add CPP option "vel_conv", requires convergence in barotropic velocity tendencies. (27) rem_llist.F (new) * New routine to remove element from linked list. (28) robc.F * Remove improper use of CPP option "rmcomments". (29) set_brlx.F * Protect occasionally used variables under CPP options. (30) set_depths.F * Under CPP option "cyclic", reverse order of loops 100 & 110. (31) shap_lev.F * Add special boundary conditions for filter barotropic vorticity. (32) sock_init.F * Use IOPT(5) to control verbosity of "diagnostic" log output. (33) sock_interior.F * Use IOPT(5) to control verbosity of "diagnostic" log output. (34) sock_link.C * Move include file directory info to GNUmakefiles. (35) sock_make.C * Move include file directory info to GNUmakefiles. * Use IOPT(5) to control verbosity of "diagnostic" log output. (36) sock_rec_bc.F * Use IOPT(5) to control verbosity of "diagnostic" log output. (37) sock_snd_bc.F * Use IOPT(5) to control verbosity of "diagnostic" log output. (38) sock_ztd_bc.F (new) * New routine to replace misnamed sock_ztc_bc.F * Change type of variable ITT_FAC when passing to SOCK_TEST. * Use IOPT(5) to control verbosity of "diagnostic" log output. (39) step.F * Add optional calls to profile sampling routines. (40) tracer.F * Add CPP option "linear_physics". * Change test criterion for frozen tracers. * Make implicit boundary relaxation an option, not the standard. (41) vbar_test.F (new) * New function to test barotropic velocity tendency convergence. (42) vertical.h * Replace improper CPP option "rmcomments" with "rmdocinc". (43) writehydro.F (new) * New routine to write a cast in MODS ASCII format. (44) wrt_prf.F (new) * New routine to extract cast for writing. (45) wrtstr.F (new) * New routine to write a string to the MODS format header array. *** October 25, 1997: Version 9.2: (1) GNUmakefile.* * Consistent with coding changes. (2) assiwght.F * Allow for writing of forecast error fields. (3) blkdat.F * Update version data. * Allow for writing of forecast error fields. * For peprf, initialize Julian day offset. (4) cdefs.h * Add tokens for complex vs double complex. (5) cdfout.F * Allow for writing of forecast error fields. (6) cdiag.h * Add point by point tracer balance reporting. (7) clinic.F * Improve ease of adding optional energy terms. (8) defnrg.F * Make sure all time dependent fields have the attributes "_FillValue" and "missing_value". * Improve ease of documenting optional terms. * Add point by point tracer balance reporting. (9) defout.F * Make sure all time dependent fields have the attributes "_FillValue" and "missing_value". * Add point by point tracer balance reporting (write positions). * Allow for writing of forecast error fields. (10) diag.F * Add point by point tracer balance reporting. (11) hvgrid.F * Correct some non-standard printing statements. (12) ioi.h * Allow for writing of forecast error fields. (13) length.F (new) * New, non-destructive routine to get starting & ending pointers to the non-blank portions of a string. (14) options.h * Add point by point tracer balance reporting. * Allow for writing of forecast error fields. (15) pe_netcfd.h * Add point by point tracer balance reporting. * Allow for writing of forecast error fields. (16) pemodel.in * Add point by point tracer balance reporting. * Allow for writing of forecast error fields. (17) ppmix.F * Correction to safely handle regions with small vertical shear. (18) press_bias0.F * Correctly write out tracer fields at slabs 1, JMTM1 & JMT(?). (19) setvbc.F * Correctly scale point source E-P. (20) tracer.F * Improve ease of adding optional balance terms. * Add point by point tracer balance reporting. (21) vmix_aux.F * Generalize computation of vertical gradient of potential density. * Fill inactive points in mixed-layer array for MLDOPT=2 (for plotting purposes). (22) writehydro.F * Use variable Julian day offset. * Add buffer flushing. (23) wrtcdf.F * Allow for writing of forecast error fields. (24) wrtstr.F * Use nondestructive "length" instead of "lnblk". *** July 20, 1998: Version 9.3: (1) GNUmakefile.* * Consistent with coding changes. * Don't assume "." is in user's path (when using rmblklines) * Corrected IRIS (Silicon Graphics) makefile. * Improve alternate path search (don't confuse partial matches). * Don't supply netcdf.inc (allows user to specify correct version) (2) bess1d.F (new) * New 1D interpolation routine for nesting (get collocation right). (3) bess2d.F (new) * New 2D interpolation routine for nesting (get collocation right). (4) bess2d_msk.F (new) * New 2D interpolation routine for nesting with masks. (5) blkdat.F * Update version data. * Allow shifted grids. * Set default REFZ close to values in MassBay example. (6) boundary.F * For S-bndy cond. of Orlanski on tracers, correct routine call. (7) ccfl.h * Allow checking of both WU and WT. (8) cdiag.h * Remove metric advection terms (not correct for integral based discretization). (9) cfl.F * Add CPP option to enable CFL checking in the vertical. * Allow checking of both WU and WT. (10) clinic.F * Remove metric advection terms (not correct for integral based discretization). (11) defnrg.F * Allow shifted grids. * Remove metric advection terms (not correct for integral based discretization). (12) defout.F * Allow shifted grids. (13) derivs0.F * Remove unnessecary dependency on moddat.h. (14) diag.F * Allow checking of both WU and WT. (15) drifters.F * Allow shifted grids. (16) get_date.F * Allow AIX (IBM RS6000) date. (17) gradp4.h * Correct indexing on cosine metric factors. (18) gradph4.h * Correct indexing on cosine metric factors. (19) hvgrid.F * Allow shifted grids. * Remove metric advection terms (not correct for integral based discretization). (20) infld.F * Allow shifted grids. (21) inparm.F * Add CPP option to enable CFL checking in the vertical. * Protect against line overrun in double precision mode. (22) ll2xy.F * Allow shifted grids. (23) moddat.h * Allow shifted grids. (24) onedim.h * Remove metric advection terms (not correct for integral based discretization). (25) readgrids.F * Allow shifted grids. (26) readprf.F * Correct determination of (lat/lon) extrema. * Allow shifted grids. (27) robc.F * Remove extraneous factors of 2. (28) shap_lev.F * Test for starting indices greater than or equal to ending, not just equal. (29) sock_domain.F * Allow shifted grids. (30) sock_interior.F * Remove unpaired quotation mark. * Correct indexing on xvol. (31) sock_snd_bc.F * Ensure collocated interpolation. * Use latest attempt to nest with masks. (32) sock_ztd_bc.F * Remove unpaired quotation mark. * Ensure collocated interpolation. * Use latest attempt to nest with masks. (33) step.F * Ensure proper vertical slabs active when setting S-bndy cond. * Mask external part of meridional momentum flux at slab 2. (34) tracer.F * Correct compound #if argument. (35) tracksout.F * Allow shifted grids. (36) userdiag.F * Remove unpaired quotation mark. (37) vmix_aux.F * Correctly nest parameter statement in #ifdef. (38) workspa.h * Remove metric advection terms (not correct for integral based discretization). (39) xtr_psi.F * Allow shifted grids. (40) xtr_trc.F * Allow shifted grids. (41) xtr_vel.F * Allow shifted grids. (42) xtr_vor.F * Allow shifted grids. (43) xy2ll.F * Allow shifted grids. *** August 15, 2000: Version 9.4: (1) GNUmakefile.* * Consistent with current changes. * Now designed to fail if an invalid CPP option is requested. (2) VMSmakefile.com * Consistent with current changes. (3) addtide.F (new) * New routine to add external tides. (4) all_uc.F (new) * New routine to set all letters in a string to capital letters. (5) anaflds.F * Add Dusenberry biological model. (6) aphread.F (new) * New routine to read in values of the absorption coefficients. (7) aphy.dat (new) * New sample data file of the absorption coefficients. (8) bdryindx.F * If nesting w/land, set-up transport streamfunction mask. * Revised filter BCs. (9) bess2d_msk.F * Add pressure gradient algorithm to ensure interior 4 points correctly filled. * Use flag value if none of 4 center points is valid. * Clean-up internal documentation. (10) bess2d_pmsk.F (new) * New routine to Bessel interpolate transport streamfunction in the presence of a land mask. (11) bio*.in * Revise biological I/O flags. (12) bio*Cod.in (new) * New biological parameter input file for use with attached cod model. (13) bioDuse*.in (new) * New sample input for Dusenberry biological model parameters. with and without attached cod model. (14) bioparm*.F (new) * New routines to read biological model parameters for various biological models. * Add attached cod model. (15) biosource*.F (new) * New routines to compute biological source terms for various biological models. * Add attached cod model. (16) blkdat.F * Set unit number for pre-defining tidally active regions. * Remove obsolete I/O unit CSTINP. * Convert from sockets to PVM. * Add Dusenberry biological model. * Add attached cod model. (17) cbiopnh.h * Add Dusenberry biological model. * Add attached cod model. (18) cdfout.F * Add tidal velocity to total velocity. * Write tidal velocity, surface elevation and residual stress. * Reset IOUT consistent with new definitions. * Add Dusenberry biological model. (19) cdrspv.F (new) * New routine to compute cod response velocity. (20) cell_ok.F (new) * New routine to determine if Bessel interpolation footprint is all valid. (21) cfl.F * Add tidal velocity to CFL tests. (22) chkparm.F * Add Dusenberry biological model. (23) cinpvbc.h * Add Dusenberry biological model. (24) clinic.F * Change bottom/coastal friction from nudging to -Ubaro to nudging towards zero. * Revised time discretization in bottom stress algorithm * Quicker by-pass for biological adjustment * Use sum of vertical thickness for averaging velocities. (25) cnvmix.F * Perform rolling & initialization of DRHO & DRHOP. * move division of density gradient by dz to PDENVGRAD (26) ctsrc.h * Revised tracer points sources for river relaxation. (27) cvbc.h * Revised time discretization in bottom stress algorithm (28) cvmix.h * Add tidal mixing model parameters. (29) defbparm*.F (new) * New routines to define biological model parameters for various biological models. * Add attached cod model. (30) defnrg.F * Correct attribute name for KE_TERMS (09 -> TERM09). * Correct documentation on LANDV values * Reset IOUT consistent with new definitions. * Add Dusenberry biological model. (31) defout.F * Define tidal velocity, surface elevation and residual stress. * Correct documentation on LANDV values * Reset IOUT consistent with new definitions. * Consistent with changes to GET_THICK. * Record model thicknesses * Add Dusenberry biological model. (32) derivs0.F * Allow extended surface drifters (dead whales). * Add tidal velocities. (33) diag.F * Reset IOUT consistent with new definitions. (34) drftdv.F (new) * New routine to add tidal velocities. (35) drifters.F * Add auxiliary data field. * Allow extended surface drifters (dead whales). * Update diagnostic printing (format 907) (36) errio.F (new) * New routine to report on read/write errors. (37) exitus.F * Close external tidal netCDF data file. * Exit from PVM, if necessary. * Close ASCII I/O files. * Add Dusenberry biological model. (38) extrap.F * Move 2nd order extrapolation to subroutine. (39) extrap2.F (new) * New routine to compute 2nd order extrapolation. (40) file_chk.F (new) * New routine to check the validity of file names. (41) fullwd.h * Add transport streamfunction mask. * Allow input of non-integer reset starting Julian dates. * Revised filter BCs. (42) get_date.F * Set for new century marker. (43) get_thick.F * Allow construction of depths from box thicknesses. (44) grad24_p.F * Correct extraction of Northern most row of tracer data. (45) gradp4.h * Correct the correction to indexing CSTR. (46) hopsrecv.h (new) * New routine, a front-end for PVM's timed receive. (47) host_check.h (new) * New routine to check validity of requested host. (48) hvgrid.F * Allow defining of V-grid topography & interface external to PE. (49) hybrid.h * Allow defining of V-grid topography & interface external to PE. (50) infld.F * Allow defining of V-grid topography & interface external to PE. (51) inittdpth.F (new) * New routine to initialize tidally active zones for CPP option "posmxtid". (52) inparm.F * Read Niiler-Kraus MCOEF and NCOEF. * Allow nesting of models w/ different numbers of tracer variables. * Read in external tidal mixing model parameters. * Input external tidal netCDF data file name. * Allow input of non-integer reset starting Julian dates. * Convert from sockets to PVM. * Add Dusenberry biological model. * Add attached cod model. (53) invtri.F * Revised time discretization in bottom stress algorithm (54) iounits.h * Add I/O name & units for pre-defining tidally active regions. * NetCDF id & status flag for external tide data file. * Convert from sockets to PVM. * Remove obsolete I/O unit CSTINP. (55) lagrange.dat * Add auxiliary data field. * Allow extended surface drifters (dead whales). (56) landsea.F * Actually read JEIS not IEIS twice. (57) length.F * Exclude leading & trailing unprinted ASCII characters. (58) lintrp.F * Use constant extrapolation as in PE_initial version. (59) nest.h * Reset valid number of averaging nodes to pass interior corners in masks (ie 4 active points in 3x scaling). * Option to replace fine transport with coarse. * Convert from sockets to PVM. (60) nest_domain.F (new) * PVM replacement for SOCK_DOMAIN. * Option to replace fine transport with coarse. (61) nest_errchk.F (new) * New routine to report on PVM errors. (62) nest_flags.F (new) * New routine to exchange flag values using PVM. A partial replacement for SOCK_INIT. * Allow nesting of models w/ different numbers of tracer variables. (63) nest_init.F (new) * New routine enroll process in PVM. A partial replacement for SOCK_INIT. (64) nest_interior.F (new) * PVM replacement for SOCK_INTERIOR. * Reset valid number of averaging nodes to pass interior corners in masks (ie 4 active points in 3x scaling). * Allow nesting of models w/ different numbers of tracer variables. (65) nest_rec_bc.F (new) * PVM replacement for SOCK_REC_BC. * Address PO array with pre-defined NORTH, SOUTH, EAST, WEST parameters. * Optional insurance of zero vertical mean of passed baroclinic velocity boundary conditions * Allow user control on number of tracers passed. * Option to receive barotropic vorticity tendency boundary conditions at same time as receive other boundary conditions. * Option to replace fine transport with coarse. (66) nest_snd_bc.F (new) * PVM replacement for SOCK_SND_BC. * Special interpolation "under the mask" for transport streamfunction * Optional insurance of zero vertical mean of passed baroclinic velocity boundary conditions * Allow user control on number of tracers passed. * Revise masked interpolation to flag points under the mask * Option to pass barotropic vorticity tendency boundary conditions at same time as pass other boundary conditions. (67) nest_spawn.F (new) * New routine spawn a new process in PVM. A partial replacement for SOCK_INIT. (68) nest_t_align.F (new) * New routine to ensure alignment of times during nesting transfers. (69) nest_test.F (new) * PVM replacement for SOCK_TEST. (70) no_digit.F (new) * New function to determine the number of digits of an integer. (71) ocean.F * Convert from sockets to PVM. (72) okeep.F * Add optional Asselin filter (73) options.h * Document changes to IOUT. (74) param.h * Add dimension for number of external tidal components * Add maximum number of tidally active zones for CPP option "posmxtid". * Option to replace fine transport with coarse. * Add Dusenberry biological model. * Add attached cod model. (75) pconst.h * Additional constants. (76) pe_netcdf.h * Add identifiers for external tidal fields * Allow extended surface drifters (dead whales). * Remove drifter time dimension index. (77) pemodel.in * Add Niiler-Kraus MCOEF and NCOEF. * Allow nesting of models w/ different numbers of tracer variables. * Add external tidal mixing model parameters. * Allow input of external tidal data file. * Add switches to write external tidal fields. * Allow input of non-integer reset starting Julian dates. * Convert from sockets to PVM. (78) ppmix.F * Perform rolling of DRHO & DRHOP. * move division of density gradient by dz to PDENVGRAD * revise implementation of Richardson Number calculation. (79) press_bias.F * Look for new shapmean fields in initialization file. (80) press_bias0.F * Correct extraction of Northern most row of tracer data. (81) priprod.F (new) * New routine to compute the primary productivity. (82) putbparm*.F (new) * New routines to write biological model parameters for various biological models. * Add attached cod model. (83) read_tide.F (new) * New routine to read external tide data. (84) readprf.F * Allow input of non-integer reset starting Julian dates. (85) readvbc.F * Allow input of non-integer reset starting Julian dates. * Add Dusenberry biological model. (86) relax.F * Fix line data output format. (87) reset_t_thickness.F (new) * New routine to reset T-grid thickness for tidal tracer advection. (88) rich_no.F (new) * New routine to compute Richardson Number. (89) robc.F * Only fix transport streamfunction values along exterior coasts. * Use sum of vertical thickness for averaging velocities. * Reset baroclinicity after setting corner points. Also reset baroclinicity on corner points. (90) scalvcln.F (new) * New routine to scale baroclinic velocities by box thicknesses before passing to another nested domain. (91) set_brlx.F * Revised CPP options to avoid unused variables (92) set_depths.F * Define V-grid topography & interface external to PE. * Construct depths from box thicknesses. * Sum V-grid thicknesses to form "topography" for velocity averaging. (93) set_depths_old.F (new) * New file to retain old SET_DEPTHS algorithm. * Retain V-grid topography for velocity averaging. (94) set_pmask.F (new) * New routine to define transport streamfunction mask. (95) setvbc.F * Revised time discretization in bottom stress algorithm * Allow input of non-integer reset starting Julian dates. * Add Dusenberry biological model. (96) setvert.F * Consistent with changes to GET_THICK. (97) shap_lev.F * Revised filter BCs. (98) step.F * Optional external tidal model. * Revised temporal alignment during nesting. * Option to transfer barotropic vorticity tendency boundary conditions at same time as transfer other boundary conditions. * Option to replace fine transport with coarse. * Add optional Asselin filter * Quicker by-pass of relaxation calculation for biological adjustment * Convert from sockets to PVM. * When setting northern boundary conditions, use j=JMTM1 not JMTM2. * Add Dusenberry biological model. * Add attached cod model. * Add optional special Shapiro filtering of cod (99) tid_indx.F (new) * New routine to match tidal component to working storage. (100) tide_aux.F (new) * New routine to handle auxiliary tide I/O functions. (101) tide_depth.F (new) * New function to determine flag depth of water column for tidally enhanced vertical mixing. (102) tide_val.F (new) * New function to compute tidally enhanced vertical mixing. (103) tidebox.dat (new) * New sample data file for tidally enhancing mixing coefficients based on geography and total water depth. (104) tidephase.dat (new) * New sample data file for tidal phase data. (105) tidesp.h (new) * New work space for external tidal variables. (106) tracer.F * Revised time discretization in bottom stress algorithm * Add Dusenberry biological model. * Add attached cod model. (107) tracks.h * Allow extended surface drifters (dead whales). (108) tracksout.F * Allow extended surface drifters (dead whales). * Replace calls to LNBLK by calls to LENGTH. * Compact the netCDF file, each drifter has its own time index. * Only print drifter information for status=1. (ie. drifter deployed & within domain) * Add Dusenberry biological model (run documentation). (109) trackstep.F * Allow extended surface drifters (dead whales). (110) trkscl.h * Allow extended surface drifters (dead whales). (111) tsource.F * Move initialization to zero to tracers.F * Replace with river source code. (112) tsource_river.dat (new) * New sample data file for point tracer sources for river relaxation. (113) userdiag.F * Create optional section to use SUN timing data. (114) vavgv.F (new) * New routine to vertically average velocities. (115) vertical.h * Maintain 3D structure of box thicknesses. (116) vertslabs.h * Maintain separate "V-grid topography" for averaging velocities. (117) vmix_aux.F * Change the protection against division by zero in Niiler-Kraus. * All mixed layer models ALWAYS enhance mixing in top level. * Update mixing coefficients based on tidal velocities. * Remove rolling of DRHO & DRHOP. * do division of density gradient by dz in entry PDENVGRAD (118) vntrpv.F (new) * New routine to vertically interpolate velocities. (119) workspr.h (new) * New common block for Asselin filter. (120) wrt_prf.F * Allow input of non-integer reset starting Julian dates. (121) wrtcdf.F * Write tidal velocity and surface elevation. *** January 11, 2001: Version 9.5: (1) GNUmakefile.* * Consistent with current changes. * Correct CPP criteria for activating julian date code. (2) *.com * Consistent with current changes. (3) anaflds.F * Move comment ??? to right in statements where "FLoaT" can become "dble". * Move DATA statement after SAVE statement (ANSI compatibility). * Add missing comma in referencing HR for cyclic conditions. * Add working variable WSNKPHY2 for CPP option "bioDuse". (4) assiwght.F * Optional revisions for managing assimilation error fields. (5) bess2d_msk.F * Move DATA statement after SAVE statement (ANSI compatibility). (6) biosourceDuse.F * Correct CPP criteria for including common block "onedim". * Correct fatal typos. (7) blkdat.F * Update version data. * Optional revisions for managing assimilation error fields. (8) bdryindx.F * Apply coastedge averaging on first points. * Only use interior points for averaging. (9) boundary.F * Replace tabulation characters with spaces (ANSI compatibility). (10) cbiopnh.h * Correct CPP criteria for defining cod variables. (11) ccfl.h * Tighten CFL test. (12) cdfout.F * Add external velocity to identification procedure for 2D fields. (13) cfl.F * Correct reporting of CFL statistics. * Tighten CFL test. * Create optional CFL test on sum of limitations. (14) check_prf.F * Replace tabulation characters with spaces (ANSI compatibility). (15) clinic.F * Replace tabulation characters with spaces (ANSI compatibility). * Correct CPP criteria for defining most variables. (16) ctsrc.h * Remove local variable "kmsrc" from common area. (17) defnrg.F * Add external velocity to identification procedure for 2D fields. (18) defout.F * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. * Add external velocity to identification procedure for 2D fields. (19) depthlev.F * Move DATA statement after SAVE statement (ANSI compatibility). (20) derivs0.F * Move DATA statement after SAVE statement (ANSI compatibility). (21) diag.F * Move DATA statement after SAVE statement (ANSI compatibility). * Add external velocity to identification procedure for 2D fields. (22) fsigma.F * Move DATA statement after SAVE statement (ANSI compatibility). (23) fullwdr.h * Enable setup of Asselin filter coefficient in pemodel.in (24) get_thick.F * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. * Correct CPP criteria for defining variable "k". (25) grad24_p.F * Move DATA statements after SAVE statements (ANSI compatibility). (26) gregorian.F * Move DATA statement after SAVE statement (ANSI compatibility). (27) hvgrid.F * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. (28) hybrid.h * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. (29) ind_bdy.F * Replace tabulation characters with spaces (ANSI compatibility). (30) infld.F * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. (31) inittdpth.F * Correct bad format statement. (32) inparm.F * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. * Enable setup of Asselin filter coefficient in pemodel.in * Correct CPP criteria for defining RESETJULIAN variables. * Add external velocity to identification procedure for 2D fields. (33) int_gradrho.F * Move DATA statements after SAVE statements (ANSI compatibility). (34) ioi.h * Optional revisions for managing assimilation error fields. (35) lap_filt.F * Move DATA statements after SAVE statements (ANSI compatibility). (36) ll2xy.F * Move DATA statements after SAVE statements (ANSI compatibility). (37) msk_bdy.F * Ensure correct indexing on UV points. (38) ocean.F * Replace tabulation character with spaces (ANSI compatibility). * Remove incorrect vertical mean from internal mode velocities after assimilation. (39) oi.dat * Add time decay rate for use with CPP option "fcsterr". (40) oiassi.F * Remove incorrect vertical mean from internal mode velocities after assimilation. * Optional revisions for managing assimilation error fields. (41) okeep.F * Enable setup of Asselin filter coefficient in pemodel.in (42) pe_netcdf.h * Add external velocity to identification procedure for 2D fields. (43) pemodel.in * Enable setup of Asselin filter coefficient in pemodel.in * Add external velocity to identification procedure for 2D fields. (44) ppmix.F * Replace tabulation characters with spaces (ANSI compatibility). (45) press_bias.F * Remove duplicate declaration of variables (ANSI compatibility). * Move DATA statement after SAVE statement (ANSI compatibility). * Correct CPP criteria for defining variable "new". (46) press_bias0.F * Remove duplicate declaration of variable (ANSI compatibility). * Move DATA statement after SAVE statement (ANSI compatibility). (47) read_tide.F * Move DATA statement after EQUIVALENCE statement (ANSI compatibility). (48) readprf.F * Replace tabulation characters with spaces (ANSI compatibility). * Remove extraneous comma from format statement 910. (49) readvbc.F * Move DATA statement after SAVE statement (ANSI compatibility). (50) relax.F * Revise indices for resetting residuals under mask in SOR. (51) rich_no.F * Remove duplicate declaration of variable (ANSI compatibility). * Replace tabulation characters with spaces (ANSI compatibility). (52) robc.F * Replace tabulation characters with spaces (ANSI compatibility). (53) rotangle.F * Move DATA statement after SAVE statement (ANSI compatibility). (54) rseterr.F (new) * New function to manage ramping by resetting observation errors. (55) set_depths.F * Move DATA statement after SAVE statement (ANSI compatibility). * Correct CPP criteria for defining variable "km1". (56) set_depths_old.F * Move DATA statement after SAVE statement (ANSI compatibility). (57) setvbc.F * Move DATA statement after SAVE statement (ANSI compatibility). (58) setvert.F * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. (59) shap_lev.F * Shapiro filter Vorticity out to boundary. * Replace tabulation characters with spaces (ANSI compatibility). (60) sigma2z.F * Move DATA statement after SAVE statement (ANSI compatibility). (61) step.F * Define variable for ensuring positive bio-tracers in absence of Shapiro filter. * Renumber statement labels to avoid potential collisions. * Move DATA statement after all declarations (ANSI compatibility). (62) tide_aux.F * Move DATA statement after SAVE statement (ANSI compatibility). (63) tide_depth.F * Move DATA statement after SAVE statement (ANSI compatibility). (64) tracer.F * Avoid Leap-Frog/Euler jumping in line statistics. * Block CPP option "linear_physics" from vertically advecting mean tracer fields if biology is active. Current coding only valid for 2 tracers (T&S). (65) tracksout.F * Move DATA statement after SAVE statement (ANSI compatibility). (66) tsource.F * Move DATA statement after SAVE statement (ANSI compatibility). (67) vbar_test.F * Added UBARO & VBARO as new "state" variables. (68) vertical.h * Make CPP option "gridavg" the default behavior. Introduce new CPP option "gridold" to recover old algorithm. (69) vmix_aux.F * Move DATA statement after SAVE statement (ANSI compatibility). (70) writehydro.F * Remove list-directed write to internal file (ANSI compatibility). * Remove very non-standard format (ANSI compatibility). (71) wrtcdf.F * Add external velocity to identification procedure for 2D fields. (72) wrt_prf.F * Move DATA statement after SAVE statement (ANSI compatibility). (73) xtr_trc.F * Replace tabulation characters with spaces (ANSI compatibility). (74) xtrsubdom.F * Move DATA statement after SAVE statement (ANSI compatibility). (75) xy2ll.F * Move DATA statement after SAVE statement (ANSI compatibility). (76) vbar_test.F * Change ubaro vbaro to ubtst vbtst respectively. *** August 21, 2001: Version 9.6: (1) GNUmakefile.* * Consistent with current changes. (2) *.com * Consistent with current changes. (3) assiwght.F * Eliminate CPP option WRTERR. (4) blkdat.F * Update version data. * Consistent with current changes. (5) ccfl.h * Eliminate parameter cflcrt. (6) cdfout.F * Eliminate CPP option WRTERR. (7) cfl.F * Retain reporting of individual components. * CPP option "nocfl" now computes CFL statistics but does not stop simulation. * Make "sumcfl" the default, remove its negation. * Make "wcfl" the default. Retain its negation under the CPP option "nowcfl". (8) clinic.F * Refine timing probes. (9) defout.F * Eliminate CPP option WRTERR. (10) fullwd.h * Correct declaration of variables ISP and IEP. (11) inparm.F * Update CPP reports. (12) ioi.h * Eliminate CPP option WRTERR. (13) lintrp.F * Clean code & documentation. (14) nest.h * Codify message tags to improve ease of updating. (15) nest_domain.F * Codify message tags to improve ease of updating. (16) nest_flags.F * Codify message tags to improve ease of updating. (17) nest_init.F * Codify message tags to improve ease of updating. (18) nest_interior.F * Codify message tags to improve ease of updating. * Separately track timings for nesting communications proper and auxillary nesting calculations. * Avoid expensive use of SETVERT. (19) nest_rec_bc.F * Codify message tags to improve ease of updating. * Separately track timings for nesting communications proper and auxillary nesting calculations. * Avoid expensive use of SETVERT. (20) nest_snd_bc.F * Codify message tags to improve ease of updating. * Separately track timings for nesting communications proper and auxillary nesting calculations. (21) nest_spawn.F * Codify message tags to improve ease of updating. (22) nest_t_align.F * Separately track timings for nesting communications proper and auxillary nesting calculations. (23) nest_test.F * Codify message tags to improve ease of updating. (24) okeep.F * Ensure include file pconst.h is used whenever its needed. (25) options.h * Eliminate CPP option WRTERR. (26) pe_netcdf.h * Eliminate CPP option WRTERR. (27) pemodel.in * Eliminate CPP option WRTERR. (28) press_bias.F * Eliminate error messages when probing netCDF file. (29) robc.F * Correct "wave speed" estimates in Orlanski transport conditions. * Remove incorrect vertical means from baroclinic velocity estimates. (30) rseterr.F * Include simple ramping scheme. * Improve protection against singular cases. (31) scalvcln.F * Avoid expensive use of SETVERT. (32) splint.F * Use constant extrapolation. (33) step.F * CPP option "nocfl" now computes CFL statistics but does not stop simulation. * Preserve incidental data when setting southern boundary. * Ensure volume data exists for nesting & Asselin filter. * Refine timing probes. (34) tracer.F * Refine timing probes. (35) userdiag.F * Refine timing probes. (36) vmix_aux.F * Use MAX function to ensure that mixed-layer and convective coefficient adjustments never decrease the mixing coefficient. * Add more protections for CPP option BAROTROPIC (37) wrtcdf.F * Correct writing of barotropic velocities. * Eliminate CPP option WRTERR.