[MITgcm-support] Error Messages for 'seaice_growth.f' during compile

Edwards, Erick (LCDR) eledward at nps.edu
Mon Aug 5 13:20:32 EDT 2013


Dr. Campin,

I appreciate the quick response!

Here's a list of what I'm using:

MITgcm_c64h

In packages.conf: gfd, kpp, rbcs, exf, cal, seaice

For SEAICE_OPTIONS.h, I attempted to undefine as much as possible from the start with the intent to build the options up as I learn how the module works.  I did the same with kpp and exf.  I'm only using exf to input time-varying hflux and ustress.  In essence, I'm running with WIND, TEMP, DOWN, BULK, and EVAP undefined (like Case 1 in the comments section of EXF_OPTIONS.h) but I do not read-in a vstress, swflux or sflux.  I was able to run the model and get output that reflected time-varying hflux (just like I wanted).  I don't need time-varying ustress, so it remains constant (but it is still read-in).

I'm not sure how to proceed to get the model to compile and run.

Erick


Here is SEAICE_OPTIONS.h:

C $Header: /u/gcmpack/MITgcm/verification/lab_sea/code/SEAICE_OPTIONS.h,v 1.32 2012/12/27 23:00:58 gforget Exp $
C $Name: checkpoint64h $
C     *==========================================================*
C     | SEAICE_OPTIONS.h
C     | o CPP options file for sea ice package.
C     *==========================================================*
C     | Use this file for selecting options within the sea ice
C     | package.
C     *==========================================================*
#ifndef SEAICE_OPTIONS_H
#define SEAICE_OPTIONS_H
#include "PACKAGES_CONFIG.h"
#include "CPP_OPTIONS.h"
#ifdef ALLOW_SEAICE
C     Package-specific Options & Macros go here
C--   Write "text-plots" of certain fields in STDOUT for debugging.
#undef SEAICE_DEBUG
C--   Allow sea-ice dynamic code.
C     This option is provided to allow use of TAMC
C     on the thermodynamics component of the code only.
C     Sea-ice dynamics can also be turned off at runtime
C     using variable SEAICEuseDYNAMICS.
#undef SEAICE_ALLOW_DYNAMICS
C--   By default, the sea-ice package uses its own integrated bulk
C     formulae to compute fluxes (fu, fv, EmPmR, Qnet, and Qsw) over
C     open-ocean.  When this flag is set, these variables are computed
C     in a separate external package, for example, pkg/exf, and then
C     modified for sea-ice effects by pkg/seaice.
#undef SEAICE_EXTERNAL_FLUXES
C--   This CPP flag has been retired.  The number of ice categories
C     used to solve for seaice flux is now specified by run-time
C     parameter SEAICE_multDim.
C     Note: be aware of pickup_seaice.* compatibility issues when
C     restarting a simulation with a different number of categories.
c#undef SEAICE_MULTICATEGORY
C--   run with sea Ice Thickness Distribution (ITD);
C     set number of categories (nITD) in SEAICE_SIZE.h
#undef SEAICE_ITD
C--   Since the missing sublimation term is now included
C     this flag is needed for backward compatibility
#undef SEAICE_DISABLE_SUBLIM
C--   Suspected missing term in coupled ocn-ice heat budget (to be confirmed)
#undef SEAICE_DISABLE_HEATCONSFIX
C--   Default is constant seaice salinity (SEAICE_salt0); Define the following
C     flag to consider (space & time) variable salinity: advected and forming
C     seaice with a fraction (=SEAICE_saltFrac) of freezing seawater salinity.
C- Note: SItracer also offers an alternative way to handle variable salinity.
#undef SEAICE_VARIABLE_SALINITY
C--   Tracers of ice and/or ice cover.
#undef ALLOW_SITRACER
#ifdef ALLOW_SITRACER
C--   To try avoid 'spontaneous generation' of tracer maxima by advdiff.
# undef ALLOW_SITRACER_ADVCAP
#endif
C--   By default the seaice model is discretized on a B-Grid (for
C     historical reasons). Define the following flag to use a new
C     (not thoroughly) test version on a C-grid
#undef SEAICE_CGRID
C--   Only for the C-grid version it is possible to
#ifdef SEAICE_CGRID
C     enable JFNK code by defining the following flag
# undef SEAICE_ALLOW_JFNK
C     enable LSR to use global (multi-tile) tri-diagonal solver
# undef SEAICE_GLOBAL_3DIAG_SOLVER
C     enable EVP code by defining the following flag
# undef SEAICE_ALLOW_EVP
# ifdef SEAICE_ALLOW_EVP
C--   When set use SEAICE_zetaMin and SEAICE_evpDampC to limit viscosities
C     from below and above in seaice_evp: not necessary, and not recommended
#  undef SEAICE_ALLOW_CLIPZETA
# endif /* SEAICE_ALLOW_EVP */
C     regularize zeta to zmax with a smooth tanh-function instead
C     of a min(zeta,zmax). This improves convergence of iterative
C     solvers (Lemieux and Tremblay 2009, JGR). No effect on EVP
# undef SEAICE_ZETA_SMOOTHREG
C     allow the truncated ellipse rheology (runtime flag SEAICEuseTEM)
# undef SEAICE_ALLOW_TEM
#else /* not SEAICE_CGRID, but old B-grid */
C--   By default for B-grid dynamics solver wind stress under sea-ice is
C     set to the same value as it would be if there was no sea-ice.
C     Define following CPP flag for B-grid ice-ocean stress coupling.
# undef SEAICE_BICE_STRESS
C--   By default for B-grid dynamics solver surface tilt is obtained
C     indirectly via geostrophic velocities. Define following CPP
C     in order to use ETAN instead.
# undef EXPLICIT_SSH_SLOPE
C--   Defining this flag turns on FV-discretization of the B-grid LSOR solver.
C     It is smoother and includes all metric terms, similar to C-grid solvers.
C     It is here for completeness, but its usefulness is unclear.
# undef SEAICE_LSRBNEW
#endif /* SEAICE_CGRID */
C--   When set limit the Ice-Loading to mass of 1/5 of Surface ocean grid-box
#undef SEAICE_CAP_ICELOAD
C--   When set use SEAICE_clipVelocties = .true., to clip U/VICE at 40cm/s,
C     not recommended
#undef SEAICE_ALLOW_CLIPVELS
C--   When set cap the sublimation latent heat flux in solve4temp according
C     to the available amount of ice+snow. Otherwise this term is treated
C     like all of the others -- residuals heat and fw stocks are passed to
C     the ocean at the end of seaice_growth in a conservative manner.
C     SEAICE_CAP_SUBLIM is not needed as of now, but kept just in case.
#undef SEAICE_CAP_SUBLIM
C--   Enable free drift code
#undef SEAICE_ALLOW_FREEDRIFT
#endif /* ALLOW_SEAICE */
#endif /* SEAICE_OPTIONS_H */
CEH3 ;;; Local Variables: ***
CEH3 ;;; mode:fortran ***
CEH3 ;;; End: ***

And here is EXF_OPTIONS.h:

C $Header: /u/gcmpack/MITgcm/verification/global_ocean.cs32x15/code/EXF_OPTIONS.h,v 1.7 2012/08/09 20:31:54 jmc Exp $
C $Name: checkpoint64h $
CBOP
C !ROUTINE: EXF_OPTIONS.h
C !INTERFACE:
C #include "EXF_OPTIONS.h"
C !DESCRIPTION:
C *==================================================================*
C | CPP options file for EXternal Forcing (EXF) package:
C | Control which optional features to compile in this package code.
C *==================================================================*
CEOP
#ifndef EXF_OPTIONS_H
#define EXF_OPTIONS_H
#include "PACKAGES_CONFIG.h"
#include "CPP_OPTIONS.h"
#ifdef ALLOW_EXF
#ifdef ECCO_CPPOPTIONS_H
C-- When multi-package option-file ECCO_CPPOPTIONS.h is used (directly included
C    in CPP_OPTIONS.h), this option file is left empty since all options that
C   are specific to this package are assumed to be set in ECCO_CPPOPTIONS.h
#else /* ndef ECCO_CPPOPTIONS_H */
C-- Package-specific Options & Macros go here
C   pkg/exf CPP options:
C   --------------------
C
C   > ( EXF_VERBOSE ) < replaced with run-time, logical parameter "exf_verbose".
C
C   >>> ALLOW_ATM_WIND <<<
C       If defined, 10-m wind fields can be read-in from files.
C
C   >>> ALLOW_ATM_TEMP <<<
C       If defined, atmospheric temperature and specific
C       humidity fields can be read-in from files.
C
C   >>> ALLOW_DOWNWARD_RADIATION <<<
C       If defined, downward long-wave and short-wave radiation
C       can be read-in from files or computed from lwflux and swflux.
C
C   >>> ALLOW_ZENITHANGLE <<<
C       If defined, ocean albedo varies with the zenith angle, and
C       incoming fluxes at the top of the atmosphere are computed
C
C   >>> ALLOW_BULKFORMULAE <<<
C       Allows the use of bulk formulae in order to estimate
C       turbulent and radiative fluxes at the ocean surface.
C
C   >>> EXF_READ_EVAP <<<
C       If defined, evaporation fields are read-in, rather than
C       computed from atmospheric state.
C
C   >>> ALLOW_RUNOFF <<<
C       If defined, river and glacier runoff can be read-in from files.
C
C   >>> ATMOSPHERIC_LOADING <<<
C       If defined, atmospheric pressure can be read-in from files.
C   WARNING: this flag is set (define/undef) in CPP_OPTIONS.h
C            and cannot be changed here (in EXF_OPTIONS)
C
C   >>> ICE_AREAMASK <<<
C       If defined, fractional ice-covered area MASK can be read-in from files.
C
C   >>> ALLOW_CLIMSST_RELAXATION <<<
C       Allow the relaxation to a monthly climatology of sea surface
C       temperature, e.g. the Reynolds climatology.
C
C   >>> ALLOW_CLIMSSS_RELAXATION <<<
C       Allow the relaxation to a monthly climatology of sea surface
C       salinity, e.g. the Levitus climatology.
C
C   >>> USE_EXF_INTERPOLATION <<<
C       Allows specification of arbitrary Cartesian input grids.
C
C   ====================================================================
C
C       The following CPP options:
C
C          ALLOW_ATM_WIND              (WIND)
C          ALLOW_ATM_TEMP              (TEMP)
C          ALLOW_DOWNWARD_RADIATION    (DOWN)
C          ALLOW_BULKFORMULAE          (BULK)
C          EXF_READ_EVAP               (EVAP)
C
C       permit the ocean-model forcing configurations listed in the
C       table below.  The first configuration is the default,
C       flux-forced, ocean model.  The next four are stand-alone
C       configurations that use pkg/exf, open-water bulk formulae to
C       compute the missing surface fluxes from atmospheric variables.
C       The last four configurations can be used in conjunction with
C       pkg/seaice to model ice-covered regions.  The forcing fields
C       in the rightmost column are defined in exf_fields.
C
C
C    WIND |TEMP |DOWN |BULK |EVAP |            actions
C    -----|-----|-----|-----|-----|-------------------------------------
C         |     |     |     |     |
C      -  |  -  |  -  |  -  |  -  | Read-in ustress, vstress, hflux,
C         |     |     |     |     | swflux, and sflux.
C         |     |     |     |     |
C     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,
C         |     |     |     |     | swdown, lwdown, precip, and runoff.
C         |     |     |     |     | Compute ustress, vstress, hflux,
C         |     |     |     |     | swflux, and sflux.
C         |     |     |     |     |
C     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,
C         |     |     |     |     | swflux, lwflux, precip, and runoff.
C         |     |     |     |     | Compute ustress, vstress, hflux,
C         |     |     |     |     | and sflux.
C         |     |     |     |     |
C     def |  -  |  -  | def |  -  | Read-in uwind, vwind, hflux,
C         |     |     |     |     | swflux, and sflux.
C         |     |     |     |     | Compute ustress and vstress.
C         |     |     |     |     |
C      -  | def |  -  | def |  -  | Read-in ustress, vstress, atemp,
C         |     |     |     |     | aqh, swflux, lwflux, precip, and
C         |     |     |     |     | runoff.  Compute hflux and sflux.
C         |     |     |     |     |
C     def | def |  -  |  -  | def | Read-in uwind, vwind, atemp, aqh,
C         |     |     |     |     | swflux, lwflux, precip, runoff,
C         |     |     |     |     | and evap.
C         |     |     |     |     |
C     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,
C         |     |     |     |     | swflux, lwflux, precip, and runoff.
C         |     |     |     |     | Compute open-water ustress, vstress,
C         |     |     |     |     | hflux, swflux, and evap.
C         |     |     |     |     |
C     def | def | def |  -  | def | Read-in uwind, vwind, atemp, aqh,
C         |     |     |     |     | swdown, lwdown, precip, runoff,
C         |     |     |     |     | and evap.
C         |     |     |     |     |
C     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,
C         |     |     |     |     | swdown, lwdown, precip, and runoff.
C         |     |     |     |     | Compute open-water ustress, vstress,
C         |     |     |     |     | hflux, swflux, and evap.
C
C   ====================================================================
C   Bulk formulae related flags.
#undef   ALLOW_ATM_TEMP
#undef   ALLOW_ATM_WIND
#undef   ALLOW_DOWNWARD_RADIATION
#undef   ALLOW_RUNOFF
#if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND))
#undef   ALLOW_BULKFORMULAE
#undef   ALLOW_BULK_LARGEYEAGER04
#endif
C   Zenith Angle/Albedo related flags.
#ifdef ALLOW_DOWNWARD_RADIATION
# undef ALLOW_ZENITHANGLE
#endif
C   Use ocean_emissivity*lwdwon in lwFlux. This flag should be define
C   unless to reproduce old results (obtained with inconsistent old code)
#ifdef ALLOW_DOWNWARD_RADIATION
# define EXF_LWDOWN_WITH_EMISSIVITY
#endif
C   Relaxation to monthly climatologies.
#undef  ALLOW_CLIMSST_RELAXATION
#undef  ALLOW_CLIMSSS_RELAXATION
C   Use spatial interpolation to interpolate
C   forcing files from input grid to model grid.
#undef USE_EXF_INTERPOLATION
C   for interpolated vector fields, rotate towards model-grid axis
C   using old rotation formulae (instead of grid-angles)
#undef EXF_USE_OLD_VEC_ROTATION
C   for interpolation around N & S pole, use the old formulation
C   (no pole symmetry, single vector-comp interp, reset to 0 zonal-comp @ N.pole)
#undef EXF_USE_OLD_INTERP_POLE
#define EXF_INTERP_USE_DYNALLOC
#if ( defined (EXF_INTERP_USE_DYNALLOC) && defined (USING_THREADS) )
# define EXF_IREAD_USE_GLOBAL_POINTER
#endif
#endif /* ndef ECCO_CPPOPTIONS_H */
#endif /* ALLOW_EXF */
#endif /* EXF_OPTIONS_H */


Hi,



My comments below are not accurate:

On Thu, Aug 01, 2013 at 06:35:12PM -0400, Jean-Michel Campin wrote:

> Hi Erick,

>

> Assuming you are using a recent version of the code (otherwise, will

> need to know which version it is), if you can provide the list of packages

> you compile (packages.conf) and the CPP option files (specially the

> one for pkg/seaice, i.e.: SEAICE_OPTIONS.h), we will have a better idea

> of what is the problem.

>

> One thing that has changed recently (pkg/pkg_depend, on May 25, 2013)

> is that compiling pkg/seaice does not turn on pkg/exf anymore.

> The verification experiments that uses pkg/seaice has been changed

> accordingly, but may be you did not start from an up-to-date

> verification experiment ?

The modifications from May 25 have been made safely, seaice_growth.F will

compile even without pkg/exf, but the routine SEACIE_GROWTH will

be mostly empty except an unconditional STOP.



Jean-Michel



>

> Cheers,

> Jean-Michel

>

> On Thu, Aug 01, 2013 at 08:58:21PM +0000, Edwards, Erick (LCDR) wrote:

> > MITgcm Support,

> >

> > I'm attempting to use the 'seaice' package but during the compile (after the 'make' command), I get the following messages:

> >

> > seaice_growth.f(5895): error #6404: This name does not have a type, and must have an explicit type.   [SNOWPRECIP]

> >      &             snowPrecip(i,j,bi,bj) * (ONE-AREApreTH(I,J))

> > -------------------^

> > seaice_growth.f(5982): error #6404: This name does not have a type, and must have an explicit type.   [EVAP]

> >      &       ( ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) )

> > -----------------^

> > seaice_growth.f(5982): error #6404: This name does not have a type, and must have an explicit type.   [PRECIP]

> >      &       ( ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) )

> > ---------------------------------^

> > compilation aborted for seaice_growth.f (code 1)

> > make[1]: *** [seaice_growth.o] Error 1

> > make[1]: *** Waiting for unfinished jobs....

> > make: *** [fwd_exe_target] Error 2

> >

> > Has anyone else experienced this?

> >

> > Erick

> >

> >

>

> > _______________________________________________

> > MITgcm-support mailing list

> > MITgcm-support at mitgcm.org<http://mitgcm.org/mailman/listinfo/mitgcm-support>

> > http://mitgcm.org/mailman/listinfo/mitgcm-support

>

>

> _______________________________________________

> MITgcm-support mailing list

> MITgcm-support at mitgcm.org<http://mitgcm.org/mailman/listinfo/mitgcm-support>

> http://mitgcm.org/mailman/listinfo/mitgcm-support



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20130805/ce61be57/attachment-0001.htm>


More information about the MITgcm-support mailing list