Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint65k: | (view) (download) (annotate) |
Sticky Tag: |
- pkg/exf/exf_getffields.F, exf_getsurfacefluxes.F : exf_getclim.F, add useCTRL switch
- ECCO_OPTIONS.h is needed when including ecco_cost.h, ecco.h - AUTODIFF_OPTIONS.h is needed when including tamc.h, tamc_keys.h - CTRL_OPTIONS.h is needed when including ctrl.h
- remove NON-generic controls, unless ECCO_CTRL_DEPRECATED is defined.
- pkg/exf/exf_getffields.F : add ctrlUseGen and .NOT.ctrlUseGen exclusive brackets and activate gentim2d for xx_atemp, xx_aqh, xx_swdown, xx_lwdown, xx_precip - pkg/exf/exf_getsurfacefluxes.F : implement gentim2d for xx_tauu, xx_tauv and add ctrlUseGen and .NOT.ctrlUseGen exclusive brackets.
- bug fix
o exf/exf_getclim.F, exf_getffields.F, exf_getsurfacefluxes.F : - add weight in CTRL_GET_GEN calls
- exf_getffields.F : add xxg_atemp, xxg_aqh, xxg_swdown, xxg_lwdown, xxg_precip capability - exf_wind.F : no need for ALLOW_WSPEED_CONTROL cpp switch
to use eaice-fraction from pkg/exf in other pkgs than pkg/seaice: rename CPP option EXF_ALLOW_SEAICE_RELAX to EXF_SEAICE_FRACTION and rename array obsSIce to exf_iceFraction
adding ALLOW_RUNOFTEMP for specifying temperature of runoff Modified Files: EXF_FIELDS.h EXF_OPTIONS.h EXF_PARAM.h exf_check_range.F exf_diagnostics_fill.F exf_diagnostics_init.F exf_getffields.F exf_init.F exf_mapfields.F exf_monitor.F exf_readparms.F exf_summary.F
- pkg/exf : added run time switch useAtmWind to replace ALLOW_ATM_WIND cpp switch. ALLOW_ATM_WIND now just sets the useAtmWind default (see exf_readparms.F) and force defines ALLOW_BULKFORMULAE (EXF_OPTIONS.h). - pkg/exf, autodiff, ctrl, ecco and seaice : remove ALLOW_ATM_WIND brackets, or replace them with useAtmWind ones. - pkg/ctrl, ecco : allow to compile both ALLOW_U/VSTRESS_CONTROL and ALLOW_U/VWIND_CONTROL. Depending on useAtmWind, one is inactive, and the other is active (see exf_getffields.F/exf_getsurfacefluxes.F).
Attempt at adding CTRL_SIZE.h
Check that precip >= snowprecip. This takes care, e.g., of case when snowprecip is specified but precip is unspecified. This check is needed for snowprecip treatment in seaice_growth to work properly.
Part two of ECCO-CLIVAR code merges. Completes merge of seaice area relax. code. Requires unified CPP option EXF_ALLOW_SEAICE_RELAX to be set in EXF_OPTIONS.h since this pkg controls its I/O (and avoids second CPP option in SEAICE_OPTIONS.h)
add argument uvInterp & remove USE_NO_INTERP_RUNOFF code
USE_EXF_INTERPOLATION : add a set of run-time param ({inputfield}_interpMethod), one for each interpolated input field, to select the interpolation method with a value of zero switching off the interpolation;
ALLOW_ROTATE_UV_CONTROLS: when defined, we rotate wind/stress controls adjustments from Eastward/Northward to model grid directions.
add capability to bypass interpolation for runoff by setting yet another CPP-flag
Adding a capability to exf: read ice area from file.
Completed mods to exf_getffieldrec.F to properly deal with year transitions for useExfYearlyFields.
o pkg/exf: added useRelativeWind EXF_PARAM.h option for subtracting U/VVEL or U/VICE from U/VWIND before computing U/VSTRESS
replaced EXF_OPTIONS.h CPP option EXF_SUBTRACT_UVVEL_FROM_UVWIND with EXF_PARAM.h runtime parameter useRelativeWind
o pkg/exf: added CPP option EXF_SUBTRACT_UVVEL_FROM_UVWIND for subtracting UVEL and VVEL from UWIND and VWIND prior to applying bulk formulae.
remove ALLOW_SEAICE from exf pkg files and add #define ALLOW_RUNOFF in SEAICE_OPTIONS.h
move EXF header files from lower_case.h to UPPER_CASE.h ; add missing cvs Header & Name
o pkg/exf: removed exf_init_runoff.F and placed functionality in exf_init.F and exf_set_gen.F; changed exf_set_gen.F so that genperiod=0 means input file is one time-constant field and genperiod=-12 means input file contains 12 monthly means Note 1: need to complete ALLOW_RUNOFF_CONTROL in exf_getffields.F Note 2: exf_set_gen.F now includes functionality of exf_set_climsss.F and exf_set_climsst.F, which can evetually be removed
Adding new control variables: lwflux, lwdown, evap, snowprecip, apressure, runoff.
o add new fields wspeed, snowprecip (to be able to couple to thsice) o correct Stefan-Boltzmann constant o new parameter for longwave surface emittance o separate some stuff from exf_bulkformulae into new routines exf_radiation, exf_wind
o Clean exf namelist o Update trend removal code
Adding parameter to remove on-the-fly global mean and trend from exf forcing and ctrl control adjustments
Adding swdown control.
Adding swflux control
Adding precip control
include ${PKG}_OPTIONS.h (if it exists) instead of PACKAGES_CONFIG.h + CPP_OPTIONS.h
xx_uwind, xx_vwind need maskC, consistent with uwind, vwind (get interpolated onto W/S at end of exf_bulkformulae)
o exf_getffields interpolation defaults to bilinear for all scalar forcing fields (remains bicubic for wind velocity and stress). This avoids, e.g., spurious negative numbers for precipitation and humidity. Will cause some small numerical differences for integrations using pkg/exf/exf_interp.F.
o enable to read exf forcing fields as either single file or yearly files (flag useExfYearlyFields)
o Added capability to read-in both atmospheric fluxes and atmospheric conditions, needed for running sea-ice model in conjunction with fluxes. o Removed ALLOW_CLIM_CYCLIC: cyclic monthly forcing is instead diagnosed from presence or absence of input parameters clim*period
added exf_offset_atemp for Celsius to Kelvin conversion of atemp
o changes to permit hi-res, cubed-sphere, configuration - added useSingleCpuIO capability to mdsio_readfield.F and exf_interp.F - added "#undef ALLOW_USE_MPI" support to eesupp/src/scatter_2d.F - added pkg/exf/exf_set_uv.F for on-the-fly interpolation and rotation of surface winds for the cube (A verification experiment, based on global_ocean.cs32x15, but with pkg/seaice turned on and with on-the-fly interpolation from the NCEP Gaussian grid is described in MITgcm_contrib/high_res_cube/README_ice, complete with example surface forcing files and matlab scripts to look at the output and compare it with that of global_ocean.cs32x15.)
o merging from ecco-branch o cleaned some CPP options
o added the [#include "AD_CONFIG.h"] statement to all files that need it for adjoint/tl #defines o re-worked the build logic in genmake2 to support AD_CONFIG.h o removed tools/genmake since it no longer works
o first check-in for the "branch-genmake2" merge o verification suite as run on shelley (gcc 3.2.2): Wed Oct 8 23:42:29 EDT 2003 T S U V G D M c m s m s m s m s E p a R g m m e . m m e . m m e . m m e . N n k u 2 i a a d i a a d i a a d i a a d 2 d e n d n x n . n x n . n x n . n x n . OPTFILE=NONE Y Y Y Y 13 16 16 16 0 16 16 16 16 16 16 16 16 13 12 0 0 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 0 0 16 16 0 0 pass adjustment.cs-32x32x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 22 0 16 16 22 0 pass adjust_nlfs.cs-32x32x1 Y Y Y Y -- 13 13 16 16 13 13 13 13 16 16 16 16 16 16 16 16 N/O advect_cs Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O advect_xy Y Y Y Y -- 13 16 13 16 16 16 16 16 16 16 22 16 16 16 16 16 N/O advect_xz Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_cs Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 16 pass aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 13 16 16 13 13 16 pass aim.5l_LatLon Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass exp0 Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 13 16 16 22 16 pass exp1 Y Y Y Y 13 13 16 13 16 16 16 16 16 13 13 16 16 13 13 13 13 pass exp2 Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass exp4 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 22 16 pass exp5 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass front_relax Y Y Y Y 14 16 16 13 13 16 16 13 13 16 13 13 16 12 13 13 16 pass global_ocean.90x40x15 Y Y Y Y 10 16 16 13 13 16 13 16 16 13 13 13 13 16 16 13 16 FAIL global_ocean.cs32x15 Y Y Y Y 6 11 12 13 13 12 13 16 13 9 9 9 9 10 9 9 11 FAIL global_ocean_pressure Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass global_with_exf Y Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16 9 16 pass hs94.128x64x5 Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 13 16 22 13 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 13 13 16 16 22 13 pass hs94.cs-32x32x5 Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL ideal_2D_oce Y Y Y Y 8 16 16 16 16 16 16 16 16 13 13 8 16 16 16 16 16 FAIL internal_wave Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass inverted_barometer Y Y Y Y 12 16 16 16 16 16 16 16 16 16 13 12 13 13 13 13 13 FAIL lab_sea Y Y Y Y 11 16 16 16 16 16 16 16 13 13 13 12 13 16 13 12 13 FAIL natl_box Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass plume_on_slope Y Y Y Y 13 16 16 16 16 13 16 16 16 16 16 16 16 13 16 16 16 pass solid-body.cs-32x32x1
o Added on-the-fly spatial interpolation capability "USE_EXF_INTERPOLATION" to pkg/exf. - This is a temporary Cartesian-grid hack until the super-duper ESMF coupler becomes available. - See verification/global_with_exf/README for usage example. - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid flags and modified pkg/seaice accordingly. o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F, and pkg/kpp/kpp_transport_ptr.F for dealing with tracer non-local transport term.
checkpoint51f_post o Added on-the-fly spatial interpolation capability "USE_EXF_INTERPOLATION" to pkg/exf. This is a temporary Cartesian-grid hack until the super-duper ESMF coupler becomes available. Usage example is in verification/global_with_exf. o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F, and pkg/kpp/kpp_transport_ptr.F for dealing with tracer non-local transport term.
Merging for c51 vs. e34
o exf totally restructured - replaced all exf_set_ routines by one generic exf_set_gen.F and made sure it's still differentiable - split exf_getffields.F into new exf_bulkformulae.F - exf_inscal_/exf_outscal_ suffixes consistent with field names - updated adjoint/makefile and relevant verif. accordingly
Pressure forcing was missing in exf_getffields.
declaration of aln for ALLOW_ATM_WIND only.
merged from ecco-branch: o exf: - Enable initialisation of forcing fields to constant (runtime) values. - in exf_getffields.F Reduce i-/j-loop to interior domain, discarding overlaps. That also fixes wrong TAF-key computations for key_1, key_2 with bulf formulae. - exf_init.F modify #ifdef for exf_init_evap - exf_getffieldrec.F, ctrl_getrec.F The following INT-usages are not safe: fldsecs = int(fldsecs/fldperiod)*fldperiod fldcount = int(fldsecs/fldperiod) + 1 and were modified.
o Added net flux to downward flux conversion to pkg/exf/exf_getffields.F o Added SEAICE_initialHEFF to pkg/seaice
Merging from release1_p12: o Modifications for using pkg/exf with pkg/seaice - improved description of the various forcing configurations - added basic radiation bulk formulae to pkg/exf - units/sign fix for evap computation in exf_getffields.F - updated verification/global_with_exf/results/output.txt o Added pkg/sbo for computing IERS Special Bureau for the Oceans (SBO) core products, including oceanic mass, center-of-mass, angular, and bottom pressure (see pkg/sbo/README.sbo). o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F to avoid negative values in shallow regions. - updated verification/natl_box/results/output.txt - updated verification/lab_sea/results/output.txt o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F o Added useSingleCpuIO option (see PARAMS.h). o Updated useSingleCpuIO option in mdsio_writefield.F to work with multi-field files, e.g., for single-file pickup. o pkg/seaice: - bug fix in growth.F: QNET for no shortwave case - added HeffFile for specifying initial sea-ice thickness - changed SEAICE_EXTERNAL_FLUXES wind stress implementation o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf, kpp_transport_t.F, forward_step.F, and the_main_loop.F o pkg/seaice: - adjoint-friendly modifications - added a SEAICE_WRITE_PICKUP at end of the_model_main.F
checkpoint47f_post Merging from release1_p10: o modifications for using pkg/exf with pkg/seaice - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING and SEAICE_EXTERNAL_FLUXES - pkg/exf CPP options EXF_READ_EVAP and EXF_NO_BULK_COMPUTATIONS - usage examples are Experiments 8 and 9 in verification/lab_sea/README - verification/lab_sea default experiment now uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf
Some TMP variables should be declared.
Updating the exchange routines for fu, fv, ustress, vstress for the cubed-sphere model.
Merging from release1_p8: o exf: updated external forcing package - bug fixes carried over from ecco-branch (missing OBCS_OPTIONS.h in two routines) - enable easy to use "no forcing". - added exf I/O for atmospheric loading - added exf I/O for runoff data - transfered scaling between exf <-> MITgcm to exf namelist - removing old exfa stuff
Changes to enable field swapping for external forcing consistent with adjoint flow. This allows to avoid in both forward and adjoint mode the reading of fields at every time step.
Updated to c40 code.
Added external forcing package. Not presently supported by mitgcm, i.e. disabled by default.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.22 |