diff --git a/.github/workflows/build_testing.yml b/.github/workflows/build_testing.yml index 120c9552d7..537cb851bd 100644 --- a/.github/workflows/build_testing.yml +++ b/.github/workflows/build_testing.yml @@ -71,7 +71,7 @@ jobs: env: MITGCM_EXP: ${{ matrix.exp }} MITGCM_DECMD: "docker exec -i openad-testing bash -lc" - MITGCM_TROPT: "-oad -devel -of=../tools/build_options/linux_amd64_gfortran" + MITGCM_TROPT: "-oad -devel -of=../tools/build_options/linux_amd64_gfortran -match 14" MITGCM_INPUT_DIR_PAT: '/input_oad.*' run: | . tools/ci/runtr.sh @@ -107,7 +107,7 @@ jobs: env: MITGCM_EXP: ${{ matrix.exp }} MITGCM_DECMD: "docker exec -i openad-testing bash -lc" - MITGCM_TROPT: "-oad -devel -of=../tools/build_options/linux_amd64_gfortran" + MITGCM_TROPT: "-oad -devel -of=../tools/build_options/linux_amd64_gfortran -match 14" MITGCM_INPUT_DIR_PAT: '/input_oad.*' run: | . tools/ci/runtr.sh diff --git a/.gitignore b/.gitignore index 05aa072bc0..abcff30e1f 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,4 @@ core /verification/*/tr_run.* +/tools/TAP_support/ADFirstAidKit/*.gch diff --git a/doc/autodiff/autodiff.rst b/doc/autodiff/autodiff.rst index db20af6113..1632e9495d 100644 --- a/doc/autodiff/autodiff.rst +++ b/doc/autodiff/autodiff.rst @@ -62,10 +62,10 @@ diagnostics, objective function, ...) under consideration: .. math:: \begin{aligned} {\cal M} \, : & \, U \,\, \longrightarrow \, V \\ - ~ & \, \vec{u} \,\, \longmapsto \, \vec{v} \, = \, + ~ & \, \vec{u} \,\, \longmapsto \, \vec{v} \, = \, {\cal M}(\vec{u})\end{aligned} :label: fulloperator - + The vectors :math:`\vec{u} \in U` and :math:`\vec{v} \in V` may be represented with respect to some given basis vectors :math:`{\rm span} (U) = \{ {\vec{e}_i} \}_{i = 1, \ldots , m}` and @@ -99,8 +99,8 @@ components reads .. math:: - \delta v_{j} \, = \, \sum_{i} - \left. \frac{\partial {\cal M}_{j}}{\partial u_{i}} \right|_{u^{(0)}} \, + \delta v_{j} \, = \, \sum_{i} + \left. \frac{\partial {\cal M}_{j}}{\partial u_{i}} \right|_{u^{(0)}} \, \delta u_{i} :label: jacobi_matrix @@ -124,10 +124,10 @@ over a time interval, or a measure of some model-to-data misfit) .. math:: \begin{aligned} \begin{array}{cccccc} - {\cal J} \, : & U & - \longrightarrow & V & + {\cal J} \, : & U & + \longrightarrow & V & \longrightarrow & \mathbb{R} \\ - ~ & \vec{u} & \longmapsto & \vec{v}={\cal M}(\vec{u}) & + ~ & \vec{u} & \longmapsto & \vec{v}={\cal M}(\vec{u}) & \longmapsto & {\cal J}(\vec{u}) = {\cal J}({\cal M}(\vec{u})) \end{array}\end{aligned} :label: compo @@ -144,11 +144,11 @@ can be expressed in both bases of :math:`\vec{u}` and .. math:: \begin{aligned} {\cal J} & = \, - {\cal J} |_{\vec{u}^{(0)}} \, + \, - \left\langle \, \nabla _{u}{\cal J}^T |_{\vec{u}^{(0)}} \, , \, \delta \vec{u} \, \right\rangle + {\cal J} |_{\vec{u}^{(0)}} \, + \, + \left\langle \, \nabla _{u}{\cal J}^T |_{\vec{u}^{(0)}} \, , \, \delta \vec{u} \, \right\rangle \, + \, O(\delta \vec{u}^2) \\ ~ & = \, - {\cal J} |_{\vec{v}^{(0)}} \, + \, + {\cal J} |_{\vec{v}^{(0)}} \, + \, \left\langle \, \nabla _{v}{\cal J}^T |_{\vec{v}^{(0)}} \, , \, \delta \vec{v} \, \right\rangle \, + \, O(\delta \vec{v}^2) \end{aligned} @@ -179,8 +179,8 @@ and from :eq:`tangent_linear`, :eq:`deljidentity`, we note that \left\langle \, \nabla _{v}{\cal J}^T \, , \, \delta \vec{v} \, \right\rangle \, = \, \left\langle \, \nabla _{v}{\cal J}^T \, , \, M \, \delta \vec{u} \, \right\rangle - \, = \, - \left\langle \, M^T \, \nabla _{v}{\cal J}^T \, , \, + \, = \, + \left\langle \, M^T \, \nabla _{v}{\cal J}^T \, , \, \delta \vec{u} \, \right\rangle :label: inner @@ -190,7 +190,7 @@ adjoint :math:`M^{\ast }` of the tangent linear model :math:`M` .. math:: \begin{aligned} - \nabla _{u}{\cal J}^T |_{\vec{u}} & + \nabla _{u}{\cal J}^T |_{\vec{u}} & = \, M^T |_{\vec{u}} \cdot \nabla _{v}{\cal J}^T |_{\vec{v}} \\ ~ & = \, M^T |_{\vec{u}} \cdot \delta \vec{v}^{\ast} \\ ~ & = \, \delta \vec{u}^{\ast} @@ -219,8 +219,8 @@ final state :math:`\vec{v}` only (this restriction is for clarity reasons only). :math:`{\cal J}(u)` may be decomposed according to: .. math:: - {\cal J}({\cal M}(\vec{u})) \, = \, - {\cal J} ( {\cal M}_{\Lambda} ( {\cal M}_{\Lambda-1} ( + {\cal J}({\cal M}(\vec{u})) \, = \, + {\cal J} ( {\cal M}_{\Lambda} ( {\cal M}_{\Lambda-1} ( ...... ( {\cal M}_{\lambda} (...... ( {\cal M}_{1} ( {\cal M}_{0}(\vec{u}) ))))) :label: compos @@ -249,10 +249,10 @@ whereas in reverse mode we have \begin{aligned} M^T ( \nabla_v {\cal J}^T) & = \, M_{0}^T \cdot M_{1}^T - \cdot ...... \cdot M_{\lambda}^T \cdot ...... \cdot + \cdot ...... \cdot M_{\lambda}^T \cdot ...... \cdot M_{\Lambda}^T \cdot \nabla_v {\cal J}^T \\ ~ & = \, M_{0}^T \cdot M_{1}^T - \cdot ...... \cdot + \cdot ...... \cdot \nabla_{v^{(\lambda)}} {\cal J}^T \\ ~ & = \, \nabla_u {\cal J}^T \end{aligned}} @@ -274,7 +274,7 @@ each intermediate step :math:`\lambda`, namely \begin{aligned} \nabla_{v^{(\lambda)}} {\cal J}^T |_{\vec{v}^{(\lambda)}} & = \, - M_{\lambda}^T |_{\vec{v}^{(\lambda)}} \cdot ...... \cdot + M_{\lambda}^T |_{\vec{v}^{(\lambda)}} \cdot ...... \cdot M_{\Lambda}^T |_{\vec{v}^{(\lambda)}} \cdot \delta \vec{v}^{\ast} \\ ~ & = \, \delta \vec{v}^{(\lambda) \, \ast} \end{aligned}} @@ -290,15 +290,15 @@ In components, :eq:`adjoint` reads as follows. Let \delta \vec{u} & = & \left( \delta u_1,\ldots, \delta u_m \right)^T , & \qquad & \delta \vec{u}^{\ast} \,\, = \,\, \nabla_u {\cal J}^T & = & - \left( - \frac{\partial {\cal J}}{\partial u_1},\ldots, + \left( + \frac{\partial {\cal J}}{\partial u_1},\ldots, \frac{\partial {\cal J}}{\partial u_m} \right)^T \\ \delta \vec{v} & = & \left( \delta v_1,\ldots, \delta u_n \right)^T , & \qquad & \delta \vec{v}^{\ast} \,\, = \,\, \nabla_v {\cal J}^T & = & - \left( - \frac{\partial {\cal J}}{\partial v_1},\ldots, + \left( + \frac{\partial {\cal J}}{\partial v_1},\ldots, \frac{\partial {\cal J}}{\partial v_n} \right)^T \\ \end{array} @@ -321,17 +321,17 @@ is the Jacobi matrix of :math:`{\cal M}` (an :math:`n \times m` matrix) such that :math:`\delta \vec{v} = M \cdot \delta \vec{u}`, or .. math:: - \delta v_{j} + \delta v_{j} \, = \, \sum_{i=1}^m M_{ji} \, \delta u_{i} - \, = \, \sum_{i=1}^m \, \frac{\partial {\cal M}_{j}}{\partial u_{i}} + \, = \, \sum_{i=1}^m \, \frac{\partial {\cal M}_{j}}{\partial u_{i}} \delta u_{i} Then :eq:`adjoint` takes the form .. math:: - \delta u_{i}^{\ast} + \delta u_{i}^{\ast} \, = \, \sum_{j=1}^n M_{ji} \, \delta v_{j}^{\ast} - \, = \, \sum_{j=1}^n \, \frac{\partial {\cal M}_{j}}{\partial u_{i}} + \, = \, \sum_{j=1}^n \, \frac{\partial {\cal M}_{j}}{\partial u_{i}} \delta v_{j}^{\ast} or @@ -347,11 +347,11 @@ or \, = \, \left( \begin{array}{ccc} - \left. \frac{\partial {\cal M}_1}{\partial u_1} \right|_{\vec{u}^{(0)}} + \left. \frac{\partial {\cal M}_1}{\partial u_1} \right|_{\vec{u}^{(0)}} & \ldots & \left. \frac{\partial {\cal M}_n}{\partial u_1} \right|_{\vec{u}^{(0)}} \\ \vdots & ~ & \vdots \\ - \left. \frac{\partial {\cal M}_1}{\partial u_m} \right|_{\vec{u}^{(0)}} + \left. \frac{\partial {\cal M}_1}{\partial u_m} \right|_{\vec{u}^{(0)}} & \ldots & \left. \frac{\partial {\cal M}_n}{\partial u_m} \right|_{\vec{u}^{(0)}} \\ \end{array} @@ -460,7 +460,7 @@ dimension :math:`l > 1`, :eq:`reverse` has to be modified according to .. math:: - M^T \left( \nabla_v {\cal J}^T \left(\delta \vec{J}\right) \right) + M^T \left( \nabla_v {\cal J}^T \left(\delta \vec{J}\right) \right) \, = \, \nabla_u {\cal J}^T \cdot \delta \vec{J} @@ -491,7 +491,7 @@ the adjoint operator onto the :math:`j`-th component :math:`{\bf f_{j}}`, .. math:: - \nabla_u {\cal J}^T + \nabla_u {\cal J}^T \, = \, M^T \cdot \nabla_v {\cal J}^T \, = \, \sum_{i} M^T_{ji} \, {\vec{e}_{i}} @@ -505,10 +505,10 @@ space. Then, :math:`\nabla_v {\cal J}` takes the form .. math:: \begin{aligned} - \nabla_v {\cal J}^T & = \, 2 \, \, H \cdot + \nabla_v {\cal J}^T & = \, 2 \, \, H \cdot \left( \, {\cal H}(\vec{v}) - \vec{d} \, \right) \\ ~ & = \, 2 \sum_{j} \left\{ \sum_k - \frac{\partial {\cal H}_k}{\partial v_{j}} + \frac{\partial {\cal H}_k}{\partial v_{j}} \left( {\cal H}_k (\vec{v}) - d_k \right) \right\} \, {\vec{f}_{j}} \\ \end{aligned} @@ -519,7 +519,7 @@ Jacobi matrix of the data projection operator. Thus, the gradient by the model vs. data misfit: .. math:: - \nabla_u {\cal J}^T \, = \, 2 \, M^T \cdot + \nabla_u {\cal J}^T \, = \, 2 \, M^T \cdot H \cdot \left( {\cal H}(\vec{v}) - \vec{d} \, \right) .. _sec_autodiff_storage_v_recompute: @@ -620,7 +620,7 @@ In this section we describe in a general fashion the parts of the code that are relevant for automatic differentiation using the software tool TAF. Modifications to use OpenAD are described in :numref:`ad_openad`. -The basic flow is as follows: +The basic flow is as follows: :: @@ -629,9 +629,9 @@ The basic flow is as follows: |--- initialise_fixed | |--- #ifdef ALLOW_ADJOINT_RUN - | | + | | | |--- ctrl_unpack - | | + | | | |--- adthe_main_loop | | | | | |--- initialise_varia @@ -718,9 +718,9 @@ The following AD-specific CPP option files need to be customized: :filelink:`pkg/cost`, :filelink:`pkg/ctrl` as well as AD-unrelated options for the external forcing package :filelink:`pkg/exf`. (NOTE: These options are not set in their package-specific headers such as :filelink:`COST_OPTIONS.h `, - but are instead collected in the single header file + but are instead collected in the single header file :filelink:`ECCO_CPPOPTIONS.h `. - The package-specific header files serve as simple placeholders at this point.) + The package-specific header files serve as simple placeholders at this point.) - :filelink:`tamc.h ` This header configures the splitting of the time stepping loop @@ -1014,8 +1014,8 @@ accumulates the total cost function :varlink:`fc` from each contribution and sums over all tiles: .. math:: - {\cal J} \, = \, - {\rm fc} \, = \, + {\cal J} \, = \, + {\rm fc} \, = \, {\rm mult\_tracer} \sum_{\text{global sum}} \sum_{bi,\,bj}^{nSx,\,nSy} {\rm objf\_tracer}(bi,bj) \, + \, ... @@ -1220,7 +1220,7 @@ considered: :: - call active_read_xyz( + call active_read_xyz( & ..., tmpfld3d, ..., xx_tr1_dummy, ... ) tr1(...) = tr1(...) + tmpfld3d(...) @@ -1258,7 +1258,7 @@ considered: parameters :varlink:`diffkr` and :varlink:`kapgm` are currently added as controls in :filelink:`ctrl_map_ini.F `. -.. _sec_autodiff_output_adj_vars: +.. _sec_autodiff_output_adj_vars: Output of adjoint variables and gradient ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1275,7 +1275,7 @@ Several ways exist to generate output of adjoint fields. after the adjoint integration the corresponding adjoint variables are written to ``adxx\_«...»``. -- In :filelink:`ctrl_unpack.F `, :filelink:`ctrl_pack.F `: +- In :filelink:`ctrl_unpack.F `, :filelink:`ctrl_pack.F `: - The control vector ``vector_ctrl``: at the very beginning of the model initialization, the updated @@ -1326,7 +1326,7 @@ Several ways exist to generate output of adjoint fields. **WARNING:** If the structure of the common blocks :varlink:`dynvars_r`, :varlink:`dynvars_cd`, etc., changes similar changes will occur in the adjoint common blocks. Therefore, consistency between the - TAMC-generated common blocks and those in + TAMC-generated common blocks and those in :filelink:`adcommon.h ` have to be checked. @@ -1339,7 +1339,7 @@ to be minimized with respect to a set of control variables gradient :math:`\nabla _{u}{\cal J} |_{u_{[k]}}` together with the value of the cost function itself :math:`{\cal J}(u_{[k]})` at iteration step :math:`k` serve as input to a minimization routine -(e.g. quasi-Newton method, conjugate gradient, ... (Gilbert and Lemaréchal, 1989 +(e.g. quasi-Newton method, conjugate gradient, ... (Gilbert and Lemaréchal, 1989 :cite:`gil-lem:89`) to compute an update in the control variable for iteration step :math:`k+1`: @@ -1361,7 +1361,7 @@ between forward/adjoint model and the minimization routine. Flow between the forward/adjoint model and the minimization routine. -The routines :filelink:`ctrl_unpack.F ` and +The routines :filelink:`ctrl_unpack.F ` and :filelink:`ctrl_pack.F ` provide the link between the model and the minimization routine. As described in Section ref:ask-the-author the :filelink:`ctrl_unpack.F ` @@ -1426,7 +1426,7 @@ successful if the deviation of the ratio between the adjoint and the finite difference gradient from unity is less than 1 percent, .. math:: - 1 \, - \, + 1 \, - \, \frac{({\rm grad}{\cal J})_i (\text{adjoint})} {({\rm grad}{\cal J})_i (\text{finite difference})} \, < 1 \% @@ -1476,7 +1476,7 @@ The relevant runtime flags are set in the files: | |-- grdchk_getxx - get control vector component from file | perturb it and write back to file - |-- grdchk_getadxx - get gradient component calculated + |-- grdchk_getadxx - get gradient component calculated | via adjoint |-- the_main_loop - forward run and cost evaluation | with perturbed control vector element @@ -1751,8 +1751,8 @@ for following system: > uname -a Linux itrda 2.6.22.2-42.fc6 #1 SMP Wed Aug 15 12:34:26 EDT 2007 i686 i686 i386 GNU/Linux - > cat /proc/version - Linux version 2.6.22.2-42.fc6 (brewbuilder@hs20-bc2-4.build.redhat.com) + > cat /proc/version + Linux version 2.6.22.2-42.fc6 (brewbuilder@hs20-bc2-4.build.redhat.com) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-13)) #1 SMP Wed Aug 15 12:34:26 EDT 2007 > module load ifc/9.1.036 icc/9.1.042 @@ -1790,8 +1790,216 @@ The ``-oadsingularity`` option is also supported by testreport, :numref:`testreport_utility`. Note that the path to the container has to be either absolute or relative to the build directory. +.. _ad_tapenade: + +Adjoint code generation using Tapenade +====================================== + +Authors: Shreyas Gaikwad, Sri Hari Krishna Naryanan, Laurent Hascoet, Patrick +Heimbach + +Introduction +------------ + +TAPENADE is an open-source Automatic Differentiation Engine developed at INRIA +Sophia-Antipolis by the Tropics then Ecuador teams. TAPENADE can be utilized as +a server (JAVA servlet), which runs at INRIA Sophia-Antipolis. The current +address of this TAPENADE server is `here +`_. TAPENADE can also be +downloaded and installed locally as a set of JAVA classes (JAR archive). In +that case it is run by a simple command line, which can be included into a +Makefile. It also provides you with a user-interface to visualize the results +in a HTML browser. + +Downloading and installing Tapenade +----------------------------------- + +While the MITgcm source files are prepared to generate adjoint sensitivities, +they will not be able to do so without an operable installation of +Tapenade. Fortunately the Tapenade installation procedure is straight forward. + +We detail the instructions here, but the latest instructions can always be +found `here +`__. + +Prerequisites for Linux or Mac OS +--------------------------------- + +Before installing Tapenade, you must check that an up-to-date Java Runtime +Environment is installed. Tapenade will not run with older Java Runtime +Environment. + +Steps for Mac OS +---------------- + +Tapenade 3.16 distribution does not contain a fortranParser executable for +MacOS. It uses a docker image from `here +`__. You need docker on your Mac to +run the Tapenade distribution with Fortran programs. Details on how to build +fortranParser is `here +`__. You +may also build Tapenade on your Mac from the `gitlab repository +`__. + +To use the docker image specify ``TAPENADECMD=tapenadocker`` in your +build-options or in a ``genmake_local`` file (:numref:`genmake2_desc`). +Running a docker image also requires absolute paths, e.g., to +:filelink:`tools/TAP_support/flow_tap `. At the +:filelink:`genmake2 ` step use the option ``-rootdir`` to +specify the absolute path to your MITgcm directory (see also +:numref:`command_line_options`). + +Steps for Linux +--------------- + +1. Read `the Tapenade license. `__ + +2. Download `tapenade_3.16.tar + `__ + into your chosen installation directory *install_dir*. + +3. Go to your chosen installation directory *install_dir*, and extract Tapenade + from the tar file : + +:: + + % tar xvfz tapenade_3.16.tar + +4. On Linux, depending on your distribution, Tapenade may require you to set + the shell variable ``JAVA_HOME`` to your java installation directory. It is + often ``JAVA_HOME=/usr/java/default``. You might also need to modify the + ``PATH`` by adding the bin directory from the Tapenade installation. An + example can be found :ref:`here `. + +Prerequisites for Windows +------------------------- + +Before installing Tapenade, you must check that an up-to-date Java Runtime +Environment is installed. Tapenade will not run with older Java Runtime +Environment. The Fortran parser of Tapenade uses `cygwin +`__. + +Steps for Windows +----------------- + +1. Read `the Tapenade license. `__ + +2. Download `tapenade_3.16.zip + `__ + into your chosen installation directory *install_dir*. + +3. Go to your chosen installation directory *install_dir*, and extract Tapenade + from the zip file. + +4. Save a copy of the ``install_dir\tapenade_3.16\bin\tapenade.bat`` file and + modify ``install_dir\tapenade_3.16\bin\tapenade.bat`` according to your + installation parameters: + +replace ``TAPENADE_HOME=..`` by ``TAPENADE_HOME="install_dir"\tapenade_3.16`` +replace ``JAVA_HOME="C:\Progra~1\Java\jdkXXXX"`` by your current java directory +replace ``BROWSER="C:\Program Files\Internet Explorer\iexplore.exe"`` by your +current browser. + +.. _tapenade_bashrc_snippet: + +**NOTE**: Every time you wish to use the AD capability with Tapenade, you must re-source the environment. We recommend that this be done automatically in your bash or c-shell profile upon login. An example of an addition to a ``.bashrc`` file from a Linux server is given below. Luckily, shell variable ``JAVA_HOME`` was not required to be explicitly set for this particular Linux distribution, but might be necessary for some other distributions. + +:: + + ##set some env variables for tapenade + + export TAPENADE_HOME="/home/shreyas/tapenade_3.16" + export PATH="$PATH:$TAPENADE_HOME/bin" + + ##Modules + + module use /share/modulefiles/ + module load java/jdk/16.0.1 # Java required by Tapenade + + +You should now have a working copy of Tapenade. + +For more information on the tapenade command and its arguments, type : + +:: + + tapenade -? + +Prerequisites for Tapenade setup +-------------------------------- + +The ``packages.conf`` file should include both the ``adjoint`` and ``tapenade`` +packages. Note that ``mnc`` and ``ecco`` packages are not yet compatible with +Tapenade. The users are referred to the ``code_tap`` directories in the various +verification experiments for reference. + +**Pro tip**: ``diff -qr dir1 dir2`` can help you see all the differences in the files of two directories. + +``autodiff`` is not completely untangled from the Tapenade setup yet. In +``code_tap/AUTODIFF_OPTIONS.h``, the only flag that can be defined safely is +``ALLOW_AUTODIFF_MONITOR``. + +Rest of the setup remains unchanged. + + +Building MITgcm TLM with Tapenade +--------------------------------- + +The setup remains similar to how one sets up the TLM with TAF. A typical flow +will look as follows - + +:: + + ### Assuming $PWD is the build subdirectory + ### Clean stuff + make CLEAN + + ### Use your own optfile + ../../../tools/genmake2 -tap -of ../../../tools/build_options/linux_amd64_ifort -mods ../code_tap + make depend + + ### Differentiate code to generate TLM code using Tapenade + ### Creates executable mitgcmuv_tap_tlm + make -j 8 tap_tlm + + ### Rest of the setup is standard + cd ../run + rm -r * + ln -s ../input_tap/* . + ../input_tap/prepare_run + ln -s ../build/mitgcmuv_tap_tlm . + ./mitgcmuv_tap_tlm > output_tap_tlm.txt 2>&1 + +Building MITgcm adjoint with Tapenade +------------------------------------- + +The setup remains similar to how one sets up the adjoint with TAF. A typical +flow will look as follows - + +:: + + ### Assuming $PWD is the build subdirectory + ### Clean stuff + make CLEAN + + ### Use your own optfile + ../../../tools/genmake2 -tap -of ../../../tools/build_options/linux_amd64_ifort -mods ../code_tap + make depend + + ### Differentiate code to generate adjoint code using Tapenade + ### Creates executable mitgcmuv_tap_adj + make -j 8 tap_adj + + ### Rest of the setup is standard + ### These commands are for a typical verification experiment + cd ../run + rm -r * + ln -s ../input_tap/* . + ../input_tap/prepare_run + ln -s ../build/mitgcmuv_tap_adj . + ./mitgcmuv_tap_adj > output_tap_adj.txt 2>&1 + .. rubric:: Footnotes .. [#thanks-Dan] A big thank you to Dan Goldberg for supplying the definition file for the Singularity container! - diff --git a/doc/requirements.txt b/doc/requirements.txt index 3ad13eecdd..304fd3fc15 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -3,4 +3,3 @@ sphinx_rtd_theme sphinxcontrib-bibtex>=2 sphinxcontrib-programoutput numpy -urllib3<2 diff --git a/doc/tag-index b/doc/tag-index index 8199a97d9c..7a3f95ce94 100644 --- a/doc/tag-index +++ b/doc/tag-index @@ -1,6 +1,22 @@ Notes on tags used in MITgcmUV ============================== +checkpoint68q (2023/06/29) +o pkg/ggl90: + - non IDEMIX code: fix bug (missing hFac) in matrix coefficient computation ; + - fix RI-Number calculation for IDEMIX ; new flag GGL90_IDEMIX_CVMIX_VERSION + (defined by default) to update IDEMIX to CVMix version ; + - add new diagnostics ; + - update Fwd ref. output of exp. isomip.obcs, global_ocean.90x40x15.idemix + and global_ocean.cs32x15.in_p. +o pkg/tapenade + other Tapenade addition: + - add new capability to use Tapenade to generate Adjoint & Tang-Linear model: + new package (pkg/tapenade), new tools (tools/TAP_support), update genmake2 + and testreport ; add some docs (in progress); + - modify src code & packages to work with tapenade ; add new code_tap/ & + input_tap/ dirs (+ ref output) in 9 verification experiments to get + tested with tapenade. + checkpoint68p (2023/05/07) o pkg/seaice: - fix compile error related to ALLOW_AUTODIFF_TAMC/ALLOW_AUTODIFF mix-up diff --git a/eesupp/src/exch_tap_b.F b/eesupp/src/exch_tap_b.F new file mode 100644 index 0000000000..9c2e14bcb0 --- /dev/null +++ b/eesupp/src/exch_tap_b.F @@ -0,0 +1,207 @@ +#include "PACKAGES_CONFIG.h" +#include "CPP_EEOPTIONS.h" + +C-- File exch_tap_b.F: Tapenade Adjoint (Backward) EXCH1 routines +C-- Contents +C-- o EXCH1_UV_RL_CUBE_B +C-- o EXCH1_UV_RS_CUBE_B +C-- o EXCH1_RL_CUBE_B +C-- o EXCH1_RS_CUBE_B +C-- o EXCH1_RL_B +C-- o EXCH1_RS_B + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_UV_RL_CUBE_B( + U Uarray, Uarrayb, Varray, Varrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, + I myNz, exchwidthx,exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL Uarray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL Uarrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL Varray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL Varrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_UV_RL_CUBE_AD( + U Uarrayb, Varrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_UV_RS_CUBE_B( + U Uarray, Uarrayb, Varray, Varrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, + I myNz, exchwidthx,exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS Uarray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS Uarrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS Varray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS Varrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_UV_RS_CUBE_AD( + U Uarrayb, Varrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RL_CUBE_B( + U array, arrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL arrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RL_CUBE_AD( + U arrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RS_CUBE_B( + U array, arrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS arrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RS_CUBE_AD( + U arrayb, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RL_B(array, arrayb, + & myOLw, myOLe, myOLs, myOLn, myNz, + & exchWidthX, exchWidthY, cornerMode, myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EXCH.h" + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL arrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RL_AD(arrayb,myOLw, myOLe, myOLs, myOLn, + & myNz, exchWidthX , exchWidthY, cornerMode, myThid ) + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RS_B(array, arrayb, + & myOLw, myOLe, myOLs, myOLn, myNz, + & exchWidthX, exchWidthY, + & cornerMode, myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EXCH.h" + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS arrayb( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RS_AD(arrayb, myOLw, myOLe, myOLs, + & myOLn, myNz, exchWidthX, exchWidthY, + & cornerMode, myThid) + END diff --git a/eesupp/src/exch_tap_d.F b/eesupp/src/exch_tap_d.F new file mode 100644 index 0000000000..f9d99b695f --- /dev/null +++ b/eesupp/src/exch_tap_d.F @@ -0,0 +1,235 @@ +#include "PACKAGES_CONFIG.h" +#include "CPP_EEOPTIONS.h" + +C-- File exch_tap_d.F: Tapenade Tangent Linear EXCH1 routines +C-- Contents +C-- o EXCH1_UV_RL_CUBE_D +C-- o EXCH1_UV_RS_CUBE_D +C-- o EXCH1_RL_CUBE_D +C-- o EXCH1_RS_CUBE_D +C-- o EXCH1_RL_D +C-- o EXCH1_RS_D + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_UV_RL_CUBE_D( + U Uarray, Uarrayd, Varray, Varrayd, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL Uarray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL Uarrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL Varray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL Varrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_UV_RL_CUBE( + & Uarray, Varray, + & withSigns, + & myOLw, myOLe, myOLs, myOLn, myNz, + & exchWidthX, exchWidthY, + & cornerMode, myThid ) + + CALL EXCH1_UV_RL_CUBE( + & Uarrayd, Varrayd, + & withSigns, + & myOLw, myOLe, myOLs, myOLn, myNz, + & exchWidthX, exchWidthY, + & cornerMode, myThid ) + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_UV_RS_CUBE_D( + U Uarray, Uarrayd, Varray, Varrayd, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS Uarray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS Uarrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS Varray( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS Varrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_UV_RS_CUBE( + & Uarray, Varray, + & withSigns, + & myOLw, myOLe, myOLs, myOLn, myNz, + & exchWidthX, exchWidthY, + & cornerMode, myThid ) + + CALL EXCH1_UV_RS_CUBE( + & Uarrayd, Varrayd, + & withSigns, + & myOLw, myOLe, myOLs, myOLn, myNz, + & exchWidthX, exchWidthY, + & cornerMode, myThid ) + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RL_CUBE_D( + U array, arrayd, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL arrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RL_CUBE(arrayd, withSigns,myOLw, myOLe, myOLs, myOLn, + & myNz, exchWidthX , exchWidthY, cornerMode, myThid ) + + CALL EXCH1_RL_CUBE(array, withSigns,myOLw, myOLe, myOLs, myOLn, + & myNz, exchWidthX , exchWidthY, cornerMode, myThid ) + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RS_CUBE_D( + U array, arrayd, + I withSigns, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS arrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + LOGICAL withSigns + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RS_CUBE(arrayd, withSigns,myOLw, myOLe, myOLs, myOLn, + & myNz, exchWidthX , exchWidthY, cornerMode, myThid ) + + CALL EXCH1_RS_CUBE(array, withSigns,myOLw, myOLe, myOLs, myOLn, + & myNz, exchWidthX , exchWidthY, cornerMode, myThid ) + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RL_D( + U array, arrayd, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EXCH.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RL arrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RL(arrayd,myOLw, myOLe, myOLs, myOLn, + & myNz, exchWidthX , exchWidthY, cornerMode, myThid ) + CALL EXCH1_RL(array,myOLw, myOLe, myOLs, myOLn, + & myNz, exchWidthX , exchWidthY, cornerMode, myThid ) + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH1_RS_D( + U array, arrayd, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EXCH.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + _RS arrayd( 1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy ) + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH1_RS(arrayd, myOLw, myOLe, myOLs, + & myOLn, myNz, exchWidthX, exchWidthY, + & cornerMode, myThid) + + CALL EXCH1_RS(array, myOLw, myOLe, myOLs, + & myOLn, myNz, exchWidthX, exchWidthY, + & cornerMode, myThid) + + END diff --git a/model/src/convective_adjustment_ini.F b/model/src/convective_adjustment_ini.F index 2054ce2e72..4bef40fa9f 100644 --- a/model/src/convective_adjustment_ini.F +++ b/model/src/convective_adjustment_ini.F @@ -29,9 +29,16 @@ SUBROUTINE CONVECTIVE_ADJUSTMENT_INI( #include "DYNVARS.h" #include "GRID.h" #ifdef ALLOW_AUTODIFF_TAMC -#include "tamc.h" +# include "tamc.h" #endif /* ALLOW_AUTODIFF */ +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_FIELDS.h" +# endif +#endif /* ALLOW_TAPENADE */ + C !INPUT/OUTPUT PARAMETERS: C bi,bj :: tile indices C myTime :: Current time in simulation diff --git a/model/src/do_oceanic_phys.F b/model/src/do_oceanic_phys.F index 882369ed3d..2d976458a3 100644 --- a/model/src/do_oceanic_phys.F +++ b/model/src/do_oceanic_phys.F @@ -168,7 +168,9 @@ SUBROUTINE DO_OCEANIC_PHYS(myTime, myIter, myThid) # include "EBM.h" # endif # ifdef ALLOW_EXF -# include "ctrl.h" +# ifdef ALLOW_CTRL +# include "ctrl.h" +# endif # include "EXF_FIELDS.h" # ifdef ALLOW_BULKFORMULAE # include "EXF_CONSTANTS.h" @@ -187,6 +189,15 @@ SUBROUTINE DO_OCEANIC_PHYS(myTime, myIter, myThid) # endif #endif /* ALLOW_AUTODIFF */ +#ifdef ALLOW_TAPENADE +c# ifdef ALLOW_KPP +c# include "KPP_PARAMS.h" +c# endif +# ifdef ALLOW_SHELFICE +# include "SHELFICE.h" +# endif +#endif /* ALLOW_TAPENADE */ + C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C myTime :: Current time in simulation diff --git a/model/src/forward_step.F b/model/src/forward_step.F index e8e9e56b5f..d2ec8ed90c 100644 --- a/model/src/forward_step.F +++ b/model/src/forward_step.F @@ -376,6 +376,25 @@ SUBROUTINE FORWARD_STEP( iloop, myTime, myIter, myThid ) # endif #endif /* ALLOW_AUTODIFF */ +#ifdef ALLOW_TAPENADE +c# ifdef ALLOW_KPP +c# include "KPP_PARAMS.h" +c# endif +# ifdef ALLOW_GMREDI +# include "GMREDI_TAVE.h" +# endif +# ifdef ALLOW_TIMEAVE +# include "TIMEAVE_STATV.h" +# endif +# ifdef ALLOW_MOM_FLUXFORM +# include "MOM_FLUXFORM.h" +# endif +# ifdef ALLOW_EXF +# include "EXF_PARAM.h" +# include "EXF_INTERP_PARAM.h" +# endif +#endif /* ALLOW_TAPENADE */ + C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C note: under the multi-threaded model myIter and diff --git a/model/src/initialise_varia.F b/model/src/initialise_varia.F index b397e23d33..5113604141 100644 --- a/model/src/initialise_varia.F +++ b/model/src/initialise_varia.F @@ -6,6 +6,29 @@ #ifdef ALLOW_CTRL # include "CTRL_OPTIONS.h" #endif +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_SHELFICE +# include "SHELFICE_OPTIONS.h" +# endif +# ifdef ALLOW_GMREDI +# include "GMREDI_OPTIONS.h" +# endif +# ifdef ALLOW_EXF +# include "EXF_OPTIONS.h" +# endif +# ifdef ALLOW_SEAICE +# include "SEAICE_OPTIONS.h" +# endif +# ifdef ALLOW_ECCO +# include "ECCO_OPTIONS.h" +# endif +c# ifdef ALLOW_THSICE +c# include "THSICE_OPTIONS.h" +c# endif +# ifdef ALLOW_BLING +# include "BLING_OPTIONS.h" +# endif +#endif /* ALLOW_TAPENADE */ CBOP C !ROUTINE: INITIALISE_VARIA @@ -89,6 +112,60 @@ SUBROUTINE INITIALISE_VARIA( myThid ) # include "FFIELDS.h" #endif +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_GMREDI +# include "GMREDI.h" +# endif +# ifdef ALLOW_CTRL +# include "CTRL_SIZE.h" +# include "optim.h" +# include "ctrl.h" +# include "CTRL_GENARR.h" +# include "ctrl_dummy.h" +# endif +# ifdef ALLOW_CD_CODE +# include "CD_CODE_VARS.h" +# endif +# ifdef ALLOW_DIC +# include "DIC_VARS.h" +# include "DIC_ATMOS.h" +# include "DIC_LOAD.h" +# endif +# ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_FIELDS.h" +# include "PTRACERS_PARAMS.h" +# endif +# ifdef ALLOW_GENERIC_ADVDIFF +# include "GAD_SOM_VARS.h" +# endif +# ifdef ALLOW_EXF +# include "EXF_PARAM.h" +# include "EXF_INTERP_SIZE.h" +# include "EXF_INTERP_PARAM.h" +# include "EXF_FIELDS.h" +# endif +# ifdef ALLOW_STREAMICE +# include "STREAMICE.h" +# include "STREAMICE_CG.h" +# endif +# ifdef ALLOW_THSICE +# include "THSICE_VARS.h" +# endif +# ifdef ALLOW_SEAICE +# include "SEAICE_SIZE.h" +# include "SEAICE.h" +# endif +# ifdef ALLOW_ECCO +# include "ECCO_SIZE.h" +# include "ECCO.h" +# endif +# ifdef ALLOW_BLING +# include "BLING_VARS.h" +# include "BLING_LOAD.h" +# endif +#endif /* ALLOW_TAPENADE */ + C !INPUT/OUTPUT PARAMETERS: INTEGER myThid diff --git a/model/src/load_fields_driver.F b/model/src/load_fields_driver.F index 4a06dc8632..f9f48ca00f 100644 --- a/model/src/load_fields_driver.F +++ b/model/src/load_fields_driver.F @@ -70,6 +70,11 @@ SUBROUTINE LOAD_FIELDS_DRIVER( myTime, myIter, myThid ) # ifdef ALLOW_EXF # include "EXF_FIELDS.h" # include "EXF_CONSTANTS.h" +# ifdef ALLOW_TAPENADE +# include "EXF_PARAM.h" +# include "EXF_INTERP_SIZE.h" +# include "EXF_INTERP_PARAM.h" +# endif # endif #endif /* ALLOW_AUTODIFF */ diff --git a/model/src/main_do_loop.F b/model/src/main_do_loop.F index b35638fdfd..cac30ce965 100644 --- a/model/src/main_do_loop.F +++ b/model/src/main_do_loop.F @@ -42,7 +42,20 @@ c#ifdef ALLOW_ECCO c# include "ECCO_OPTIONS.h" c#endif - +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_SALT_PLUME +# include "SALT_PLUME_OPTIONS.h" +# endif +#ifdef ALLOW_ECCO +# include "ECCO_OPTIONS.h" +#endif +c# ifdef ALLOW_THSICE +c# include "THSICE_OPTIONS.h" +c# endif +#endif +#ifdef ALLOW_BLING +# include "BLING_OPTIONS.h" +#endif CBOP C !ROUTINE: MAIN_DO_LOOP C !INTERFACE: @@ -68,7 +81,7 @@ SUBROUTINE MAIN_DO_LOOP( iloop, myTime, myIter, myThid ) #include "PARAMS.h" c************************************** -#ifdef ALLOW_OPENAD +#if (defined ALLOW_OPENAD || defined ALLOW_TAPENADE) # ifdef ALLOW_CTRL # include "CTRL_SIZE.h" @@ -119,7 +132,57 @@ SUBROUTINE MAIN_DO_LOOP( iloop, myTime, myIter, myThid ) # include "STREAMICE_CG.h" # endif -#endif /* ALLOW_OPENAD */ +#endif /* ALLOW_OPENAD or ALLOW_TAPENADE */ + +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_EXF +# include "EXF_PARAM.h" +# include "EXF_INTERP_SIZE.h" +# include "EXF_INTERP_PARAM.h" +# include "EXF_FIELDS.h" +# endif +# ifdef ALLOW_CD_CODE +# include "CD_CODE_VARS.h" +# endif +# ifdef ALLOW_GMREDI +# include "GMREDI.h" +# include "GMREDI_TAVE.h" +# endif +# ifdef ALLOW_TIMEAVE +# include "TIMEAVE_STATV.h" +# endif +# include "FFIELDS.h" +# include "DYNVARS.h" +# include "SURFACE.h" +# include "GRID.h" +# ifdef ALLOW_SEAICE +# include "SEAICE_SIZE.h" +# include "SEAICE.h" +# endif +# ifdef ALLOW_KPP +# include "KPP.h" +c# include "KPP_PARAMS.h" +# endif +# ifdef ALLOW_DOWN_SLOPE +# include "DWNSLP_SIZE.h" +# include "DWNSLP_VARS.h" +# endif +# ifdef ALLOW_THSICE +# include "THSICE_VARS.h" +# endif +# ifdef ALLOW_SALT_PLUME +# include "SALT_PLUME.h" +# endif +# ifdef ALLOW_ECCO +# include "ECCO_SIZE.h" +# include "ECCO.h" +# endif +# ifdef ALLOW_BLING +# include "BLING_VARS.h" +# include "BLING_LOAD.h" +# endif +#endif /* ALLOW_TAPENADE */ + c************************************** C !INPUT/OUTPUT PARAMETERS: diff --git a/model/src/packages_init_variables.F b/model/src/packages_init_variables.F index b59b084ce0..99a3778a9d 100644 --- a/model/src/packages_init_variables.F +++ b/model/src/packages_init_variables.F @@ -6,6 +6,11 @@ #ifdef ALLOW_CTRL # include "CTRL_OPTIONS.h" #endif +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_GMREDI +# include "GMREDI_OPTIONS.h" +# endif +#endif /* ALLOW_TAPENADE */ CBOP C !ROUTINE: PACKAGES_INIT_VARIABLES @@ -120,6 +125,33 @@ SUBROUTINE PACKAGES_INIT_VARIABLES( myThid ) # include "DYNVARS.h" #endif /* ALLOW_AUTODIFF */ +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_GMREDI +# include "GMREDI.h" +# endif +# ifdef ALLOW_CTRL +# include "CTRL_SIZE.h" +# include "optim.h" +# include "ctrl.h" +# include "CTRL_GENARR.h" +# include "ctrl_dummy.h" +# endif +# ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_FIELDS.h" +# endif +# ifdef ALLOW_SHELFICE +# include "SHELFICE.h" +# endif +# ifdef ALLOW_STREAMICE +# include "STREAMICE.h" +# endif +# ifdef ALLOW_SEAICE +# include "SEAICE_SIZE.h" +# include "SEAICE.h" +# endif +#endif /* ALLOW_TAPENADE */ + C !INPUT/OUTPUT PARAMETERS: C myThid :: my Thread Id number INTEGER myThid diff --git a/model/src/solve_for_pressure.F b/model/src/solve_for_pressure.F index bc2150ca76..00e0ae90ec 100644 --- a/model/src/solve_for_pressure.F +++ b/model/src/solve_for_pressure.F @@ -309,8 +309,10 @@ SUBROUTINE SOLVE_FOR_PRESSURE( myTime, myIter, myThid ) #endif /* DISCONNECTED_TILES */ _EXCH_XY_RL( cg2d_x, myThid ) #ifdef ALLOW_AUTODIFF +#ifndef ALLOW_TAPENADE IF ( .NOT. useNSACGSolver .AND. cg2dFullAdjoint ) & CALL CG2D_STORE( cg2d_x, .TRUE., myThid ) +#endif /* ALLOW_TAPENADE */ #endif c CALL TIMER_STOP ('CG2D [SOLVE_FOR_PRESSURE]',myThid) diff --git a/model/src/the_main_loop.F b/model/src/the_main_loop.F index 1aa57554b3..151f4175aa 100644 --- a/model/src/the_main_loop.F +++ b/model/src/the_main_loop.F @@ -185,6 +185,7 @@ SUBROUTINE THE_MAIN_LOOP( myTime, myIter, myThid ) # endif # endif +C-- keep tamc.h here without ALLOW_AUTODIFF_TAMC for ALLOW_TAMC_CHECKPOINTING # include "tamc.h" # ifdef ALLOW_GGL90 @@ -213,6 +214,35 @@ SUBROUTINE THE_MAIN_LOOP( myTime, myIter, myThid ) # endif #endif /* ALLOW_AUTODIFF */ + +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_GMREDI +# include "GMREDI.h" +# include "GMREDI_TAVE.h" +# endif +# ifdef ALLOW_KPP +# include "KPP.h" +c# include "KPP_PARAMS.h" +# endif +# ifdef ALLOW_CTRL +# include "optim.h" +# endif +# ifdef ALLOW_TIMEAVE +# include "TIMEAVE_STATV.h" +# endif +# ifdef ALLOW_EXF +# include "EXF_PARAM.h" +# include "EXF_INTERP_PARAM.h" +# endif +# ifdef ALLOW_DOWN_SLOPE +# include "DWNSLP_SIZE.h" +# include "DWNSLP_VARS.h" +# endif +# ifdef ALLOW_PTRACERS +# include "PTRACERS_PARAMS.h" +# endif +#endif /* ALLOW_TAPENADE */ + c************************************** C !INPUT/OUTPUT PARAMETERS: diff --git a/model/src/the_model_main.F b/model/src/the_model_main.F index 13fcbfb4a8..176be292ad 100644 --- a/model/src/the_model_main.F +++ b/model/src/the_model_main.F @@ -662,6 +662,8 @@ SUBROUTINE THE_MODEL_MAIN(myThid) # if defined( ALLOW_TANGENTLINEAR_RUN ) +# ifndef ALLOW_TAPENADE + # ifdef ALLOW_DEBUG IF (debugMode) CALL DEBUG_CALL('G_THE_MAIN_LOOP',myThid) # endif @@ -669,8 +671,14 @@ SUBROUTINE THE_MODEL_MAIN(myThid) CALL G_THE_MAIN_LOOP ( myTime, myIter, myThid ) CALL TIMER_STOP ('G_THE_MAIN_LOOP [TANGENT RUN]',myThid) +# endif /* ndef ALLOW_TAPENADE */ + # elif defined( ALLOW_ADJOINT_RUN ) +# ifdef ALLOW_TAPENADE + CALL THE_MAIN_LOOP_B( myTime, myIter, myThid ) +# else /* ALLOW_TAPENADE */ + # ifdef ALLOW_DIVIDED_ADJOINT C-- The following assumes the TAF option '-pure' inquire( file='costfinal', exist=exst ) @@ -700,6 +708,7 @@ SUBROUTINE THE_MODEL_MAIN(myThid) CALL ADTHE_MAIN_LOOP ( myThid ) CALL TIMER_STOP ('ADTHE_MAIN_LOOP [ADJOINT RUN]', myThid) # endif /* ALLOW_DIVIDED_ADJOINT */ +# endif /* ALLOW_TAPENADE */ # else /* forward run only within AD setting */ @@ -714,7 +723,7 @@ SUBROUTINE THE_MODEL_MAIN(myThid) # endif /* forward run only within AD setting */ # ifdef ALLOW_CTRL -# ifndef EXCLUDE_CTRL_PACK +# ifndef EXCLUDE_CTRL_PACK IF ( useCTRL ) THEN IF ( lastdiva .AND. doMainPack ) THEN CALL TIMER_START('CTRL_PACK [THE_MODEL_MAIN]',myThid) @@ -728,8 +737,8 @@ SUBROUTINE THE_MODEL_MAIN(myThid) ENDIF ENDIF ENDIF -# endif /* EXCLUDE_CTRL_PACK */ -# endif +# endif /* EXCLUDE_CTRL_PACK */ +# endif /* ALLOW_CTRL */ # ifdef ALLOW_GRDCHK IF ( useGrdchk .AND. lastdiva ) THEN diff --git a/model/src/thermodynamics.F b/model/src/thermodynamics.F index 19e0840510..2ddd4b6044 100644 --- a/model/src/thermodynamics.F +++ b/model/src/thermodynamics.F @@ -70,6 +70,12 @@ SUBROUTINE THERMODYNAMICS(myTime, myIter, myThid) # endif #endif /* ALLOW_AUTODIFF */ +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_GENERIC_ADVDIFF +# include "GAD_SOM_VARS.h" +# endif +#endif /* ALLOW_TAPENADE */ + C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C myTime :: Current time in simulation diff --git a/model/src/tracers_correction_step.F b/model/src/tracers_correction_step.F index 86e9e9557a..7e4e3e8e23 100644 --- a/model/src/tracers_correction_step.F +++ b/model/src/tracers_correction_step.F @@ -27,6 +27,12 @@ SUBROUTINE TRACERS_CORRECTION_STEP( myTime, myIter, myThid ) #ifdef ALLOW_GENERIC_ADVDIFF # include "GAD.h" #endif +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_FIELDS.h" +# endif +#endif /* ALLOW_TAPENADE */ C !INPUT/OUTPUT PARAMETERS: C myTime :: Current time in simulation diff --git a/pkg/autodiff/active_file_ad.F b/pkg/autodiff/active_file_ad.F index a61cd41980..ac0be7d6ee 100644 --- a/pkg/autodiff/active_file_ad.F +++ b/pkg/autodiff/active_file_ad.F @@ -92,7 +92,8 @@ subroutine adactive_read_xy( INTEGER myIter, myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref @@ -174,7 +175,8 @@ subroutine adactive_read_xyz( INTEGER myIter, myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref @@ -256,7 +258,8 @@ subroutine adactive_read_xz( INTEGER myIter, myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref @@ -338,7 +341,8 @@ subroutine adactive_read_yz( INTEGER myIter, myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref @@ -419,7 +423,8 @@ subroutine adactive_read_1d( INTEGER iRec INTEGER myIter, myThid LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !FUNCTIONS: INTEGER ILNBLNK diff --git a/pkg/autodiff/active_file_loc_ad.F b/pkg/autodiff/active_file_loc_ad.F index f09b066972..ee98f6a209 100644 --- a/pkg/autodiff/active_file_loc_ad.F +++ b/pkg/autodiff/active_file_loc_ad.F @@ -85,7 +85,8 @@ subroutine adactive_read_xy_loc( INTEGER myIter,myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref @@ -167,7 +168,8 @@ subroutine adactive_read_xyz_loc( INTEGER myIter,myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref @@ -249,7 +251,8 @@ subroutine adactive_read_xz_loc( INTEGER myIter,myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref @@ -331,7 +334,8 @@ subroutine adactive_read_yz_loc( INTEGER myIter,myThid LOGICAL doglobalread LOGICAL lAdInit - _RL dummy, addummy ! Tags for IO: ctrl input and adjoint (gradient) output +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, addummy C !LOCAL VARIABLES: CHARACTER*(2) adpref diff --git a/pkg/bling/bling_carbon_chem.F b/pkg/bling/bling_carbon_chem.F index abf14d4254..64a31ae8f2 100644 --- a/pkg/bling/bling_carbon_chem.F +++ b/pkg/bling/bling_carbon_chem.F @@ -640,8 +640,8 @@ subroutine CARBON_COEFFS( ak1(i,j,bi,bj)=10.**(-1. _d 0*(3670.7 _d 0*invtk - & 62.008 _d 0 + 9.7944 _d 0*dlogtk - & 0.0118 _d 0 * s + 0.000116 _d 0*s2)) - ak2(i,j,bi,bj)=10.**(-1. _d 0*(1394.7 _d 0*invtk+ 4.777 _d 0- - & 0.0184 _d 0*s + 0.000118 _d 0*s2)) + ak2(i,j,bi,bj)=10.**(-1. _d 0*(1394.7 _d 0*invtk +4.777 _d 0 + & -0.0184 _d 0*s + 0.000118 _d 0*s2)) C------------------------------------------------------------------------ C kb = [H][BO2]/[HBO2] C Millero p.669 (1995) using data from dickson (1990) @@ -966,10 +966,10 @@ subroutine CARBON_COEFFS_PRESSURE_DEP( C k2 = [H][CO3]/[HCO3] C Millero p.664 (1995) using Mehrbach et al. data on seawater scale C Both on seawater pH scale - ak1(i,j,bi,bj)=10**(-1*(3670.7*invtk - + ak1(i,j,bi,bj)=10.**(-1.*(3670.7*invtk - & 62.008 + 9.7944*dlogtk - & 0.0118 * s + 0.000116*s2)) - ak2(i,j,bi,bj)=10**(-1*(1394.7*invtk + 4.777 - + ak2(i,j,bi,bj)=10.**(-1.*(1394.7*invtk + 4.777 - & 0.0184*s + 0.000118*s2)) C NOW PRESSURE DEPENDENCE: c Following Takahashi (1981) GEOSECS report - quoting Culberson and @@ -1258,8 +1258,8 @@ subroutine CARBON_COEFFS_PRESSURE_DEP( & + (-0.00588d0 + 0.0001845d0*t)*zdum*zdum) & / (188.93d0*(t + 273.15d0)) - Ksp_TP_Calc(i,j,bi,bj) = Ksp_T_Calc*10**(xvalue) - Ksp_TP_Arag(i,j,bi,bj) = Ksp_T_Arag*10**(xvalue) + Ksp_TP_Calc(i,j,bi,bj) = Ksp_T_Calc*10.**(xvalue) + Ksp_TP_Arag(i,j,bi,bj) = Ksp_T_Arag*10.**(xvalue) C------------------------------------------------------------------------ else diff --git a/pkg/bling/bling_description.txt b/pkg/bling/bling_description.txt index 7959b597e2..3bb24fdc97 100644 --- a/pkg/bling/bling_description.txt +++ b/pkg/bling/bling_description.txt @@ -1,120 +1,120 @@ -The "BLING" package is adapted from the Biogeochemistry with Light, Iron, Nutrient and Gas model developed at GFDL by Eric Galbraith and collaborators. Several subroutines, such as air-sea exchange and carbonate chemistry, are adapted from the "DIC" package. It is compatible with the MITgcm adjoint. - -N-BLING, with nitrogen cycling, is the default code. It includes 8 tracers: DIC, ALK, O2, NO3, PO4, Fe, DON, DOP (in that order in data.ptracers). Prognostic tracers for silica and phytoplankton biomass are optional. - -The original 6-tracer BLING code (Galbraith et al., 2010) can be compiled by defining the flag USE_BLING_V1. The tracers in data.ptracers must then be specified in the following order: DIC, ALK, O2, PO4, Fe, DOP. - - - -For more information see: -------------------------- - -Galbraith, E.D., Gnanadesikan, A., Dunne, J. and Hiscock, M. 2010. Regional impacts of iron-light colimitation in a global biogeochemical model. Biogeosciences, 7, 1043-1064. - -http://www.gfdl.noaa.gov/simplified-ocean-biogeochemistry-bling - -https://sites.google.com/site/blingmodel/ - - - -Below are the notes from the file generic_BLING.v2.F90: -------------------------------------------------------- - -Biogeochemistry with Light, Iron, Nutrient and Gas version two (BLINGv2) includes an implicit ecological model of growth limitation by light, temperature, nitrogen, phosphorus and iron, and simulates organic and O2 pools. - -BLINGv2 differs from blingv0 by including a nitrogen cycle (with N2 fixation and denitrification) and flexible N:P stoichiometry. The iron limitation is now treated slightly differently, in order to be consistent with P. In addition, the phytoplankton biomass is now treated as a non-advected tracer (i.e. a diagnostic tracer in GFDL parlance) for the purpose of calculating uptake, which relaxes the strict assumption of balanced growth. There is also a subgridscale sediment parameterization, to capture fine-scale bathymetric features in particle remineralization, and a diel vertical migrator (DVM) parameterization for export and remineralization. In addition, there are numerous small changes and re-tunings. - -Food web processing in the euphotic zone is handled following the empirical relationships discussed by Dunne et al.(2005). O2 equilibria and gas exchange follow OCMIP2 protocols. - -BLING is a biogeochemistry tool, with ecosystem-like behaviour, rather than a full-complexity ecosystem model. It takes certain computational shortcuts in order to represent well-known features of ecosystems, but without having to resolve the ecosystem components explicitly. Most importantly, living and particulate organic matter is not subject to advection and mixing due to ocean circulation. Particular caution should be applied when interpreting small-scale behaviour (scales of advection per week) and the detailed timing of growth in dynamic environments, such as during spring blooms. - -Additional functionality comes from an optional carbon cycle that is non-interactive, i.e. does not change the core bling behaviour, as well as tracers including radiocarbon (14c), d13C (13c), a decomposition of carbon components by gas exchange and remineralization (carbon_pre), a nutrient source tagging module (nut_source) that uses a global pycnocline (pyc_ave), a decomposition of oxygen as preformed and total (o2_pre) as well as photosynthetic, and a decomposition of phosphate and nitrate as preformed and remineralized (nut_pre). All of this - and more! - is found in the module BLING_extras. - -This model is available for public use. The current version is blingv2. The version number refers to the core model behaviour; additional tracers exist in different iterations of the module. There is not yet a publication. blingv0 can be referenced as: -Galbraith, E.D., Gnanadesikan, A., Dunne, J. and Hiscock, M. 2010. Regional impacts of iron-light colimitation in a global biogeochemical model. Biogeosciences, 7, 1043-1064. - -All parameter values are as described in this paper. Note that this reference is only for the core model components, and does not include any of the additional functionalities, which remain undocumented. Please contact Eric Galbraith (eric.galbraith@mcgill.ca) for more information. - - - - - - - -Notes on running BLING in MITgcm: ---------------------------------- - -(See the example in MITgcm_contrib/verification_other/global_oce_biogeo_bling) - -1) make sure that you have the current BLING code: -in your pkg/bling directory -type: -cvs update - -2) in your code folder, add these to packages.conf: -gchem -ptracers -bling - -3) in your code folder, copy pkg/bling/BLING_OPTIONS.h -and define / undef options - -4) in your run folder, add -data.gchem (useBLING=.TRUE.) -data.ptracers (specify ICS for ptracers) -data.bling (specify atm pCO2, silica field, iron atm deposition field) -You can find examples of these files in MITgcm_contrib/verification_other/global_oce_biogeo_bling/input/ - -5) in your run folder, update -data.pkg (usePTRACERS=.TRUE., useGCHEM=.TRUE.) -and if you use it -data.obcs or data.rbcs (specify OBCS for ptracers) - - - - - - -BLING-specific options (to be specified in BLING_OPTIONS.h): ------------------------------------------------------------- - -BLING_NO_NEG -When biogeochemical tracer fields become negative (which can happen when advecting fields with low values and high spatial gradients), change negative values to small positive values before nutrient limitations are calculated in bling_production. - -ML_MEAN_LIGHT -Assume that phytoplankton in the mixed layer experience the average light over the mixed layer (as in original BLING model) - -ML_MEAN_PHYTO -Assume that phytoplankton are homogenized in the mixed layer - -ADVECT_PHYTO -Adds a prognostic tracer for total phytoplankton biomass - -BLING_ADJOINT_SAFE -Simplify some parts of the code that are problematic when using the adjoint - -USE_QSW -Determine PAR from shortwave radiation Qsw (instead of based on location & time) - - - - -Notes on BLING_ADJOINT SAFE: - -- minimum value for Pc_m and Pc_m_diaz -- FreeFe and pfeflux_l are not set to 0 when anoxic -- using fixed wsink0 rather than variable wsink in organic Fe adsorption calculation -- no benthic denitrification -- no DVM - - - - - - - - - - - - +The "BLING" package is adapted from the Biogeochemistry with Light, Iron, Nutrient and Gas model developed at GFDL by Eric Galbraith and collaborators. Several subroutines, such as air-sea exchange and carbonate chemistry, are adapted from the "DIC" package. It is compatible with the MITgcm adjoint. + +N-BLING, with nitrogen cycling, is the default code. It includes 8 tracers: DIC, ALK, O2, NO3, PO4, Fe, DON, DOP (in that order in data.ptracers). Prognostic tracers for silica and phytoplankton biomass are optional. + +The original 6-tracer BLING code (Galbraith et al., 2010) can be compiled by defining the flag USE_BLING_V1. The tracers in data.ptracers must then be specified in the following order: DIC, ALK, O2, PO4, Fe, DOP. + + + +For more information see: +------------------------- + +Galbraith, E.D., Gnanadesikan, A., Dunne, J. and Hiscock, M. 2010. Regional impacts of iron-light colimitation in a global biogeochemical model. Biogeosciences, 7, 1043-1064. + +http://www.gfdl.noaa.gov/simplified-ocean-biogeochemistry-bling + +https://sites.google.com/site/blingmodel/ + + + +Below are the notes from the file generic_BLING.v2.F90: +------------------------------------------------------- + +Biogeochemistry with Light, Iron, Nutrient and Gas version two (BLINGv2) includes an implicit ecological model of growth limitation by light, temperature, nitrogen, phosphorus and iron, and simulates organic and O2 pools. + +BLINGv2 differs from blingv0 by including a nitrogen cycle (with N2 fixation and denitrification) and flexible N:P stoichiometry. The iron limitation is now treated slightly differently, in order to be consistent with P. In addition, the phytoplankton biomass is now treated as a non-advected tracer (i.e. a diagnostic tracer in GFDL parlance) for the purpose of calculating uptake, which relaxes the strict assumption of balanced growth. There is also a subgridscale sediment parameterization, to capture fine-scale bathymetric features in particle remineralization, and a diel vertical migrator (DVM) parameterization for export and remineralization. In addition, there are numerous small changes and re-tunings. + +Food web processing in the euphotic zone is handled following the empirical relationships discussed by Dunne et al.(2005). O2 equilibria and gas exchange follow OCMIP2 protocols. + +BLING is a biogeochemistry tool, with ecosystem-like behaviour, rather than a full-complexity ecosystem model. It takes certain computational shortcuts in order to represent well-known features of ecosystems, but without having to resolve the ecosystem components explicitly. Most importantly, living and particulate organic matter is not subject to advection and mixing due to ocean circulation. Particular caution should be applied when interpreting small-scale behaviour (scales of advection per week) and the detailed timing of growth in dynamic environments, such as during spring blooms. + +Additional functionality comes from an optional carbon cycle that is non-interactive, i.e. does not change the core bling behaviour, as well as tracers including radiocarbon (14c), d13C (13c), a decomposition of carbon components by gas exchange and remineralization (carbon_pre), a nutrient source tagging module (nut_source) that uses a global pycnocline (pyc_ave), a decomposition of oxygen as preformed and total (o2_pre) as well as photosynthetic, and a decomposition of phosphate and nitrate as preformed and remineralized (nut_pre). All of this - and more! - is found in the module BLING_extras. + +This model is available for public use. The current version is blingv2. The version number refers to the core model behaviour; additional tracers exist in different iterations of the module. There is not yet a publication. blingv0 can be referenced as: +Galbraith, E.D., Gnanadesikan, A., Dunne, J. and Hiscock, M. 2010. Regional impacts of iron-light colimitation in a global biogeochemical model. Biogeosciences, 7, 1043-1064. + +All parameter values are as described in this paper. Note that this reference is only for the core model components, and does not include any of the additional functionalities, which remain undocumented. Please contact Eric Galbraith (eric.galbraith@mcgill.ca) for more information. + + + + + + + +Notes on running BLING in MITgcm: +--------------------------------- + +(See the example in MITgcm_contrib/verification_other/global_oce_biogeo_bling) + +1) make sure that you have the current BLING code: +in your pkg/bling directory +type: +cvs update + +2) in your code folder, add these to packages.conf: +gchem +ptracers +bling + +3) in your code folder, copy pkg/bling/BLING_OPTIONS.h +and define / undef options + +4) in your run folder, add +data.gchem (useBLING=.TRUE.) +data.ptracers (specify ICS for ptracers) +data.bling (specify atm pCO2, silica field, iron atm deposition field) +You can find examples of these files in MITgcm_contrib/verification_other/global_oce_biogeo_bling/input/ + +5) in your run folder, update +data.pkg (usePTRACERS=.TRUE., useGCHEM=.TRUE.) +and if you use it +data.obcs or data.rbcs (specify OBCS for ptracers) + + + + + + +BLING-specific options (to be specified in BLING_OPTIONS.h): +------------------------------------------------------------ + +BLING_NO_NEG +When biogeochemical tracer fields become negative (which can happen when advecting fields with low values and high spatial gradients), change negative values to small positive values before nutrient limitations are calculated in bling_production. + +ML_MEAN_LIGHT +Assume that phytoplankton in the mixed layer experience the average light over the mixed layer (as in original BLING model) + +ML_MEAN_PHYTO +Assume that phytoplankton are homogenized in the mixed layer + +ADVECT_PHYTO +Adds a prognostic tracer for total phytoplankton biomass + +BLING_ADJOINT_SAFE +Simplify some parts of the code that are problematic when using the adjoint + +USE_QSW +Determine PAR from shortwave radiation Qsw (instead of based on location & time) + + + + +Notes on BLING_ADJOINT SAFE: + +- minimum value for Pc_m and Pc_m_diaz +- FreeFe and pfeflux_l are not set to 0 when anoxic +- using fixed wsink0 rather than variable wsink in organic Fe adsorption calculation +- no benthic denitrification +- no DVM + + + + + + + + + + + + diff --git a/pkg/cost/COST_TAP_ADJ.h b/pkg/cost/COST_TAP_ADJ.h new file mode 100644 index 0000000000..a880c0bb6c --- /dev/null +++ b/pkg/cost/COST_TAP_ADJ.h @@ -0,0 +1,28 @@ +C ================================================================== +C HEADER COST_TAP_ADJ +C ================================================================== + + COMMON /COST_R_B/ + & fcb + _RL fcb + +#ifdef ALLOW_COST_STATE_FINAL + COMMON /COST_STATE_FINAL_R_B/ + & objf_state_finalb + _RL objf_state_finalb (sNx,sNy,nSx,nSy,4*Nr+1) +#endif + +#ifdef ALLOW_COST_VECTOR + COMMON /COST_VECTOR_R_B/ + & objf_vectorb + _RL objf_vectorb(sNx,nSx,nSy) +#endif + +#ifdef ALLOW_DIC + COMMON /DIC_COST_CTRL_B/ + & totcostb + _RL totcostb +#endif +C ================================================================== +C END OF HEADER COST_TAP_ADJ +C ================================================================== diff --git a/pkg/cost/cost_dependent_init.F b/pkg/cost/cost_dependent_init.F index 42479200ec..44b04eed73 100644 --- a/pkg/cost/cost_dependent_init.F +++ b/pkg/cost/cost_dependent_init.F @@ -1,6 +1,6 @@ #include "COST_OPTIONS.h" - subroutine cost_dependent_init( mythid ) + subroutine cost_dependent_init( myThid ) c ================================================================== c SUBROUTINE cost_dependent_init @@ -14,22 +14,21 @@ subroutine cost_dependent_init( mythid ) c SUBROUTINE cost_dependent_init c ================================================================== - implicit none + IMPLICIT NONE c == global variables == - #include "EEPARAMS.h" #include "SIZE.h" - #include "cost.h" #include "adcost.h" +#ifdef ALLOW_TAPENADE +# include "COST_TAP_ADJ.h" +#endif c == routine arguments == - - integer mythid + integer myThid c == local variables == - #if ( defined ALLOW_COST_VECTOR || defined ALLOW_COST_STATE_FINAL ) integer i #endif @@ -37,7 +36,6 @@ subroutine cost_dependent_init( mythid ) integer j, k #endif integer bi,bj - c == end of interface == #ifdef ALLOW_OPENAD @@ -48,6 +46,10 @@ subroutine cost_dependent_init( mythid ) #ifdef ALLOW_AUTODIFF +#ifdef ALLOW_TAPENADE + fcb = 1.0 +#endif + #ifdef ALLOW_OPENAD adfc = 1.0 #else @@ -56,27 +58,26 @@ subroutine cost_dependent_init( mythid ) endif #endif - do bj = myByLo(mythid), myByHi(mythid) - do bi = myBxLo(mythid), myBxHi(mythid) + do bj = myByLo(myThid), myByHi(myThid) + do bi = myBxLo(myThid), myBxHi(myThid) #ifdef ALLOW_COST_VECTOR - do i=1,sNx - objf_vector(i,bi,bj) = 0. _d 0 - adobjf_vector(i,bi,bj) = 1. _d 0 - end do + do i=1,sNx + objf_vector(i,bi,bj) = 0. _d 0 + adobjf_vector(i,bi,bj) = 1. _d 0 + enddo #endif #ifdef ALLOW_COST_STATE_FINAL - do j=1,sNy - do i=1,sNx - do k=1,4*Nr + do k=1,4*Nr+1 + do j=1,sNy + do i=1,sNx objf_state_final(i,j,bi,bj,k) = 0. _d 0 enddo - objf_state_final(i,j,bi,bj,4*Nr+1) = 0. _d 0 + enddo + enddo cph No init. of cost_state_final here, cph because we need it in ADM*TLM - end do - end do #endif - enddo + enddo enddo #endif /* ALLOW_AUTODIFF */ diff --git a/pkg/ctrl/ctrl_init_variables.F b/pkg/ctrl/ctrl_init_variables.F index 82e18e7ec1..4a4638e3ae 100644 --- a/pkg/ctrl/ctrl_init_variables.F +++ b/pkg/ctrl/ctrl_init_variables.F @@ -1,4 +1,9 @@ #include "CTRL_OPTIONS.h" +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_GMREDI +# include "GMREDI_OPTIONS.h" +# endif +#endif /* ALLOW_TAPENADE */ CBOP C !ROUTINE: CTRL_INIT_VARIABLES @@ -31,6 +36,31 @@ SUBROUTINE CTRL_INIT_VARIABLES( myThid ) # include "CTRL_GENARR.h" #endif +#ifdef ALLOW_TAPENADE +# include "DYNVARS.h" +# ifdef ALLOW_GMREDI +# include "GMREDI.h" +# endif +# ifdef ALLOW_CTRL +# include "optim.h" +# include "ctrl_dummy.h" +# endif +# ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_FIELDS.h" +# endif +# ifdef ALLOW_SHELFICE +# include "SHELFICE.h" +# endif +# ifdef ALLOW_STREAMICE +# include "STREAMICE.h" +# endif +# ifdef ALLOW_SEAICE +# include "SEAICE_SIZE.h" +# include "SEAICE.h" +# endif +#endif /* ALLOW_TAPENADE */ + C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C myThid :: Thread number for this instance of the routine. diff --git a/pkg/ctrl/ctrl_map_genarr.F b/pkg/ctrl/ctrl_map_genarr.F index 8e8cc2466f..e51a2d7de2 100644 --- a/pkg/ctrl/ctrl_map_genarr.F +++ b/pkg/ctrl/ctrl_map_genarr.F @@ -74,7 +74,9 @@ SUBROUTINE CTRL_MAP_GENARR2D( fld, iarr, myThid ) doglobalread = .FALSE. ladinit = .FALSE. +#ifndef ALLOW_TAPENADE CALL CTRL_ASSIGN(xx_gen, 1, zeroRL, myThid) +#endif dosmooth=.FALSE. dowc01 = .FALSE. @@ -184,8 +186,14 @@ SUBROUTINE CTRL_MAP_GENARR2D( fld, iarr, myThid ) CALL EXCH_XY_RL( fld, myThid ) +#ifdef ALLOW_TAPENADE +C$AD DO-NOT-DIFF +#endif CALL WRITE_REC_3D_RL( fnamegenOut, ctrlprec, 1, & fld, 1, optimcycle, myThid ) +#ifdef ALLOW_TAPENADE +C$AD END-DO-NOT-DIFF +#endif #ifdef ALLOW_DEBUG IF (debugMode) CALL DEBUG_LEAVE('CTRL_MAP_GENARR2D', myThid ) @@ -266,9 +274,9 @@ SUBROUTINE CTRL_MAP_GENARR3D( fld, iarr, myThid ) C-- Now, read the control vector. doglobalread = .FALSE. ladinit = .FALSE. - +#ifndef ALLOW_TAPENADE CALL CTRL_ASSIGN(xx_gen, Nr, zeroRL, myThid) - +#endif dosmooth=.FALSE. dowc01 = .FALSE. doscaling=.TRUE. @@ -390,8 +398,14 @@ SUBROUTINE CTRL_MAP_GENARR3D( fld, iarr, myThid ) & xx_genarr3d_file(iarr)(1:7).NE.'xx_vvel') & CALL EXCH_XYZ_RL( fld, myThid ) +#ifdef ALLOW_TAPENADE +C$AD DO-NOT-DIFF +#endif CALL WRITE_REC_3D_RL( fnamegenOut, ctrlprec, Nr, & fld, 1, optimcycle, myThid ) +#ifdef ALLOW_TAPENADE +C$AD END-DO-NOT-DIFF +#endif #ifdef ALLOW_DEBUG IF (debugMode) CALL DEBUG_LEAVE('CTRL_MAP_GENARR3D', myThid ) diff --git a/pkg/ctrl/ctrl_map_ini_gentim2d.F b/pkg/ctrl/ctrl_map_ini_gentim2d.F index 4ce879b0a1..e9d5bf6d89 100644 --- a/pkg/ctrl/ctrl_map_ini_gentim2d.F +++ b/pkg/ctrl/ctrl_map_ini_gentim2d.F @@ -51,14 +51,17 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) C == local variables == integer iarr integer numsmo - character*(80) fnamegenIn - character*(80) fnamegenOut - character*(80) fnamegenTmp - character*(80) fnamebase +C Tapenade requires these 4 variables to be declared as arrays of +C size maxCtrlTim2D. If declared as scalars, it does not store their +C temporary values in the do loop during reverse pass. + CHARACTER*(80) fnamegenIn(1:maxCtrlTim2D) + CHARACTER*(80) fnamegenOut(1:maxCtrlTim2D) + CHARACTER*(80) fnamegenTmp(1:maxCtrlTim2D) + CHARACTER*(80) fnamebase(1:maxCtrlTim2D) integer startrec integer endrec integer diffrec - integer irec, jrec, krec, lrec + integer iRec, jrec, kRec, lRec integer replicated_nrec integer replicated_ntimes logical doglobalread @@ -83,11 +86,11 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) IF (debugMode) CALL DEBUG_ENTER('CTRL_MAP_INI_GENTIM2D',myThid) #endif /* ALLOW_DEBUG */ -c-- Now, read the control vector. +C-- Now, read the control vector. doglobalread = .false. ladinit = .false. -c Find ctrlDir (w/o trailing blanks) length +C Find ctrlDir (w/o trailing blanks) length ilDir = ilnblnk(ctrlDir) DO bj=myByLo(myThid), myByHi(myThid) @@ -115,8 +118,9 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) #endif ilgen=ilnblnk( xx_gentim2d_file(iarr) ) - fnamebase = xx_gentim2d_file(iarr)(1:ilgen) - call ctrl_init_rec ( fnamebase, + fnamebase(iarr) = xx_gentim2d_file(iarr)(1:ilgen) + + call ctrl_init_rec ( fnamebase(iarr), I xx_gentim2d_startdate1(iarr), I xx_gentim2d_startdate2(iarr), I xx_gentim2d_period(iarr), @@ -159,15 +163,16 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) enddo ilgen=ilnblnk( xx_gentim2d_file(iarr) ) - fnamebase = xx_gentim2d_file(iarr)(1:ilgen) - write(fnamegenIn(1:80),'(2a,i10.10)') - & ctrlDir(1:ilDir)//fnamebase(1:ilgen),'.',optimcycle - write(fnamegenOut(1:80),'(2a,i10.10)') - & ctrlDir(1:ilDir)//fnamebase(1:ilgen),'.effective.',optimcycle - write(fnamegenTmp(1:80),'(2a,i10.10)') - & ctrlDir(1:ilDir)//fnamebase(1:ilgen),'.tmp.',optimcycle + fnamebase(iarr) = xx_gentim2d_file(iarr)(1:ilgen) + write(fnamegenIn(iarr)(1:80),'(2a,i10.10)') + & ctrlDir(1:ilDir)//fnamebase(iarr)(1:ilgen),'.',optimcycle + write(fnamegenOut(iarr)(1:80),'(2a,i10.10)') + & ctrlDir(1:ilDir)//fnamebase(iarr)(1:ilgen) + & ,'.effective.',optimcycle + write(fnamegenTmp(iarr)(1:80),'(2a,i10.10)') + & ctrlDir(1:ilDir)//fnamebase(iarr)(1:ilgen),'.tmp.',optimcycle -c-- docycle +C-- docycle replicated_nrec=diffrec replicated_ntimes=0 @@ -192,49 +197,51 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) & replicated_nrec,replicated_ntimes #endif DO jrec = 1, replicated_ntimes+1 - DO irec = 1, replicated_nrec + DO iRec = 1, replicated_nrec #ifdef ALLOW_AUTODIFF_TAMC CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte #endif - krec=replicated_nrec*(jrec-1)+irec - lrec=startrec+irec-1 - IF (krec.LE.endrec) THEN + kRec=replicated_nrec*(jrec-1)+iRec + lRec=startrec+iRec-1 + IF (kRec.LE.endrec) THEN #ifdef ALLOW_CTRL_DEBUG - ilgen=ilnblnk( fnamegenIn ) - write(*,*) 'AE: iarr,[i,j,k,l]rec: ',iarr,irec,jrec,lrec - write(*,*) 'AF: fnamegenIn: ', fnamegenIn(1:ilgen) + ilgen=ilnblnk( fnamegenIn(iarr) ) + write(*,*) 'AE: iarr,[i,j,k,l]rec: ',iarr,iRec,jrec,lRec + write(*,*) 'AF: fnamegenIn: ', fnamegenIn(iarr)(1:ilgen) #endif C fnamegenIn is xx_*.$iter.data, so the required access records starts at -C startrec+irec-1 instead of irec in the read call below. In adjoint mode, S/R +C startrec+iRec-1 instead of iRec in the read call below. In adjoint mode, S/R C ADACTIVE_READ_XY reads adxx_*.$iter.data in reverse order, with required C access from endrec back to startrec. This requires creating adxx_*.$iter.data C file of size endrec, with valid gradients from records startrec to endrec C but all zeros from 1 to startrec-1. See documentation: C https://mitgcm.readthedocs.io/en/latest/ocean_state_est/ocean_state_est.html#ctrl-model-parameter-adjustment-capability #ifdef ALLOW_AUTODIFF - CALL ACTIVE_READ_XY( fnamegenIn, xx_gen, lrec, + CALL ACTIVE_READ_XY( fnamegenIn(iarr), xx_gen, lRec, & doglobalread, ladinit, optimcycle, & myThid, xx_gentim2d_dummy(iarr) ) #else - CALL READ_REC_XY_RL( fnamegenIn, xx_gen, lRec, 1, myThid ) + CALL READ_REC_XY_RL( fnamegenIn(iarr), xx_gen, lRec, + & 1, myThid ) #endif -C Here, we write record krec (from 1 to diffrec) to file xx_*.effective.$iter +C Here, we write record kRec (from 1 to diffrec) to file xx_*.effective.$iter #ifdef ALLOW_AUTODIFF #ifdef ALLOW_CTRL_DEBUG - ilgen=ilnblnk( fnamegenOut ) - write(*,*) 'AG: iarr,[i,j,k]rec: ',iarr,irec,jrec,krec - write(*,*) 'AH: fnamegenOut: ', fnamegenOut(1:ilgen) + ilgen=ilnblnk( fnamegenOut(iarr) ) + write(*,*) 'AG: iarr,[i,j,k]rec: ',iarr,iRec,jrec,kRec + write(*,*) 'AH: fnamegenOut: ', fnamegenOut(iarr)(1:ilgen) #endif - CALL ACTIVE_WRITE_XY( fnamegenOut, xx_gen, krec, optimcycle, - & myThid, xx_gentim2d_dummy(iarr) ) + CALL ACTIVE_WRITE_XY( fnamegenOut(iarr), xx_gen, kRec, + & optimcycle, myThid, xx_gentim2d_dummy(iarr) ) #else - CALL WRITE_REC_XY_RL( fnamegenOut, xx_gen, kRec, 1, myThid ) + CALL WRITE_REC_XY_RL( fnamegenOut(iarr), xx_gen, kRec, + & 1 , myThid ) #endif ENDIF ENDDO ENDDO -c-- rmcycle +C-- rmcycle #ifdef ALLOW_ECCO replicated_nrec=diffrec replicated_ntimes=0 @@ -260,7 +267,7 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) IF (replicated_ntimes.GT.0) THEN -c create cyclic average +C create cyclic average nyearsINT=1+int((diffrec-replicated_nrec)/replicated_nrec) recip_nyearsRL=1. _d 0/float(nyearsINT) @@ -269,7 +276,7 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) write(*,*) 'AJ: nyears[INT,RL]: ',nyearsINT,recip_nyearsRL #endif - DO irec = 1, replicated_nrec + DO iRec = 1, replicated_nrec DO bj=myByLo(myThid),myByHi(myThid) DO bi=myBxLo(myThid),myBxHi(myThid) @@ -285,18 +292,18 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) #ifdef ALLOW_AUTODIFF_TAMC CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte #endif - krec=irec+(jrec-1)*replicated_nrec + kRec=iRec+(jrec-1)*replicated_nrec #ifdef ALLOW_CTRL_DEBUG - write(*,*) 'AK: iarr,[i,j,k]rec: ',iarr,irec,jrec,krec - ilgen=ilnblnk( fnamegenOut ) - write(*,*) 'AL: fnamegenOut: ',fnamegenOut(1:ilgen) + write(*,*) 'AK: iarr,[i,j,k]rec: ',iarr,iRec,jrec,kRec + ilgen=ilnblnk( fnamegenOut(iarr) ) + write(*,*) 'AL: fnamegenOut: ',fnamegenOut(iarr)(1:ilgen) #endif #ifdef ALLOW_AUTODIFF - call active_read_xy( fnamegenOut, xx_gen_tmp, krec, + CALL ACTIVE_READ_XY( fnamegenOut(iarr), xx_gen_tmp, kRec, & doglobalread, ladinit, optimcycle, & myThid, xx_gentim2d_dummy(iarr) ) #else - CALL READ_REC_XY_RL( fnamegenOut, xx_gen_tmp, krec, + CALL READ_REC_XY_RL( fnamegenOut(iarr), xx_gen_tmp, kRec, & 1, myThid ) #endif DO bj=myByLo(myThid),myByHi(myThid) @@ -327,41 +334,43 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) #endif #ifdef ALLOW_AUTODIFF - call active_write_xy( fnamegenTmp, xx_gen, iRec, optimcycle, - & myThid, xx_gentim2d_dummy(iarr) ) + CALL ACTIVE_WRITE_XY( fnamegenTmp(iarr), xx_gen, iRec, + & optimcycle, myThid, xx_gentim2d_dummy(iarr) ) #else - CALL WRITE_REC_XY_RL( fnamegenTmp, xx_gen, iRec, 1, myThid ) + CALL WRITE_REC_XY_RL( fnamegenTmp(iarr), xx_gen, iRec, + & 1, myThid ) #endif ENDDO -c subtract cyclic average +C subtract cyclic average DO jrec = 1, replicated_ntimes+1 - DO irec = 1, replicated_nrec + DO iRec = 1, replicated_nrec #ifdef ALLOW_AUTODIFF_TAMC CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte #endif - krec=replicated_nrec*(jrec-1)+irec + kRec=replicated_nrec*(jrec-1)+iRec #ifdef ALLOW_CTRL_DEBUG - write(*,*) 'AM: iarr,[i,j,k]rec: ',iarr,irec,jrec,krec - ilgen=ilnblnk( fnamegenOut ) - write(*,*) 'AN: fnamegenOut: ',fnamegenOut(1:ilgen) + write(*,*) 'AM: iarr,[i,j,k]rec: ',iarr,iRec,jrec,kRec + ilgen=ilnblnk( fnamegenOut(iarr) ) + write(*,*) 'AN: fnamegenOut: ',fnamegenOut(iarr)(1:ilgen) #endif - IF (krec.LE.diffrec) THEN + IF (kRec.LE.diffrec) THEN #ifdef ALLOW_AUTODIFF - CALL active_read_xy( fnamegenOut, xx_gen, kRec, + CALL ACTIVE_READ_XY( fnamegenOut(iarr), xx_gen, kRec, & doglobalread, ladinit, optimcycle, & myThid, xx_gentim2d_dummy(iarr) ) #else - CALL READ_REC_XY_RL( fnamegenOut, xx_gen, kRec, 1, myThid ) + CALL READ_REC_XY_RL( fnamegenOut(iarr), xx_gen, kRec, + & 1, myThid ) #endif #ifdef ALLOW_AUTODIFF - CALL active_read_xy( fnamegenTmp, xx_gen_tmp, iRec, + CALL ACTIVE_READ_XY( fnamegenTmp(iarr), xx_gen_tmp, iRec, & doglobalread, ladinit, optimcycle, & myThid, xx_gentim2d_dummy(iarr) ) #else - CALL READ_REC_XY_RL( fnamegenTmp, xx_gen_tmp, iRec, 1, - & myThid ) + CALL READ_REC_XY_RL( fnamegenTmp(iarr), xx_gen_tmp, iRec, + & 1, myThid ) #endif DO bj=myByLo(myThid),myByHi(myThid) DO bi=myBxLo(myThid),myBxHi(myThid) @@ -374,11 +383,11 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) ENDDO ENDDO #ifdef ALLOW_AUTODIFF - CALL active_write_xy( fnamegenOut, xx_gen, kRec, + CALL ACTIVE_WRITE_XY( fnamegenOut(iarr), xx_gen, kRec, & optimcycle, myThid, xx_gentim2d_dummy(iarr) ) #else - CALL WRITE_REC_XY_RL( fnamegenOut, xx_gen, kRec, 1, - & myThid ) + CALL WRITE_REC_XY_RL( fnamegenOut(iarr), xx_gen, kRec, + & 1, myThid ) #endif ENDIF ENDDO @@ -387,28 +396,29 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) ENDIF #endif /* ifdef ALLOW_ECCO */ -c-- scaling and smoothing +C-- scaling and smoothing C The access of records startrec to endrec in xx_*.*iter was already C done correctly above. From here, we read in xx_*.effective.$iter.data C of size diffrec, so no more fix of record is needed from here on out. - DO irec = 1, diffrec + DO iRec = 1, diffrec #ifdef ALLOW_AUTODIFF_TAMC CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte #endif #ifdef ALLOW_CTRL_DEBUG - ilgen=ilnblnk( fnamegenOut ) - lrec=startrec+irec-1 - write(*,'(A,1x,A,1x,2I6)') 'AO: fnamegenOut, irec,lrec ', - & fnamegenOut(1:ilgen),irec,lrec + ilgen=ilnblnk( fnamegenOut(iarr) ) + lRec=startrec+iRec-1 + write(*,'(A,1x,A,1x,2I6)') 'AO: fnamegenOut, iRec,lRec ', + & fnamegenOut(iarr)(1:ilgen),iRec,lRec #endif #ifdef ALLOW_AUTODIFF - call active_read_xy( fnamegenOut, xx_gen, irec, + CALL ACTIVE_READ_XY( fnamegenOut(iarr), xx_gen, iRec, & doglobalread, ladinit, optimcycle, & myThid, xx_gentim2d_dummy(iarr) ) #else - CALL READ_REC_XY_RL( fnamegenOut, xx_gen, iRec, 1, myThid ) + CALL READ_REC_XY_RL( fnamegenOut(iarr), xx_gen, iRec, + & 1, myThid ) #endif #ifndef ALLOW_OPENAD @@ -417,7 +427,7 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) C For now, just assumes records from startrec to endrec are available in file do k2 = 1, maxCtrlProc if (xx_gentim2d_preproc(k2,iarr).EQ.'variaweight') then - jrec=startrec+irec-1 + jrec=startrec+iRec-1 endif enddo CALL READ_REC_3D_RL( xx_gentim2d_weight(iarr), ctrlprec, 1, @@ -458,25 +468,25 @@ SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) CALL EXCH_XY_RL ( xx_gen , myThid ) #ifdef ALLOW_CTRL_DEBUG - ilgen=ilnblnk( fnamegenOut ) + ilgen=ilnblnk( fnamegenOut(iarr) ) write(*,'(A,1x,I6,1x,A)') - & 'AQ: irec,fnamegenOut: ',irec,fnamegenOut(1:ilgen) + & 'AQ: iRec,fnamegenOut: ',iRec,fnamegenOut(iarr)(1:ilgen) #endif #ifdef ALLOW_AUTODIFF - call active_write_xy( fnamegenOut, xx_gen, irec, optimcycle, - & myThid, xx_gentim2d_dummy(iarr) ) + CALL ACTIVE_WRITE_XY( fnamegenOut(iarr), xx_gen, iRec, + & optimcycle, myThid, xx_gentim2d_dummy(iarr) ) #else - CALL WRITE_REC_XY_RL( fnamegenOut, xx_gen, iRec, 1, myThid ) + CALL WRITE_REC_XY_RL( fnamegenOut(iarr), xx_gen, iRec, + & 1, myThid ) #endif - -c-- end irec loop +C-- end iRec loop ENDDO #ifndef ALLOW_OPENAD endif #endif -c-- end iarr loop +C-- end iarr loop ENDDO #ifdef ALLOW_DEBUG diff --git a/pkg/ecco/ecco_cost_driver.F b/pkg/ecco/ecco_cost_driver.F index 968945c622..0f58ab9139 100644 --- a/pkg/ecco/ecco_cost_driver.F +++ b/pkg/ecco/ecco_cost_driver.F @@ -1,4 +1,9 @@ #include "ECCO_OPTIONS.h" +#ifdef ALLOW_TAPENADE +# ifdef ALLOW_CTRL +# include "CTRL_OPTIONS.h" +# endif +#endif subroutine ecco_cost_driver( myTime, myIter, myThid ) @@ -19,6 +24,13 @@ subroutine ecco_cost_driver( myTime, myIter, myThid ) #include "EEPARAMS.h" #include "SIZE.h" #include "PARAMS.h" +#ifdef ALLOW_TAPENADE +# include "CTRL_SIZE.h" +# include "ctrl.h" +# include "CTRL_GENARR.h" +# include "ECCO_SIZE.h" +# include "ECCO.h" +#endif c == routine arguments == integer myThid diff --git a/pkg/exch2/exch2_rl1_cube_b.F b/pkg/exch2/exch2_rl1_cube_b.F new file mode 100644 index 0000000000..45b29cea22 --- /dev/null +++ b/pkg/exch2/exch2_rl1_cube_b.F @@ -0,0 +1,65 @@ +#include "CPP_EEOPTIONS.h" + +CBOP +C !ROUTINE: EXCH2_RL1_CUBE_B + +C !INTERFACE: + SUBROUTINE EXCH2_RL1_CUBE_B( + U array, arrayb, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + +C !DESCRIPTION: +C Scalar field (1 component) AD-Exchange: +C Tile-edge overlap-region of a 1 component scalar field is added to +C corresponding near-edge interior data point and then zero out. + +C !USES: + IMPLICIT NONE + +C == Global data == +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + +C !INPUT/OUTPUT PARAMETERS: +C array :: Array with edges to exchange. +C signOption :: Flag controlling whether field sign depends on orientation +C :: (signOption not yet implemented but needed for SM exch) +C fieldCode :: field code (position on staggered grid) +C myOLw,myOLe :: West and East overlap region sizes. +C myOLs,myOLn :: South and North overlap region sizes. +C exchWidthX :: Width of data regi exchanged in X. +C exchWidthY :: Width of data region exchanged in Y. +C cornerMode :: halo-corner-region treatment: update/ignore corner region +C myThid :: Thread number of this instance of S/R EXCH... + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNZ, nSx, nSy) + _RL arrayb(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNZ, nSx, nSy) + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + +C !LOCAL VARIABLES: +CEOP + CALL EXCH2_RL1_CUBE_AD( + U arrayb, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + RETURN + END diff --git a/pkg/exch2/exch2_rl2_cube_b.F b/pkg/exch2/exch2_rl2_cube_b.F new file mode 100644 index 0000000000..c55e5f6d38 --- /dev/null +++ b/pkg/exch2/exch2_rl2_cube_b.F @@ -0,0 +1,72 @@ +#include "CPP_EEOPTIONS.h" + +CBOP +C !ROUTINE: EXCH2_RL2_CUBE_B + +C !INTERFACE: + SUBROUTINE EXCH2_RL2_CUBE_B( + U array1, array1b, + U array2, array2b, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + +C !DESCRIPTION: +C Two components vector field AD-Exchange: +C Tile-edge overlap-region of a 2 component vector field is added to +C corresponding near-edge interior data point and then zero out. + +C !USES: + IMPLICIT NONE + +C == Global data == +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + +C !INPUT/OUTPUT PARAMETERS: +C array1 :: 1rst component array with edges to exchange. +C array2 :: 2nd component array with edges to exchange. +C signOption :: Flag controlling whether vector is signed. +C fieldCode :: field code (position on staggered grid) +C myOLw,myOLe :: West and East overlap region sizes. +C myOLs,myOLn :: South and North overlap region sizes. +C exchWidthX :: Width of data region exchanged in X. +C exchWidthY :: Width of data region exchanged in Y. +C cornerMode :: halo-corner-region treatment: update/ignore corner region +C myThid :: Thread number of this instance of S/R EXCH... + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array1(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RL array2(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RL array1b(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RL array2b(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + +C !LOCAL VARIABLES: +CEOP + CALL EXCH2_RL2_CUBE_AD( + U array1b, array2b, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + RETURN + END diff --git a/pkg/exch2/exch2_rs1_cube_b.F b/pkg/exch2/exch2_rs1_cube_b.F new file mode 100644 index 0000000000..550d800121 --- /dev/null +++ b/pkg/exch2/exch2_rs1_cube_b.F @@ -0,0 +1,65 @@ +#include "CPP_EEOPTIONS.h" + +CBOP +C !ROUTINE: EXCH2_RS1_CUBE_B + +C !INTERFACE: + SUBROUTINE EXCH2_RS1_CUBE_B( + U array, arrayb, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + +C !DESCRIPTION: +C Scalar field (1 component) AD-Exchange: +C Tile-edge overlap-region of a 1 component scalar field is added to +C corresponding near-edge interior data point and then zero out. + +C !USES: + IMPLICIT NONE + +C == Global data == +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + +C !INPUT/OUTPUT PARAMETERS: +C array :: Array with edges to exchange. +C signOption :: Flag controlling whether field sign depends on orientation +C :: (signOption not yet implemented but needed for SM exch) +C fieldCode :: field code (position on staggered grid) +C myOLw,myOLe :: West and East overlap region sizes. +C myOLs,myOLn :: South and North overlap region sizes. +C exchWidthX :: Width of data regi exchanged in X. +C exchWidthY :: Width of data region exchanged in Y. +C cornerMode :: halo-corner-region treatment: update/ignore corner region +C myThid :: Thread number of this instance of S/R EXCH... + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNZ, nSx, nSy) + _RS arrayb(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNZ, nSx, nSy) + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + +C !LOCAL VARIABLES: +CEOP + CALL EXCH2_RS1_CUBE_AD( + U arrayb, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + RETURN + END diff --git a/pkg/exch2/exch2_rs2_cube_b.F b/pkg/exch2/exch2_rs2_cube_b.F new file mode 100644 index 0000000000..40ccb264fe --- /dev/null +++ b/pkg/exch2/exch2_rs2_cube_b.F @@ -0,0 +1,72 @@ +#include "CPP_EEOPTIONS.h" + +CBOP +C !ROUTINE: EXCH2_RS2_CUBE_B + +C !INTERFACE: + SUBROUTINE EXCH2_RS2_CUBE_B( + U array1, array1b, + U array2, array2b, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + +C !DESCRIPTION: +C Two components vector field AD-Exchange: +C Tile-edge overlap-region of a 2 component vector field is added to +C corresponding near-edge interior data point and then zero out. + +C !USES: + IMPLICIT NONE + +C == Global data == +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + +C !INPUT/OUTPUT PARAMETERS: +C array1 :: 1rst component array with edges to exchange. +C array2 :: 2nd component array with edges to exchange. +C signOption :: Flag controlling whether vector is signed. +C fieldCode :: field code (position on staggered grid) +C myOLw,myOLe :: West and East overlap region sizes. +C myOLs,myOLn :: South and North overlap region sizes. +C exchWidthX :: Width of data region exchanged in X. +C exchWidthY :: Width of data region exchanged in Y. +C cornerMode :: halo-corner-region treatment: update/ignore corner region +C myThid :: Thread number of this instance of S/R EXCH... + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array1(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RS array2(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RS array1b(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RS array2b(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + +C !LOCAL VARIABLES: +CEOP + CALL EXCH2_RS2_CUBE_AD( + U array1b, array2b, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + RETURN + END diff --git a/pkg/exch2/exch2_rs_rl_12_d.F b/pkg/exch2/exch2_rs_rl_12_d.F new file mode 100644 index 0000000000..c172648fb6 --- /dev/null +++ b/pkg/exch2/exch2_rs_rl_12_d.F @@ -0,0 +1,204 @@ +#include "CPP_EEOPTIONS.h" + +C-- File exch2_rs_rl_12_d.F: Tapenade Tangent Linear EXCH2 routines +C-- Contents +C-- o EXCH2_RS1_CUBE_D( +C-- o EXCH2_RL1_CUBE_D( +C-- o EXCH2_RS2_CUBE_D( +C-- o EXCH2_RL2_CUBE_D( + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH2_RS1_CUBE_D( + U array, arrayd, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RS arrayd(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH2_RS1_CUBE( + U array, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + CALL EXCH2_RS1_CUBE( + U arrayd, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH2_RL1_CUBE_D( + U array, arrayd, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RL arrayd(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH2_RL1_CUBE( + U array, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + CALL EXCH2_RL1_CUBE( + U arrayd, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH2_RS2_CUBE_D( + U array1, array1d, + U array2, array2d, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RS array1(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RS array1d(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RS array2(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RS array2d(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH2_RS2_CUBE( + U array1, array2, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + + CALL EXCH2_RS2_CUBE( + U array1d, array2d, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + SUBROUTINE EXCH2_RL2_CUBE_D( + U array1, array1d, + U array2, array2d, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "W2_EXCH2_SIZE.h" +#include "W2_EXCH2_TOPOLOGY.h" +#include "W2_EXCH2_BUFFER.h" + + INTEGER myOLw, myOLe, myOLs, myOLn, myNz + _RL array1(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RL array1d(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RL array2(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + _RL array2d(1-myOLw:sNx+myOLe, + & 1-myOLs:sNy+myOLn, + & myNz, nSx, nSy) + + LOGICAL signOption + CHARACTER*2 fieldCode + INTEGER exchWidthX + INTEGER exchWidthY + INTEGER cornerMode + INTEGER myThid + + CALL EXCH2_RL2_CUBE( + U array1, array2, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + + CALL EXCH2_RL2_CUBE( + U array1d, array2d, + I signOption, fieldCode, + I myOLw, myOLe, myOLs, myOLn, myNz, + I exchWidthX, exchWidthY, + I cornerMode, myThid ) + + END diff --git a/pkg/exf/exf_getforcing.F b/pkg/exf/exf_getforcing.F index 22e42d7784..7989a9c17b 100644 --- a/pkg/exf/exf_getforcing.F +++ b/pkg/exf/exf_getforcing.F @@ -129,6 +129,10 @@ SUBROUTINE EXF_GETFORCING( myTime, myIter, myThid ) #ifdef ALLOW_AUTODIFF_TAMC # include "tamc.h" #endif +#ifdef ALLOW_TAPENADE +# include "EXF_INTERP_SIZE.h" +# include "EXF_INTERP_PARAM.h" +#endif /* ALLOW_TAPENADE */ C !INPUT/OUTPUT PARAMETERS: C == routine arguments == diff --git a/pkg/generic_advdiff/gad_os7mp_adv_r.F b/pkg/generic_advdiff/gad_os7mp_adv_r.F index a6af9a7253..e1e1f953a6 100644 --- a/pkg/generic_advdiff/gad_os7mp_adv_r.F +++ b/pkg/generic_advdiff/gad_os7mp_adv_r.F @@ -53,8 +53,8 @@ SUBROUTINE GAD_OS7MP_ADV_R( kp2=MIN(Nr,k+2) kp3=MIN(Nr,k+3) - DO j=1-Oly,sNy+Oly - DO i=1-Olx,sNx+Olx + DO j=1-OLy,sNy+OLy + DO i=1-OLx,sNx+OLx wLoc = wFld(i,j) cfl = abs(wLoc*deltaTloc*recip_drC(k)) @@ -173,12 +173,14 @@ SUBROUTINE GAD_OS7MP_ADV_R( B = 4. _d 0*d2p1 - d2 C = d2 D = d2p1 - dp1h = max(min(A,B,C,D),0. _d 0)+min(max(A,B,C,D),0. _d 0) + dp1h = max(min(min(A,B),min(C,D)),0. _d 0) + & + min(max(max(A,B),max(C,D)),0. _d 0) A = 4. _d 0*d2m1 - d2 B = 4. _d 0*d2 - d2m1 C = d2m1 D = d2 - dm1h = max(min(A,B,C,D),0. _d 0)+min(max(A,B,C,D),0. _d 0) + dm1h = max(min(min(A,B),min(C,D)),0. _d 0) + & + min(max(max(A,B),max(C,D)),0. _d 0) c qMD = 0.5*( ( Qi + Qip ) - dp1h ) c qMD = 0.5 _d 0*( ( 2. _d 0*Qi + DelIp ) - dp1h ) c qUL = Qi + (1. _d 0-cfl)/(cfl+Eps)*DelI @@ -190,9 +192,9 @@ SUBROUTINE GAD_OS7MP_ADV_R( PhiLC = rp1h_cfl*( 1. _d 0+dm1h*recip_DelI ) C-- PhiMin = max(min(0. _d 0,PhiMD), - & min(0. _d 0,2. _d 0*rp1h_cfl,PhiLC)) + & min(min(0. _d 0,2. _d 0*rp1h_cfl),PhiLC)) PhiMax = min(max(2. _d 0/(1. _d 0-cfl),PhiMD), - & max(0. _d 0,2. _d 0*rp1h_cfl,PhiLC)) + & max(max(0. _d 0,2. _d 0*rp1h_cfl),PhiLC)) Phi = max(PhiMin,min(Phi,PhiMax)) Psi = Phi * 0.5 _d 0 * (1. _d 0 - cfl) diff --git a/pkg/generic_advdiff/gad_os7mp_adv_x.F b/pkg/generic_advdiff/gad_os7mp_adv_x.F index 60222cd8cd..83e787fc18 100644 --- a/pkg/generic_advdiff/gad_os7mp_adv_x.F +++ b/pkg/generic_advdiff/gad_os7mp_adv_x.F @@ -47,17 +47,17 @@ SUBROUTINE GAD_OS7MP_ADV_X( Eps = 1. _d -20 - DO j=1-Oly,sNy+Oly - uT(1-Olx,j)=0. _d 0 - uT(2-Olx,j)=0. _d 0 - uT(3-Olx,j)=0. _d 0 - uT(4-Olx,j)=0. _d 0 - uT(sNx+Olx-2,j)=0. _d 0 - uT(sNx+Olx-1,j)=0. _d 0 - uT(sNx+Olx,j)=0. _d 0 + DO j=1-OLy,sNy+OLy + uT(1-OLx,j)=0. _d 0 + uT(2-OLx,j)=0. _d 0 + uT(3-OLx,j)=0. _d 0 + uT(4-OLx,j)=0. _d 0 + uT(sNx+OLx-2,j)=0. _d 0 + uT(sNx+OLx-1,j)=0. _d 0 + uT(sNx+OLx,j)=0. _d 0 ENDDO - DO j=1-Oly,sNy+Oly - DO i=1-Olx+4,sNx+Olx-3 + DO j=1-OLy,sNy+OLy + DO i=1-OLx+4,sNx+OLx-3 uLoc = uFld(i,j) cfl = uLoc @@ -177,12 +177,14 @@ SUBROUTINE GAD_OS7MP_ADV_X( B = 4. _d 0*d2p1 - d2 C = d2 D = d2p1 - dp1h = max(min(A,B,C,D),0. _d 0)+min(max(A,B,C,D),0. _d 0) + dp1h = max(min(min(A,B),min(C,D)),0. _d 0) + & + min(max(max(A,B),max(C,D)),0. _d 0) A = 4. _d 0*d2m1 - d2 B = 4. _d 0*d2 - d2m1 C = d2m1 D = d2 - dm1h = max(min(A,B,C,D),0. _d 0)+min(max(A,B,C,D),0. _d 0) + dm1h = max(min(min(A,B),min(C,D)),0. _d 0) + & + min(max(max(A,B),max(C,D)),0. _d 0) c qMD = 0.5*( ( Qi + Qip ) - dp1h ) c qMD = 0.5 _d 0*( ( 2. _d 0*Qi + DelIp ) - dp1h ) c qUL = Qi + (1. _d 0-cfl)/(cfl+Eps)*DelI @@ -194,9 +196,9 @@ SUBROUTINE GAD_OS7MP_ADV_X( PhiLC = rp1h_cfl*( 1. _d 0+dm1h*recip_DelI ) C-- PhiMin = max( min(0. _d 0,PhiMD), - & min(0. _d 0,2. _d 0*rp1h_cfl,PhiLC) ) + & min(min(0. _d 0,2. _d 0*rp1h_cfl),PhiLC) ) PhiMax = min( max(2. _d 0/(1. _d 0-cfl),PhiMD), - & max(0. _d 0,2. _d 0*rp1h_cfl,PhiLC) ) + & max(max(0. _d 0,2. _d 0*rp1h_cfl),PhiLC) ) Phi = max(PhiMin,min(Phi,PhiMax)) Psi = Phi * 0.5 _d 0 * (1. _d 0 - cfl) diff --git a/pkg/generic_advdiff/gad_os7mp_adv_y.F b/pkg/generic_advdiff/gad_os7mp_adv_y.F index 6d0ef7cd32..6f4b408822 100644 --- a/pkg/generic_advdiff/gad_os7mp_adv_y.F +++ b/pkg/generic_advdiff/gad_os7mp_adv_y.F @@ -47,17 +47,17 @@ SUBROUTINE GAD_OS7MP_ADV_Y( Eps = 1. _d -20 - DO i=1-Olx,sNx+Olx - vT(i,1-Oly)=0. _d 0 - vT(i,2-Oly)=0. _d 0 - vT(i,3-Oly)=0. _d 0 - vT(i,4-Oly)=0. _d 0 - vT(i,sNy+Oly-2)=0. _d 0 - vT(i,sNy+Oly-1)=0. _d 0 - vT(i,sNy+Oly)=0. _d 0 + DO i=1-OLx,sNx+OLx + vT(i,1-OLy)=0. _d 0 + vT(i,2-OLy)=0. _d 0 + vT(i,3-OLy)=0. _d 0 + vT(i,4-OLy)=0. _d 0 + vT(i,sNy+OLy-2)=0. _d 0 + vT(i,sNy+OLy-1)=0. _d 0 + vT(i,sNy+OLy)=0. _d 0 ENDDO - DO j=1-Oly+4,sNy+Oly-3 - DO i=1-Olx,sNx+Olx + DO j=1-OLy+4,sNy+OLy-3 + DO i=1-OLx,sNx+OLx vLoc = vFld(i,j) cfl = vLoc @@ -177,12 +177,14 @@ SUBROUTINE GAD_OS7MP_ADV_Y( B = 4. _d 0*d2p1 - d2 C = d2 D = d2p1 - dp1h = max(min(A,B,C,D),0. _d 0)+min(max(A,B,C,D),0. _d 0) + dp1h = max(min(min(A,B),min(C,D)),0. _d 0) + & + min(max(max(A,B),max(C,D)),0. _d 0) A = 4. _d 0*d2m1 - d2 B = 4. _d 0*d2 - d2m1 C = d2m1 D = d2 - dm1h = max(min(A,B,C,D),0. _d 0)+min(max(A,B,C,D),0. _d 0) + dm1h = max(min(min(A,B),min(C,D)),0. _d 0) + & + min(max(max(A,B),max(C,D)),0. _d 0) c qMD = 0.5*( ( Qi + Qip ) - dp1h ) c qMD = 0.5 _d 0*( ( 2. _d 0*Qi + DelIp ) - dp1h ) c qUL = Qi + (1. _d 0-cfl)/(cfl+Eps)*DelI @@ -194,9 +196,9 @@ SUBROUTINE GAD_OS7MP_ADV_Y( PhiLC = rp1h_cfl*( 1. _d 0+dm1h*recip_DelI ) C-- PhiMin = max( min(0. _d 0,PhiMD), - & min(0. _d 0,2. _d 0*rp1h_cfl,PhiLC) ) + & min(min(0. _d 0,2. _d 0*rp1h_cfl),PhiLC) ) PhiMax = min( max(2. _d 0/(1. _d 0-cfl),PhiMD), - & max(0. _d 0,2. _d 0*rp1h_cfl,PhiLC) ) + & max(max(0. _d 0,2. _d 0*rp1h_cfl),PhiLC) ) Phi = max(PhiMin,min(Phi,PhiMax)) Psi = Phi * 0.5 _d 0 * (1. _d 0 - cfl) diff --git a/pkg/ggl90/GGL90_OPTIONS.h b/pkg/ggl90/GGL90_OPTIONS.h index d5eb3cf9f4..9597ea414f 100644 --- a/pkg/ggl90/GGL90_OPTIONS.h +++ b/pkg/ggl90/GGL90_OPTIONS.h @@ -23,9 +23,17 @@ C originally implemented in OPA. C allow IDEMIX model #undef ALLOW_GGL90_IDEMIX +#ifdef ALLOW_GGL90_IDEMIX +C The cvmix version of idemix uses different regularisations for the +C Coriolis parameter, buoyancy frequency etc, when used in the denominator +# define GGL90_IDEMIX_CVMIX_VERSION +#endif C include Langmuir circulation parameterization #undef ALLOW_GGL90_LANGMUIR +C recover old bug prior to Jun 2023 +#undef GGL90_MISSING_HFAC_BUG + #endif /* ALLOW_GGL90 */ #endif /* GGL90_OPTIONS_H */ diff --git a/pkg/ggl90/ggl90_calc.F b/pkg/ggl90/ggl90_calc.F index 8b8d8d0a68..d28594413c 100644 --- a/pkg/ggl90/ggl90_calc.F +++ b/pkg/ggl90/ggl90_calc.F @@ -61,6 +61,11 @@ SUBROUTINE GGL90_CALC( #ifdef ALLOW_GGL90 +#ifdef ALLOW_DIAGNOSTICS + LOGICAL DIAGNOSTICS_IS_ON + EXTERNAL DIAGNOSTICS_IS_ON +#endif /* ALLOW_DIAGNOSTICS */ + C !LOCAL VARIABLES: ==================================================== C iMin,iMax,jMin,jMax :: index boundaries of computation domain C i, j, k :: array computation indices @@ -118,8 +123,8 @@ SUBROUTINE GGL90_CALC( _RL GGL90visctmp (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) #ifdef ALLOW_GGL90_IDEMIX _RL hFacI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) -C IDEMIX_gTKE :: TKE tendency due to internal waves -C (output of S/R GGL90_IDEMIX) +C IDEMIX_gTKE :: dissipation of internal wave energy is a source +C of TKE and mixing (output of S/R GGL90_IDEMIX) _RL IDEMIX_gTKE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) #endif /* ALLOW_GGL90_IDEMIX */ #ifdef ALLOW_GGL90_LANGMUIR @@ -171,6 +176,10 @@ SUBROUTINE GGL90_CALC( _RL kappaRX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1) #endif #ifdef ALLOW_DIAGNOSTICS +# ifndef ALLOW_AUTODIFF + LOGICAL doDiagTKEmin + _RL recip_deltaT +# endif _RL surf_flx_tke(1-OLx:sNx+OLx,1-OLy:sNy+OLy) #endif /* ALLOW_DIAGNOSTICS */ #ifdef ALLOW_AUTODIFF_TAMC @@ -209,6 +218,26 @@ SUBROUTINE GGL90_CALC( explDissFac = 0. _d 0 implDissFac = 1. _d 0 - explDissFac +#ifdef ALLOW_DIAGNOSTICS +# ifndef ALLOW_AUTODIFF + doDiagTKEmin = .FALSE. +# endif + IF ( useDiagnostics ) THEN +# ifndef ALLOW_AUTODIFF + doDiagTKEmin = DIAGNOSTICS_IS_ON('GGL90Emn',myThid) +C- note: needs to explicitly increment the counter since DIAGNOSTICS_FILL +C does it only if k=1 (never the case here) + IF ( doDiagTKEmin ) + & CALL DIAGNOSTICS_COUNT('GGL90Emn',bi,bj,myThid) +# endif + DO j=1-OLy,sNy+OLy + DO i=1-OLx,sNx+OLx + surf_flx_tke(i,j) = 0. + ENDDO + ENDDO + ENDIF +#endif + C For nonlinear free surface and especially with r*-coordinates, the C hFacs change every timestep, so we need to update them here in the C case of using IDEMIX. @@ -217,8 +246,8 @@ SUBROUTINE GGL90_CALC( DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx hFac = - & MIN(.5 _d 0,_hFacC(i,j,km1,bi,bj) ) + - & MIN(.5 _d 0,_hFacC(i,j,k ,bi,bj) ) + & MIN( halfRS, _hFacC(i,j,km1,bi,bj) ) + & + MIN( halfRS, _hFacC(i,j,k ,bi,bj) ) recip_hFacI(i,j,k)=0. _d 0 IF ( hFac .NE. 0. _d 0 ) & recip_hFacI(i,j,k)=1. _d 0/hFac @@ -931,20 +960,16 @@ SUBROUTINE GGL90_CALC( # endif #endif /* ALLOW_GGL90_LANGMUIR */ -C compute Prandtl number (always greater than 0) +C compute Prandtl number (always greater than 1) #ifdef ALLOW_GGL90_IDEMIX IF ( useIDEMIX ) THEN DO j=jMin,jMax DO i=iMin,iMax -C account for partical cell factor in vertical shear: - verticalShear(i,j) = verticalShear(i,j) - & * recip_hFacI(i,j,k)*recip_hFacI(i,j,k) RiNumber = MAX(Nsquare(i,j,k),0. _d 0) & /(verticalShear(i,j)+GGL90eps) -CML IDEMIX_RiNumber = 1./GGL90eps IDEMIX_RiNumber = MAX( KappaM(i,j)*Nsquare(i,j,k), 0. _d 0)/ & ( GGL90eps + IDEMIX_gTKE(i,j,k) ) - prTemp = MIN(5.*RiNumber, 6.6 _d 0*IDEMIX_RiNumber) + prTemp = 6.6 _d 0 * MIN( RiNumber, IDEMIX_RiNumber ) TKEPrandtlNumber(i,j,k) = MIN(10. _d 0,prTemp) TKEPrandtlNumber(i,j,k) = MAX( oneRL,TKEPrandtlNumber(i,j,k) ) ENDDO @@ -1046,6 +1071,15 @@ SUBROUTINE GGL90_CALC( ENDDO ENDDO DO k=2,Nr +#ifdef GGL90_MISSING_HFAC_BUG + IF ( .NOT.useIDEMIX ) THEN + DO j=1-OLy,sNy+OLy + DO i=1-OLx,sNx+OLx + recip_hFacI(i,j,k) = oneRS + ENDDO + ENDDO + ENDIF +#endif km1=MAX(2,k-1) DO j=jMin,jMax DO i=iMin,iMax @@ -1056,7 +1090,7 @@ SUBROUTINE GGL90_CALC( a3d(i,j,k) = -deltaTloc & *recip_drF(k-1)*recip_hFacC(i,j,k-1,bi,bj) & *.5 _d 0*(KappaE(i,j, k )+KappaE(i,j,km1)) - & *recip_drC(k)*maskC(i,j,k,bi,bj) + & *recip_drC(k)*maskC(i,j,k,bi,bj)*recip_hFacI(i,j,k) & *coordFac*coordFac ENDDO ENDDO @@ -1076,27 +1110,14 @@ SUBROUTINE GGL90_CALC( C- but no hFacC in TKE volume control C- No need for maskC(k) with recip_hFacC(k) c3d(i,j,k) = -deltaTloc - & *recip_drF( k ) * recip_hFacC(i,j,k,bi,bj) - & *.5 _d 0*(KappaE(i,j,k)+KappaE(i,j,kp1)) - & *recip_drC(k)*maskC(i,j,k-1,bi,bj) - & *coordFac*coordFac + & *recip_drF( k ) * recip_hFacC(i,j,k,bi,bj) + & *.5 _d 0*(KappaE(i,j,k)+KappaE(i,j,kp1)) + & *recip_drC(k)*maskC(i,j,k-1,bi,bj)*recip_hFacI(i,j,k) + & *coordFac*coordFac ENDDO ENDDO ENDDO -#ifdef ALLOW_GGL90_IDEMIX - IF ( useIDEMIX ) THEN - DO k=2,Nr - DO j=jMin,jMax - DO i=iMin,iMax - a3d(i,j,k) = a3d(i,j,k)*recip_hFacI(i,j,k) - c3d(i,j,k) = c3d(i,j,k)*recip_hFacI(i,j,k) - ENDDO - ENDDO - ENDDO - ENDIF -#endif /* ALLOW_GGL90_IDEMIX */ - IF (.NOT.GGL90_dirichlet) THEN C Neumann bottom boundary condition for TKE: no flux from bottom IF ( usingPCoords ) THEN @@ -1310,6 +1331,17 @@ SUBROUTINE GGL90_CALC( CADJ STORE GGL90TKE(:,:,:,bi,bj)=comlev1_bibj, key=tkey, kind=isbyte #endif DO k=2,Nr +#if ( defined ALLOW_DIAGNOSTICS && !defined ALLOW_AUTODIFF ) +C This diagnostics code causes extra recomputations so we skip it. + IF ( doDiagTKEmin ) THEN + DO j=1,sNy + DO i=1,sNx + surf_flx_tke(i,j) = GGL90TKE(i,j,k,bi,bj) + & * maskC(i,j,k,bi,bj)*maskC(i,j,k-1,bi,bj) + ENDDO + ENDDO + ENDIF +#endif DO j=jMin,jMax DO i=iMin,iMax C impose minimum TKE to avoid numerical undershoots below zero; @@ -1319,6 +1351,19 @@ SUBROUTINE GGL90_CALC( & *MAX( GGL90TKE(i,j,k,bi,bj), GGL90TKEmin ) ENDDO ENDDO +#if ( defined ALLOW_DIAGNOSTICS && !defined ALLOW_AUTODIFF ) + IF ( doDiagTKEmin ) THEN + recip_deltaT = 1. _d 0 / deltaTloc + DO j=1,sNy + DO i=1,sNx + surf_flx_tke(i,j) = (GGL90TKE(i,j,k,bi,bj)-surf_flx_tke(i,j)) + & *recip_deltaT + ENDDO + ENDDO + CALL DIAGNOSTICS_FILL( surf_flx_tke ,'GGL90Emn', + & k, 1, 2, bi, bj, myThid ) + ENDIF +#endif ENDDO C end of time step @@ -1430,62 +1475,79 @@ SUBROUTINE GGL90_CALC( & 0,Nr, 2, bi, bj, myThid ) ENDIF +C avoid extra 3D diagnostics field and abuse unused field + IF ( DIAGNOSTICS_IS_ON('GGL90KN2',myThid) ) THEN + DO k=1,Nr + DO j=1,sNy + DO i=1,sNx + TKEPrandtlNumber(i,j,k) = + & GGL90diffKr(i,j,k,bi,bj) * Nsquare(i,j,k) + ENDDO + ENDDO + ENDDO + CALL DIAGNOSTICS_FILL( TKEPrandtlNumber ,'GGL90KN2', + & 0, Nr, 2, bi, bj, myThid ) + ENDIF + + IF ( DIAGNOSTICS_IS_ON('GGL90flx',myThid) ) THEN C diagnose surface flux of TKE - IF ( usingPCoords ) THEN -C diagnose surface flux of TKE - DO j=jMin,jMax - DO i=iMin,iMax + IF ( usingPCoords ) THEN + DO j=jMin,jMax + DO i=iMin,iMax CML#ifdef ALLOW_SHELFICE CML IF ( useShelfIce ) THEN CML kSrf = MAX(kTopC(i,j,bi,bj),1) CML kTop = kSrf CML ENDIF CML#endif - surf_flx_tke(i,j) = - & (MAX(GGL90TKEsurfMin,GGL90m2*uStarSquare(i,j)) - & - GGL90TKE(i,j,kSrf,bi,bj) ) - & *recip_drF(kSrf)*recip_hFacC(i,j,kSrf,bi,bj) - & *KappaE(i,j,kSrf) - & *coordFac + surf_flx_tke(i,j) = + & (MAX(GGL90TKEsurfMin,GGL90m2*uStarSquare(i,j)) + & - GGL90TKE(i,j,kSrf,bi,bj) ) + & *recip_drF(kSrf)*recip_hFacC(i,j,kSrf,bi,bj) + & *KappaE(i,j,kSrf) + & *coordFac + ENDDO ENDDO - ENDDO - ELSE - DO j=jMin,jMax - DO i=iMin,iMax + ELSE + DO j=jMin,jMax + DO i=iMin,iMax #ifdef ALLOW_SHELFICE - IF ( useShelfIce ) THEN - kSrf = MAX(1,kTopC(i,j,bi,bj)) - kTop = MIN(kSrf+1,Nr) - ENDIF + IF ( useShelfIce ) THEN + kSrf = MAX(1,kTopC(i,j,bi,bj)) + kTop = MIN(kSrf+1,Nr) + ENDIF #endif - surf_flx_tke(i,j) =(GGL90TKE(i,j,kSrf,bi,bj)- - & GGL90TKE(i,j,kTop,bi,bj)) + surf_flx_tke(i,j) =(GGL90TKE(i,j,kSrf,bi,bj)- + & GGL90TKE(i,j,kTop,bi,bj)) & *recip_drF(kSrf)*recip_hFacC(i,j,kSrf,bi,bj) & *KappaE(i,j,kTop) + ENDDO ENDDO - ENDDO + ENDIF + CALL DIAGNOSTICS_FILL( surf_flx_tke,'GGL90flx', + & 0, 1, 2, bi, bj, myThid ) ENDIF - CALL DIAGNOSTICS_FILL( surf_flx_tke,'GGL90flx', - & 0, 1, 2, bi, bj, myThid ) - k=kSrf - DO j=jMin,jMax - DO i=iMin,iMax + IF ( DIAGNOSTICS_IS_ON('GGL90tau',myThid) ) THEN + k=kSrf + DO j=jMin,jMax + DO i=iMin,iMax #ifdef ALLOW_SHELFICE - IF ( useShelfIce ) k = MAX(1,kTopC(i,j,bi,bj)) + IF ( useShelfIce ) k = MAX(1,kTopC(i,j,bi,bj)) #endif C diagnose work done by the wind - surf_flx_tke(i,j) = + surf_flx_tke(i,j) = & halfRL*( surfaceForcingU(i, j,bi,bj)*uVel(i ,j,k,bi,bj) & +surfaceForcingU(i+1,j,bi,bj)*uVel(i+1,j,k,bi,bj)) & + halfRL*( surfaceForcingV(i,j, bi,bj)*vVel(i,j ,k,bi,bj) & +surfaceForcingV(i,j+1,bi,bj)*vVel(i,j+1,k,bi,bj)) - surf_flx_tke(i,j) = surf_flx_tke(i,j) *recip_coordFac + surf_flx_tke(i,j) = surf_flx_tke(i,j) *recip_coordFac + ENDDO ENDDO - ENDDO - CALL DIAGNOSTICS_FILL( surf_flx_tke,'GGL90tau', - & 0, 1, 2, bi, bj, myThid ) - + CALL DIAGNOSTICS_FILL( surf_flx_tke,'GGL90tau', + & 0, 1, 2, bi, bj, myThid ) + ENDIF +C endif useDiagnostics ENDIF #endif /* ALLOW_DIAGNOSTICS */ diff --git a/pkg/ggl90/ggl90_diagnostics_init.F b/pkg/ggl90/ggl90_diagnostics_init.F index 219f003220..246e0fe62a 100644 --- a/pkg/ggl90/ggl90_diagnostics_init.F +++ b/pkg/ggl90/ggl90_diagnostics_init.F @@ -51,6 +51,13 @@ SUBROUTINE GGL90_DIAGNOSTICS_INIT( myThid ) CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) + diagName = 'GGL90Emn' + diagTitle = 'rate of TKE energy added by applying GGL90TKEmin' + diagUnits = 'm^2/s^3 ' + diagCode = 'SM LR ' + CALL DIAGNOSTICS_ADDTOLIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) + diagName = 'GGL90Lmx' diagTitle = 'Mixing length scale ' diagUnits = 'm ' @@ -86,6 +93,13 @@ SUBROUTINE GGL90_DIAGNOSTICS_INIT( myThid ) CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) + diagName = 'GGL90KN2' + diagTitle = 'GGL90 diffusivity times buoyancy frequency' + diagUnits = 'm^2/s^3 ' + diagCode = 'SM LR ' + CALL DIAGNOSTICS_ADDTOLIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) + diagName = 'GGL90flx' diagTitle = 'Surface flux of TKE ' diagUnits = 'm^3/s^3 ' @@ -93,7 +107,6 @@ SUBROUTINE GGL90_DIAGNOSTICS_INIT( myThid ) CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) - diagName = 'GGL90tau' diagTitle = 'Work done by the wind ' diagUnits = 'm^3/s^3 ' @@ -109,6 +122,13 @@ SUBROUTINE GGL90_DIAGNOSTICS_INIT( myThid ) CALL DIAGNOSTICS_ADDTOLIST( diagNum, I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) + diagName = 'IDEMgTKE' + diagTitle = 'IDEMIX tendency: tau_d times IDEMIX_E^2' + diagUnits = 'm^2/s^3 ' + diagCode = 'SM LR ' + CALL DIAGNOSTICS_ADDTOLIST( diagNum, + I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) + diagName = 'IDEMIX_c' diagTitle = 'IDEMIX vertical group velocity ' diagUnits = 'm/s ' diff --git a/pkg/ggl90/ggl90_idemix.F b/pkg/ggl90/ggl90_idemix.F index 3d57f24da6..3fffc289c3 100644 --- a/pkg/ggl90/ggl90_idemix.F +++ b/pkg/ggl90/ggl90_idemix.F @@ -52,7 +52,7 @@ SUBROUTINE GGL90_IDEMIX( C hFacI :: thickness factors for w-cells (interface) C with reciprocal of hFacI = recip_hFacI C sigmaR :: Vertical gradient of iso-neutral density -C gTKE :: TKE tendency due to internal waves (output of S/R GGL90_IDEMIX) +C gTKE :: dissipation of IW energy (output of S/R GGL90_IDEMIX) C myTime :: Current time in simulation C myIter :: Current time-step number C myThid :: My Thread Id number @@ -81,7 +81,7 @@ SUBROUTINE GGL90_IDEMIX( INTEGER errCode _RL deltaTloc C cstar :: vertical integral over N, eq (13) in Olbers+Eden (2013) - _RL fxa,fxb,fxc,cstar,twoOverPi + _RL fxa, fxb, fxc, cstar, twoOverPi, pijstar, recip_pijstar _RL coordFac, recip_coordFac _RL dfx (1-OLx:sNx+OLx,1-OLy:sNy+OLy) _RL dfy (1-OLx:sNx+OLx,1-OLy:sNy+OLy) @@ -123,7 +123,9 @@ SUBROUTINE GGL90_IDEMIX( IF ( usingPCoords) coordFac = gravity * rhoConst recip_coordFac = 1./coordFac - twoOverPi = 2. _d 0/PI + twoOverPi = 2. _d 0/PI + pijstar = PI*IDEMIX_jstar + recip_pijstar = 1. _d 0 / pijstar C Initialize local fields DO k = 1, Nr @@ -161,9 +163,13 @@ SUBROUTINE GGL90_IDEMIX( DO i=1-OLx,sNx+OLx Nsquare(i,j,k) = gravity*gravitySign*recip_rhoConst & * sigmaR(i,j,k) * coordFac +#ifdef GGL90_IDEMIX_CVMIX_VERSION + Nsquare(i,j,k)= MAX( 0. _d 0, Nsquare(i,j,k) ) +#else fxb = MAX( 1. _d -6, ABS( fCori(i,j,bi,bj) )) Nsquare(i,j,k)= MAX( 100.*fxb*fxb, Nsquare(i,j,k) ) & *maskC(i,j,k,bi,bj)*maskC(i,j,k-1,bi,bj) +#endif ENDDO ENDDO ENDDO @@ -185,17 +191,30 @@ SUBROUTINE GGL90_IDEMIX( DO k=2,Nr DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx - fxb = MAX( 1. _d -6, ABS( fCori(i,j,bi,bj) )) - fxa = SQRT(Nsquare(i,j,k))/fxb - cstar = bN0(i,j)/(PI*IDEMIX_jstar) +#ifdef GGL90_IDEMIX_CVMIX_VERSION + fxb = ABS( fCori(i,j,bi,bj) ) + fxa = SQRT(Nsquare(i,j,k))/(1. _d -22 + fxb) + cstar = MAX(1. _d -2, bN0(i,j)*recip_pijstar) +#else +C cstar is not limited from below (to say 1e-2), instead Nsquare is +C limited from below to (10 * max(1e-6, fCori))**2 + fxb = MAX( 1. _d -6, ABS( fCori(i,j,bi,bj) )) + fxa = SQRT(Nsquare(i,j,k))/fxb + cstar = bN0(i,j)*recip_pijstar +#endif c0(i,j,k)=MAX(0. _d 0, & cstar*IDEMIX_gamma*IDEMIX_gofx2(fxa,twoOverPI)) v0(i,j,k)=MAX(0. _d 0, & cstar*IDEMIX_gamma*IDEMIX_hofx1(fxa,twoOverPI)) +C next two lines: fxc = ACOSH( MAX(1,fxa) ) fxc = MAX( 1. _d 0 , fxa ) fxc = LOG( fxc + SQRT( fxc*fxc -1.)) - tau_d(i,j,k) = IDEMIX_mu0*fxb*fxc* - & (IDEMIX_jstar*PI/(GGL90eps+bN0(i,j)) )**2 +#ifdef GGL90_IDEMIX_CVMIX_VERSION + tau_d(i,j,k) = MAX( 1. _d -4, IDEMIX_mu0*fxb*fxc/cstar**2 ) +#else + tau_d(i,j,k) = IDEMIX_mu0*fxb*fxc + & * ( pijstar/(GGL90eps+bN0(i,j)) )**2 +#endif ENDDO ENDDO ENDDO @@ -504,7 +523,7 @@ SUBROUTINE GGL90_IDEMIX( O errCode, I bi, bj, myThid ) -C generate TKE tendency due to internal waves (output) +C generate TKE tendency due to dissipation of IW energy (output) DO k=2,Nr DO j=jMin,jMax DO i=iMin,iMax @@ -537,6 +556,7 @@ SUBROUTINE GGL90_IDEMIX( & 0, Nr, 2, bi, bj, myThid ) ENDIF CALL DIAGNOSTICS_FILL( IDEMIX_E ,'IDEMIX_E',0,Nr,1,bi,bj,myThid) + CALL DIAGNOSTICS_FILL( gTKE , 'IDEMgTKE',0,Nr,1,bi,bj,myThid) CALL DIAGNOSTICS_FILL( tau_d, 'IDEMIX_t',0,Nr,2,bi,bj,myThid) CALL DIAGNOSTICS_FILL( v0, 'IDEMIX_v',0,Nr,2,bi,bj,myThid) CALL DIAGNOSTICS_FILL( c0 , 'IDEMIX_c',0,Nr,2,bi,bj,myThid) diff --git a/pkg/grdchk/grdchk_main.F b/pkg/grdchk/grdchk_main.F index 59d7dc2488..e31bb73c5b 100644 --- a/pkg/grdchk/grdchk_main.F +++ b/pkg/grdchk/grdchk_main.F @@ -85,13 +85,15 @@ SUBROUTINE GRDCHK_MAIN( myThid ) #include "ctrl.h" #include "g_cost.h" +#ifdef ALLOW_TAPENADE +# include "COST_TAP_TLM.h" +#endif + C !INPUT/OUTPUT PARAMETERS: -C == routine arguments == INTEGER myThid #ifdef ALLOW_GRDCHK C !LOCAL VARIABLES: -C == local variables == INTEGER myIter _RL myTime INTEGER bi, bj @@ -128,7 +130,6 @@ SUBROUTINE GRDCHK_MAIN( myThid ) _RL tmpplot1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL tmpplot2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL tmpplot3(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) -C == end of interface == CEOP ioUnit = standardMessageUnit @@ -160,6 +161,14 @@ SUBROUTINE GRDCHK_MAIN( myThid ) ierr_grdchk = 0 adxxmemo = 0. ftlxxmemo = 0. + +#ifdef ALLOW_TAPENADE +C-- forward run with unperturbed control vector + myTime = startTime + myIter = nIter0 + CALL THE_MAIN_LOOP( myTime, myIter, myThid ) +#endif + #if (defined (ALLOW_ADMTLM)) fcref = objf_state_final(idep,jdep,1,1,1) #elif (defined (ALLOW_OPENAD)) @@ -281,7 +290,7 @@ SUBROUTINE GRDCHK_MAIN( myThid ) C-- 2. perform tangent linear run myTime = startTime myIter = nIter0 -#ifdef ALLOW_ADMTLM +# ifdef ALLOW_ADMTLM DO k=1,4*Nr+1 DO j=1,sNy DO i=1,sNx @@ -289,16 +298,25 @@ SUBROUTINE GRDCHK_MAIN( myThid ) ENDDO ENDDO ENDDO -#else +# else g_fc = 0. -#endif - +# endif + +# ifdef ALLOW_TAPENADE + CALL THE_MAIN_LOOP_D( myTime, myIter, myThid ) +# ifdef ALLOW_ADMTLM + ftlxxmemo = objf_state_finald(idep,jdep,1,1,1) +# else + ftlxxmemo = fcd +# endif +# else /* ALLOW_TAPENADE */ CALL G_THE_MAIN_LOOP( myTime, myIter, myThid ) -#ifdef ALLOW_ADMTLM +# ifdef ALLOW_ADMTLM ftlxxmemo = g_objf_state_final(idep,jdep,1,1,1) -#else +# else ftlxxmemo = g_fc -#endif +# endif +# endif /* ALLOW_TAPENADE */ C-- 3. reset control vector CALL GRDCHK_SETXX( icvrec, TANGENT_SIMULATION, @@ -332,7 +350,7 @@ SUBROUTINE GRDCHK_MAIN( myThid ) CALL THE_MAIN_LOOP( myTime, myIter, myThid ) #endif -#if (defined (ALLOW_ADMTLM)) +#ifdef ALLOW_ADMTLM fcpertplus = objf_state_final(idep,jdep,1,1,1) #elif (defined (ALLOW_OPENAD)) fcpertplus = fc%v diff --git a/pkg/pkg_depend b/pkg/pkg_depend index fd30299bf6..77461ed552 100644 --- a/pkg/pkg_depend +++ b/pkg/pkg_depend @@ -40,6 +40,7 @@ flt +mdsio autodiff +mdsio ctrl +mdsio ecco +mdsio +cal +tapenade +autodiff grdchk +autodiff +cost +ctrl showflops +runclock sun +cal diff --git a/pkg/profiles/active_file_profiles_tap_adj.F b/pkg/profiles/active_file_profiles_tap_adj.F new file mode 100644 index 0000000000..fc8d7f83a4 --- /dev/null +++ b/pkg/profiles/active_file_profiles_tap_adj.F @@ -0,0 +1,142 @@ +#include "PROFILES_OPTIONS.h" + +c ================================================================== +c +c active_files_tap_adj.F: Routines to handle the I/O of the active file +c for the adjoint calculations with Tapenade. +c All files are direct access files. +c +c Routines +c o active_read_profile_b - Adjoint of active_read_profile +c o active_write_profile_b - Adjoint of active_write_profile +c +c changed: shreyasg911@gmail.com 26-Mar-2023 +c +c ================================================================== + + subroutine active_read_profile_b( + I active_num_file, + I nadactive_var, + I active_var, + I adactive_var, + I active_varnum, + I irec, + I lAdInit, + I myiter, + I bi, + I bj, + I mythid, + I dummy, + I dummyb + & ) + +C !DESCRIPTION: \bv +c ================================================================== +c SUBROUTINE active_read_profile_b +c ================================================================== +c o Adjoint of active_read_profile. +c ================================================================== + implicit none + +c == global variables == +#include "EEPARAMS.h" +#include "SIZE.h" +#ifdef ALLOW_PROFILES +# include "PROFILES_SIZE.h" +# include "profiles.h" +#endif + +c == routine arguments == +c active_var_file: filename +c nadactive_var: integer size of adactive_var +c adactive_var: array +c irec: record number +c lAdInit: initialisation of corresponding adjoint +c variable and write to active file +c myIter: number of optimization iteration (default: 0) +c mythid: thread number for this instance + integer active_num_file, nadactive_var + _RL active_var(nadactive_var), adactive_var(nadactive_var) + integer active_varnum + integer irec + logical lAdInit + integer myiter + integer bi, bj, mythid + _RL dummy + _RL dummyb +c == end of interface == + +#ifdef ALLOW_PROFILES + + call active_read_profile_rl( fidadjoint(active_num_file,bi,bj) , + & active_num_file, + & nadactive_var, adactive_var, active_varnum, lAdInit, + & irec, prof_ind_glob(active_num_file,irec,bi,bj), + & REVERSE_SIMULATION, myiter,bi,bj, mythid) + +#endif + + end + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + subroutine active_write_profile_b( + I active_num_file, + I nadactive_var, + I active_var, + I adactive_var, + I active_varnum, + I irec, + I myiter, + I bi, + I bj, + I mythid, + I dummy, + I dummyb + & ) + +C !DESCRIPTION: \bv +c ================================================================== +c SUBROUTINE active_write_profile_b +c ================================================================== +c o Adjoint of active_write_profile. +c ================================================================== + + implicit none + +c == global variables == +#include "EEPARAMS.h" +#include "SIZE.h" +#ifdef ALLOW_PROFILES +# include "PROFILES_SIZE.h" +# include "profiles.h" +#endif + +c == routine arguments == +c active_var_file: filename +c nadactive_var: integer size of adactive_var +c adactive_var: array +c irec: record number +c myIter: number of optimization iteration (default: 0) +c mythid: thread number for this instance + integer active_num_file, nadactive_var + _RL active_var(nadactive_var), adactive_var(nadactive_var) + integer active_varnum + integer irec + integer myiter + integer bi, bj, mythid + _RL dummy + _RL dummyb +c == end of interface == + +#ifdef ALLOW_PROFILES + + call active_write_profile_rl( fidadjoint(active_num_file,bi,bj) , + & active_num_file, + & nadactive_var, adactive_var, active_varnum, + & irec, prof_ind_glob(active_num_file,irec,bi,bj), + & REVERSE_SIMULATION, myiter,bi,bj, mythid) + +#endif + + end diff --git a/pkg/streamice/streamice_vel_solve.F b/pkg/streamice/streamice_vel_solve.F index 1f18d34174..9893df0461 100644 --- a/pkg/streamice/streamice_vel_solve.F +++ b/pkg/streamice/streamice_vel_solve.F @@ -152,7 +152,10 @@ SUBROUTINE STREAMICE_VEL_SOLVE( myThid, maxNLIter, maxCGiter, C START NL ITER. LOOP C------------------------------------------------------------------- - +#ifdef ALLOW_TAPENADE +C Tapenade Pragma for fixed point iters +C$NOAD FP-LOOP +#endif DO iter=1,maxNLIter C To avoid using "exit", loop goes through all iterations diff --git a/pkg/tapenade/COST_TAP_TLM.h b/pkg/tapenade/COST_TAP_TLM.h new file mode 100644 index 0000000000..82938bc1ce --- /dev/null +++ b/pkg/tapenade/COST_TAP_TLM.h @@ -0,0 +1,23 @@ +C ================================================================== +C HEADER COST_TAP_TLM +C ================================================================== + + COMMON /COST_R_D/ + & fcd + _RL fcd + +#ifdef ALLOW_COST_STATE_FINAL + COMMON /COST_STATE_FINAL_R_D/ + & objf_state_finald + _RL objf_state_finald (sNx,sNy,nSx,nSy,4*Nr+1) +#endif + +#ifdef ALLOW_COST_VECTOR + COMMON /COST_VECTOR_R_D/ + & objf_vectord + _RL objf_vectord(sNx,nSx,nSy) +#endif + +C ================================================================== +C END OF HEADER COST_TAP_TLM +C ================================================================== diff --git a/pkg/tapenade/TAPENADE_OPTIONS.h b/pkg/tapenade/TAPENADE_OPTIONS.h new file mode 100644 index 0000000000..471358a540 --- /dev/null +++ b/pkg/tapenade/TAPENADE_OPTIONS.h @@ -0,0 +1,25 @@ +CBOP +C !ROUTINE: TAPENADE_OPTIONS.h +C !INTERFACE: +C #include "TAPENADE_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Tapenade (tapenade) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef TAPENADE_OPTIONS_H +#define TAPENADE_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_TAPENADE + +#define ALLOW_TAPENADE_ACTIVE_READ_XYZ +#define ALLOW_TAPENADE_ACTIVE_READ_XY +#undef ALLOW_TAPENADE_ACTIVE_WRITE + +#endif /* ALLOW_TAPENADE */ +#endif /* TAPENADE_OPTIONS_H */ diff --git a/pkg/tapenade/active_read_tap.F b/pkg/tapenade/active_read_tap.F new file mode 100644 index 0000000000..46a9c6a0b4 --- /dev/null +++ b/pkg/tapenade/active_read_tap.F @@ -0,0 +1,277 @@ +#include "CPP_EEOPTIONS.h" +C-- File active_read_tap.F: Active read with Tapenade. +C-- Contents: +C-- o ACTIVE_READ_XY_D +C-- o ACTIVE_READ_XYZ_D +C-- o ACTIVE_READ_XY_B +C-- o ACTIVE_READ_XYZ_B + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_READ_XY_D +C !INTERFACE: + SUBROUTINE ACTIVE_READ_XY_D(active_var_file, + & active_var, active_vard, + & iRec, doglobalread, lAdInit, + & myOptimIter, myThid, dummy, dummyd) + +C *==========================================================* +C | SUBROUTINE ACTIVE_READ_XY_D +C | o Tangent linear differentiation of ACTIVE_READ_XY. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C === Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +C !INPUT/OUTPUT PARAMETERS: +C === Routine arguments === +C active_var_file:: filename +C active_var :: array +C active_vard :: forward derivative of active_var +C iRec :: record number +C doglobalread :: flag for global or local read/write +C (default: .false.) +C lAdInit :: initialisation of corresponding adjoint +C variable and write to active file +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: my Thread Id. number + CHARACTER*(*) active_var_file + _RL active_vard(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + _RL active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + INTEGER iRec + LOGICAL doglobalread + LOGICAL lAdInit + INTEGER myOptimIter + INTEGER myThid + _RL dummy + _RL dummyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + +C !LOCAL VARIABLES: + CHARACTER*(80) fname + CHARACTER*(2) tlmpref +CEOP + + tlmpref = 'g_' + call ADD_PREFIX( tlmpref, active_var_file, fname ) + + call active_read_xy(active_var_file, active_var, + & iRec, doglobalread, lAdInit, + & myOptimIter, myThid, dummy) + call active_read_xy(fname, dummyd, iRec, + & doglobalread, lAdInit, + & myOptimIter, myThid, dummy) + + active_var = 0.d0 + active_vard = dummyd + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_READ_XYZ_D +C !INTERFACE: + subroutine ACTIVE_READ_XYZ_D(active_var_file, + & active_var, active_vard, + & iRec, doglobalread, lAdInit, + & myOptimIter, myThid, dummy, dummyd) + +C *==========================================================* +C | SUBROUTINE ACTIVE_READ_XYZ_D +C | o Tangent linear differentiation of ACTIVE_READ_XYZ. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C === Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +C !INPUT/OUTPUT PARAMETERS: +C === Routine arguments === +C active_var_file:: filename +C active_var :: array +C active_vard :: forward derivative of active_var +C iRec :: record number +C doglobalread :: flag for global or local read/write +C (default: .false.) +C lAdInit :: initialisation of corresponding adjoint +C variable and write to active file +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: my Thread Id. number + CHARACTER*(*) active_var_file + _RL active_vard(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + INTEGER iRec + LOGICAL doglobalread + LOGICAL lAdInit + INTEGER myOptimIter + INTEGER myThid + _RL dummy + _RL dummyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + +C !LOCAL VARIABLES: + CHARACTER*(80) fname + CHARACTER*(2) tlmpref +CEOP + + tlmpref = 'g_' + call ADD_PREFIX( tlmpref, active_var_file, fname ) + + call active_read_xyz(active_var_file, active_var, + & iRec, doglobalread, lAdInit, + & myOptimIter, myThid, dummy) + call active_read_xyz(fname, dummyd, iRec, + & doglobalread, lAdInit, + & myOptimIter, myThid, dummy) + + active_var = 0.d0 + active_vard = dummyd + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_READ_XY_B +C !INTERFACE: + SUBROUTINE ACTIVE_READ_XY_B(active_var_file, + & active_var, active_varb, + & iRec, doglobalread, lAdInit, + & myOptimIter, myThid, dummy, dummyb) + +C *==========================================================* +C | SUBROUTINE ACTIVE_READ_XY_B +C | o Reverse differentiation of ACTIVE_READ_XY. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C === Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +C !INPUT/OUTPUT PARAMETERS: +C === Routine arguments === +C active_var_file:: filename +C active_var :: array +C active_varb :: reverse derivative of active_var +C iRec :: record number +C doglobalread :: flag for global or local read/write +C (default: .false.) +C lAdInit :: initialisation of corresponding adjoint +C variable and write to active file +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: my Thread Id. number + CHARACTER*(*) active_var_file + _RL active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + _RL active_varb(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + INTEGER iRec + INTEGER myIter, myThid + LOGICAL doglobalread + LOGICAL lAdInit + INTEGER myOptimIter +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, dummyb + +C !LOCAL VARIABLES: + CHARACTER*(2) adpref + CHARACTER*(80) fname + INTEGER myNr + LOGICAL useCurrentDir +CEOP + + adpref = 'ad' + CALL ADD_PREFIX( adpref, active_var_file, fname ) + myNr = 1 + useCurrentDir = .FALSE. + + CALL ACTIVE_READ_3D_RL( + & fname, active_varb, doglobalread, + & useCurrentDir, lAdInit, iRec, myNr, + & REVERSE_SIMULATION, myIter, myThid ) + + RETURN + + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_READ_XYZ_B +C !INTERFACE: + SUBROUTINE ACTIVE_READ_XYZ_B(active_var_file, + & active_var, active_varb, + & iRec, doglobalread, lAdInit, + & myOptimIter, myThid, dummy, dummyb) + +C *==========================================================* +C | SUBROUTINE ACTIVE_READ_XYZ_B +C | o Reverse differentiation of ACTIVE_READ_XYZ. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C === Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +C !INPUT/OUTPUT PARAMETERS: +C === Routine arguments === +C active_var_file:: filename +C active_var :: array +C active_varb :: reverse derivative of active_var +C iRec :: record number +C doglobalread :: flag for global or local read/write +C (default: .false.) +C lAdInit :: initialisation of corresponding adjoint +C variable and write to active file +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: my Thread Id. number + CHARACTER*(*) active_var_file + _RL active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + _RL active_varb(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + INTEGER iRec + INTEGER myIter, myThid + LOGICAL doglobalread + LOGICAL lAdInit + INTEGER myOptimIter +C Tags for IO: ctrl input and adjoint (gradient) output + _RL dummy, dummyb + +C !LOCAL VARIABLES: + CHARACTER*(2) adpref + CHARACTER*(80) fname + INTEGER myNr + LOGICAL useCurrentDir +CEOP + + adpref = 'ad' + CALL ADD_PREFIX( adpref, active_var_file, fname ) + myNr = Nr + useCurrentDir = .FALSE. + + CALL ACTIVE_READ_3D_RL( + & fname, active_varb, doglobalread, + & useCurrentDir, lAdInit, iRec, myNr, + & REVERSE_SIMULATION, myIter, myThid ) + + RETURN + END + diff --git a/pkg/tapenade/active_write_tap.F b/pkg/tapenade/active_write_tap.F new file mode 100644 index 0000000000..2d3bd739ef --- /dev/null +++ b/pkg/tapenade/active_write_tap.F @@ -0,0 +1,288 @@ +#include "CPP_EEOPTIONS.h" +C-- File active_write_tap.F: Active write with Tapenade. +C-- Contents: +C-- o ACTIVE_WRITE_XY_D +C-- o ACTIVE_WRITE_XYZ_D +C-- o ACTIVE_WRITE_XY_B +C-- o ACTIVE_WRITE_XYZ_B + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_WRITE_XY_D +C !INTERFACE: + subroutine ACTIVE_WRITE_XY_D( + I active_var_file, + I active_var, + I active_vard, + I iRec, + I myOptimIter, + I myThid, + I dummy, + I dummyd + & ) + +C *==========================================================* +C | SUBROUTINE ACTIVE_WRITE_XY_D +C | o Forward differentiation of ACTIVE_WRITE_XY. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C == global variables == +#include "SIZE.h" + +C !INPUT/OUTPUT PARAMETERS: +C active_var_file:: filename +C active_var :: array +C active_vard :: forward derivative of active_var +C iRec :: record number +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: thread number for this instance + CHARACTER*(*) active_var_file + Real*8 active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + Real*8 active_vard(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + INTEGER iRec + INTEGER myOptimIter + INTEGER myThid + Real*8 dummy + Real*8 dummyd + +C !LOCAL VARIABLES: + CHARACTER*(2) pref + CHARACTER*(80) fname + INTEGER myNr + LOGICAL globalFile + LOGICAL useCurrentDir +CEOP + + pref = 'g_' + CALL ADD_PREFIX( pref, active_var_file, fname ) + myNr = 1 + globalFile = .FALSE. + useCurrentDir = .FALSE. + + call active_write_3d_rl( + & active_var_file, active_var, globalFile, + & useCurrentDir, iRec, myNr, + & 0, myOptimIter, myThid ) + + call active_write_3d_rl( + & fname, active_vard, globalFile, + & useCurrentDir, iRec, myNr, + & 2, myOptimIter, myThid ) + + RETURN + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_WRITE_XYZ_D +C !INTERFACE: + subroutine ACTIVE_WRITE_XYZ_D( + I active_var_file, + I active_var, + I active_vard, + I iRec, + I myOptimIter, + I myThid, + I dummy, + I dummyd + & ) + +C *==========================================================* +C | SUBROUTINE ACTIVE_WRITE_XYZ_D +C | o Forward differentiation of ACTIVE_WRITE_XYZ. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C == global variables == +#include "SIZE.h" + +C !INPUT/OUTPUT PARAMETERS: +C active_var_file:: filename +C active_var :: array +C active_vard :: forward derivative of active_var +C iRec :: record number +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: thread number for this instance + CHARACTER*(*) active_var_file + Real*8 active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + Real*8 active_vard(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + INTEGER iRec + INTEGER myOptimIter + INTEGER myThid + Real*8 dummy + Real*8 dummyd + +C !LOCAL VARIABLES: + CHARACTER*(2) pref + CHARACTER*(80) fname + INTEGER myNr + LOGICAL globalFile + LOGICAL useCurrentDir +CEOP + + pref = 'g_' + CALL ADD_PREFIX( pref, active_var_file, fname ) + myNr = Nr + globalFile = .FALSE. + useCurrentDir = .FALSE. + + call active_write_3d_rl( + & active_var_file, active_var, globalFile, + & useCurrentDir, iRec, myNr, + & 0, myOptimIter, myThid ) + + call active_write_3d_rl( + & fname, active_vard, globalFile, + & useCurrentDir, iRec, myNr, + & 2, myOptimIter, myThid ) + + RETURN + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_WRITE_XY_B +C !INTERFACE: + subroutine ACTIVE_WRITE_XY_B( + I active_var_file, + I active_var, + U active_varb, + I iRec, + I myOptimIter, + I myThid, + I dummy, + O dummyb + & ) + +C *==========================================================* +C | SUBROUTINE ACTIVE_WRITE_XY_B +C | o Reverse differentiation of ACTIVE_WRITE_XY. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C == global variables == +#include "SIZE.h" + +C !INPUT/OUTPUT PARAMETERS: +C active_var_file:: filename +C active_var :: array +C active_varb :: reverse derivative of active_var +C iRec :: record number +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: thread number for this instance + CHARACTER*(80) active_var_file + Real*8 active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + Real*8 active_varb(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + INTEGER iRec + INTEGER myOptimIter + INTEGER myThid + Real*8 dummy + Real*8 dummyb + +C !LOCAL VARIABLES: + CHARACTER*(2) adpref + CHARACTER*(80) fname + INTEGER myNr + LOGICAL globalFile + LOGICAL useCurrentDir +CEOP + adpref = 'ad' + CALL ADD_PREFIX( adpref, active_var_file, fname ) + myNr = 1 + globalFile = .FALSE. + useCurrentDir = .FALSE. + CALL ACTIVE_WRITE_3D_RL( + & fname, active_varb, globalFile, + & useCurrentDir, iRec, myNr, + & 1, myOptimIter, myThid ) + RETURN + END + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +CBOP +C !ROUTINE: ACTIVE_WRITE_XYZ_B +C !INTERFACE: + subroutine ACTIVE_WRITE_XYZ_B( + I active_var_file, + I active_var, + U active_varb, + I iRec, + I myOptimIter, + I myThid, + I dummy, + O dummyb + & ) + +C *==========================================================* +C | SUBROUTINE ACTIVE_WRITE_XYZ_B +C | o Reverse differentiation of ACTIVE_WRITE_XYZ. +C *==========================================================* +C | written by Shreyas Gaikwad, Laurent Hascoet in Nov 2022 +C *==========================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C == global variables == +#include "SIZE.h" + +C !INPUT/OUTPUT PARAMETERS: +C active_var_file:: filename +C active_var :: array +C active_varb :: reverse derivative of active_var +C iRec :: record number +C myOptimIter :: number of optimization iteration (default: 0) +C myThid :: thread number for this instance + CHARACTER*(80) active_var_file + Real*8 active_var(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + Real*8 active_varb(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + INTEGER iRec + INTEGER myOptimIter + INTEGER myThid + Real*8 dummy + Real*8 dummyb + +C !FUNCTIONS: + INTEGER ILNBLNK + EXTERNAL ILNBLNK + +C !LOCAL VARIABLES: + CHARACTER*(2) adpref + CHARACTER*(80) fname + INTEGER il + INTEGER myNr + LOGICAL globalFile + LOGICAL useCurrentDir +CEOP + adpref = 'ad' + CALL ADD_PREFIX( adpref, active_var_file, fname ) + myNr = Nr + globalFile = .FALSE. + useCurrentDir = .FALSE. + CALL ACTIVE_WRITE_3D_RL( + & fname, active_varb, globalFile, + & useCurrentDir, iRec, myNr, + & 1, myOptimIter, myThid ) + RETURN + END diff --git a/pkg/tapenade/dummy_tap.F b/pkg/tapenade/dummy_tap.F new file mode 100644 index 0000000000..5e34db5e6b --- /dev/null +++ b/pkg/tapenade/dummy_tap.F @@ -0,0 +1,37 @@ +#include "CPP_EEOPTIONS.h" + + SUBROUTINE DUMMY_IN_STEPPING_D( myTime, myIter, myThid ) + + IMPLICIT NONE + _RL myTime + INTEGER myIter + INTEGER myThid + RETURN + END + + SUBROUTINE DUMMY_IN_STEPPING_B( myTime, myIter, myThid ) + + IMPLICIT NONE + _RL myTime + INTEGER myIter + INTEGER myThid + RETURN + END + + SUBROUTINE DUMMY_FOR_ETAN_D(myTime, myTimed, myIter, myThid) + + IMPLICIT NONE + _RL myTime + _RL myTimed + INTEGER myIter + INTEGER myThid + END + + SUBROUTINE DUMMY_FOR_ETAN_B(myTime, myTimeb, myIter, myThid) + IMPLICIT NONE + _RL myTime + _RL myTimeb + INTEGER myIter + INTEGER myThid + END + diff --git a/pkg/tapenade/stubs_tap_adj.F b/pkg/tapenade/stubs_tap_adj.F new file mode 100644 index 0000000000..97d2b0e75a --- /dev/null +++ b/pkg/tapenade/stubs_tap_adj.F @@ -0,0 +1,116 @@ +#include "CPP_EEOPTIONS.h" + + SUBROUTINE GLOBAL_MAX_R8_B(rhsmax, rhsmaxb, myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "GLOBAL_MAX.h" + _RL rhsmax + _RL rhsmaxb + INTEGER myThid + + CALL GLOBAL_ADMAX_R8(rhsmaxb, myThid) + RETURN + END + + SUBROUTINE GLOBAL_SUM_TILE_RL_B(phiTile, phiTileb, + & sumPhi, sumPhib, myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "GLOBAL_SUM.h" + _RL phiTile(nSx,nSy) + _RL phiTileb(nSx,nSy) + _RL sumPhib + _RL sumPhi + INTEGER myThid + + CALL GLOBAL_ADSUM_TILE_RL(phiTileb, sumPhib, myThid) + END + +! Adjoint of global_sum_r8 for arguments Arg1=(in;out) + SUBROUTINE GLOBAL_SUM_R8_B(sumPhi, sumPhib, myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "GLOBAL_SUM.h" + _RL sumPhi + _RL sumPhib + INTEGER myThid + + CALL GLOBAL_ADSUM_R8(sumPhib, myThid) + END + + SUBROUTINE CG2D_B0(cg2d_b, cg2d_bb, cg2d_x, + & cg2d_xb, firstResidual, minResidualSq, + & lastResidual,numIters, nIterMin,myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "CG2D.h" + _RL cg2d_b(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL cg2d_bb(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL cg2d_x(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL cg2d_xb(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL firstResidual + _RL minResidualSq + _RL lastResidual + INTEGER numIters + INTEGER nIterMin + INTEGER myThid + +! [llh] we assume the downstream cg2d_b is passive, which helps us +! because it seems the input 2nd arg of cg2d() pollutes its output value: + cg2d_bb = 0.d0 + CALL CG2D(cg2d_xb, cg2d_bb, firstResidual, + + minResidualSq, lastResidual, numIters, + + nIterMin, myThid) +! [llh] the upstream cg2d_x is passive: + cg2d_xb = 0.d0 + END + + SUBROUTINE ADEXCH_3D_RL( adVar, Nr, myThid ) + IMPLICIT NONE + Real*8 adVar + INTEGER Nr + INTEGER myThid + WRITE(*,*) "Called not yet defined" + END + + SUBROUTINE ADEXCH_UV_XY_RS( adU, adV, bool, myThid ) + IMPLICIT NONE + Real*8 adU + Real*8 adV + LOGICAL bool + INTEGER myThid + WRITE(*,*) "Called not yet defined" + END + + SUBROUTINE ADEXCH_UV_3D_RL( aduVel,advVel, bool, Nr, myThid ) + IMPLICIT NONE + LOGICAL bool + Real*8 aduVel + Real*8 advVel + INTEGER Nr + INTEGER myThid + WRITE(*,*) "Called not yet defined" + END + + SUBROUTINE ADEXCH_XY_RS( adVar, myThid ) + IMPLICIT NONE + Real*8 adVar + INTEGER myThid + WRITE(*,*) "Called not yet defined" + END + + SUBROUTINE ADEXCH_XY_RL( adVar, myThid ) + IMPLICIT NONE + Real*8 adVar + INTEGER myThid + WRITE(*,*) "Called not yet defined" + END + diff --git a/pkg/tapenade/stubs_tap_tlm.F b/pkg/tapenade/stubs_tap_tlm.F new file mode 100644 index 0000000000..013a2f3da9 --- /dev/null +++ b/pkg/tapenade/stubs_tap_tlm.F @@ -0,0 +1,71 @@ +#include "CPP_EEOPTIONS.h" + + SUBROUTINE GLOBAL_SUM_TILE_RL_D(phiTile, phiTiled, + & sumPhi, sumPhid, myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "GLOBAL_SUM.h" + _RL phiTile(nSx,nSy) + _RL phiTiled(nSx,nSy) + _RL sumPhid + _RL sumPhi + INTEGER myThid + CALL GLOBAL_SUM_TILE_RL(phiTiled, sumPhid, myThid) + CALL GLOBAL_SUM_TILE_RL(phiTile, sumPhi, myThid) + END + + SUBROUTINE GLOBAL_SUM_R8_D(sumPhi, sumPhid, myThid) + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "EESUPPORT.h" +#include "GLOBAL_SUM.h" + _RL sumPhi + _RL sumPhid + INTEGER myThid + CALL GLOBAL_SUM_R8(sumPhid, myThid) + CALL GLOBAL_SUM_R8(sumPhi, myThid) + END + + SUBROUTINE CG2D_D(cg2d_b, cg2d_bd, cg2d_x, + & cg2d_xd, firstResidual, minResidualSq, + & lastResidual,numIters, nIterMin,myThid ) + IMPLICIT NONE +#include "SIZE.h" + _RL cg2d_b(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL cg2d_bd(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL cg2d_x(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL cg2d_xd(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy) + _RL firstResidual + _RL minResidualSq + _RL lastResidual + INTEGER numIters + INTEGER nIterMin + INTEGER myThid + INTEGER copyIt1, copyIt2 + + copyIt1 = numIters + copyIt2 = nIterMin +! [llh] it seems the input 2nd arg of cg2d() pollutes its output value: + cg2d_xd = 0.d0 + CALL CG2D(cg2d_bd, cg2d_xd, firstResidual, + & minResidualSq, lastResidual, numIters, + & nIterMin, myThid) +! [llh] we assume the downstream cg2d_b is passive: + cg2d_bd = 0.d0 + CALL CG2D(cg2d_b, cg2d_x, firstResidual, + & minResidualSq, lastResidual, copyIt1, + & copyIt2, myThid) + END + + SUBROUTINE GLOBAL_MAX_R8_D(rhsmax, rhsmaxd, myThid) + IMPLICIT NONE + _RL rhsmax + _RL rhsmaxd + INTEGER myThid + print *, "NOT IMPLEMENTED GLOBAL_MAX_R8_D yet." + RETURN + END + diff --git a/tools/TAP_support/ADFirstAidKit/OLDadBuffer.c b/tools/TAP_support/ADFirstAidKit/OLDadBuffer.c new file mode 100644 index 0000000000..4d1a8b63ef --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/OLDadBuffer.c @@ -0,0 +1,712 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include +#include +#include + +#include "OLDadStack.h" +#include "OLDadBuffer.h" + +/************ MEASUREMENT OF PUSH TRAFFIC *************/ + +static long int bufferTraffic = 0 ; + +void addBufferTraffic(int n) { + bufferTraffic += n ; +} + +void adStack_showTraffic() { + showTotalTraffic(bufferTraffic) ; +} + +/************************** integer*4 ************************/ +/* The buffer array for I4. Suggested size 512 */ +#define I4BUFSIZE 512 +static int adi4buf[I4BUFSIZE] ; +static int adi4ibuf = 0 ; + +void pushInteger4(int x) { + addBufferTraffic(4) ; + adi4buf[adi4ibuf] = x ; + if (adi4ibuf>=I4BUFSIZE-1) { + pushNArray((char *)adi4buf, I4BUFSIZE*4, 1) ; + addBufferTraffic(-I4BUFSIZE*4) ; + adi4ibuf = 0 ; + } else + ++adi4ibuf ; +} + +void popInteger4(int *x) { + if (adi4ibuf<=0) { + popNArray((char *)adi4buf, I4BUFSIZE*4, 1) ; + adi4ibuf = I4BUFSIZE-1 ; + } else + --adi4ibuf ; + *x = adi4buf[adi4ibuf] ; +} + +/************************** integer*8 ************************/ +/* The buffer array for I8. Suggested size 512 */ +#define I8BUFSIZE 512 +static long adi8buf[I8BUFSIZE] ; +static int adi8ibuf = 0 ; + +void pushInteger8(long x) { + addBufferTraffic(8) ; + adi8buf[adi8ibuf] = x ; + if (adi8ibuf>=I8BUFSIZE-1) { + pushNArray((char *)adi8buf, I8BUFSIZE*8, 1) ; + addBufferTraffic(-I8BUFSIZE*8) ; + adi8ibuf = 0 ; + } else + ++adi8ibuf ; +} + +void popInteger8(long *x) { + if (adi8ibuf<=0) { + popNArray((char *)adi8buf, I8BUFSIZE*8, 1) ; + adi8ibuf = I8BUFSIZE-1 ; + } else + --adi8ibuf ; + *x = adi8buf[adi8ibuf] ; +} + +/************************** real*4 ************************/ +// The buffer array for R4. Suggested size 512 +#define R4BUFSIZE 512 +static float adr4buf[R4BUFSIZE] ; +static int adr4ibuf = 0 ; + +void pushReal4(float x) { + addBufferTraffic(4) ; + adr4buf[adr4ibuf] = x ; + if (adr4ibuf>=R4BUFSIZE-1) { + pushNArray((char *)adr4buf, R4BUFSIZE*4, 1) ; + addBufferTraffic(-R4BUFSIZE*4) ; + adr4ibuf = 0 ; + } else + ++adr4ibuf ; +} + +void popReal4(float *x) { + if (adr4ibuf<=0) { + popNArray((char *)adr4buf, R4BUFSIZE*4, 1) ; + adr4ibuf = R4BUFSIZE-1 ; + } else + --adr4ibuf ; + *x = adr4buf[adr4ibuf] ; +} + +/************************** real*8 ************************/ +// The buffer array for r8. Suggested size 512 +#define R8BUFSIZE 512 +static double adr8buf[R8BUFSIZE] ; +static int adr8ibuf = 0 ; + +void pushReal8(double x) { + addBufferTraffic(8) ; + adr8buf[adr8ibuf] = x ; + if (adr8ibuf>=R8BUFSIZE-1) { + pushNArray((char *)adr8buf, R8BUFSIZE*8, 1) ; + addBufferTraffic(-R8BUFSIZE*8) ; + adr8ibuf = 0 ; + } else + ++adr8ibuf ; +} + +void popReal8(double *x) { + if (adr8ibuf<=0) { + popNArray((char *)adr8buf, R8BUFSIZE*8, 1) ; + adr8ibuf = R8BUFSIZE-1 ; + } else + --adr8ibuf ; + *x = adr8buf[adr8ibuf] ; +} + +/************************** complex*8 ************************/ +// The buffer array for C8. Suggested size 512 +#define C8BUFSIZE 512 +static ccmplx adc8buf[C8BUFSIZE] ; +static int adc8ibuf = 0 ; + +void pushComplex8(ccmplx x) { + addBufferTraffic(8) ; + adc8buf[adc8ibuf] = x ; + if (adc8ibuf>=C8BUFSIZE-1) { + pushNArray((char *)adc8buf, C8BUFSIZE*8, 1) ; + addBufferTraffic(-C8BUFSIZE*8) ; + adc8ibuf = 0 ; + } else + ++adc8ibuf ; +} + +void popComplex8(ccmplx *x) { + if (adc8ibuf<=0) { + popNArray((char *)adc8buf, C8BUFSIZE*8, 1) ; + adc8ibuf = C8BUFSIZE-1 ; + } else + --adc8ibuf ; + *x = adc8buf[adc8ibuf] ; +} + +/************************** complex*16 ************************/ +// The buffer array for C16. Suggested size 512 +#define C16BUFSIZE 512 +static cdcmplx adc16buf[C16BUFSIZE] ; +static int adc16ibuf = 0 ; + +void pushComplex16(cdcmplx x) { + addBufferTraffic(16) ; + adc16buf[adc16ibuf] = x ; + if (adc16ibuf>=C16BUFSIZE-1) { + pushNArray((char *)adc16buf, C16BUFSIZE*16, 1) ; + addBufferTraffic(-C16BUFSIZE*16) ; + adc16ibuf = 0 ; + } else + ++adc16ibuf ; +} + +void popComplex16(cdcmplx *x) { + if (adc16ibuf<=0) { + popNArray((char *)adc16buf, C16BUFSIZE*16, 1) ; + adc16ibuf = C16BUFSIZE-1 ; + } else + --adc16ibuf ; + *x = adc16buf[adc16ibuf] ; +} + +/************************** character ************************/ +// The buffer array for characters. Suggested size 512 +#define CHARBUFSIZE 512 +static char ads1buf[CHARBUFSIZE] ; +static int ads1ibuf = 0 ; + +void pushCharacter(char x) { + addBufferTraffic(1) ; + ads1buf[ads1ibuf] = x ; + if (ads1ibuf>=CHARBUFSIZE-1) { + pushNArray((char *)ads1buf, CHARBUFSIZE, 1) ; + addBufferTraffic(-CHARBUFSIZE) ; + ads1ibuf = 0 ; + } else + ++ads1ibuf ; +} + +void popCharacter(char *x) { + if (ads1ibuf<=0) { + popNArray((char *)ads1buf, CHARBUFSIZE, 1) ; + ads1ibuf = CHARBUFSIZE-1 ; + } else + --ads1ibuf ; + *x = ads1buf[ads1ibuf] ; +} + +/******************* bit (hidden primitives) ***************/ +static unsigned int adbitbuf = 0 ; +static int adbitibuf = 0 ; + +void pushBit(int x) { + adbitbuf<<=1 ; + if (x) ++adbitbuf ; + if (adbitibuf>=31) { + pushNArray((char *)&adbitbuf, 4, 1) ; + adbitbuf = 0 ; + adbitibuf = 0 ; + } else + ++adbitibuf ; +} + +int popBit() { + if (adbitibuf<=0) { + popNArray((char *)&adbitbuf, 4, 1) ; + adbitibuf = 31 ; + } else + --adbitibuf ; + int result = adbitbuf%2 ; + adbitbuf>>=1 ; + return result ; +} + +/*************************** boolean *************************/ + +void pushBoolean(int x) { + pushBit(x) ; +} + +void popBoolean(int *x) { + *x = popBit() ; +} + +/************************* control ***********************/ + +void pushControl1b(int cc) { + pushBit(cc) ; +} + +void popControl1b(int *cc) { + *cc = popBit() ; +} + +void pushControl2b(int cc) { + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl2b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; +} + +void pushControl3b(int cc) { + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl3b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; +} + +void pushControl4b(int cc) { + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl4b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; +} + +void pushControl5b(int cc) { + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl5b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; +} + +void pushControl6b(int cc) { + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl6b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; +} + +void pushControl7b(int cc) { + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl7b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; +} + +void pushControl8b(int cc) { + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl8b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; +} + +/************************* pointer ************************/ +// The buffer array for pointers. Suggested size PTRBUFSIZE 512 +// Depending on the system, these use 4 or 8 bytes, +// but they are all 4 or all 8, never a mixture of both. +#define PTRBUFSIZE 512 +static void * adptrbuf[PTRBUFSIZE] ; +static int adptribuf = 0 ; + +void pushPointer4(void *x) { + addBufferTraffic(4) ; + adptrbuf[adptribuf] = x ; + if (adptribuf>=PTRBUFSIZE-1) { + pushNArray((char *)adptrbuf, PTRBUFSIZE*4, 1) ; + addBufferTraffic(-PTRBUFSIZE*4) ; + adptribuf = 0 ; + } else + ++adptribuf ; +} + +void popPointer4(void **x) { + if (adptribuf<=0) { + popNArray((char *)adptrbuf, PTRBUFSIZE*4, 1) ; + adptribuf = PTRBUFSIZE-1 ; + } else + --adptribuf ; + *x = adptrbuf[adptribuf] ; +} + +void pushPointer8(void *x) { + addBufferTraffic(8) ; + adptrbuf[adptribuf] = x ; + if (adptribuf>=PTRBUFSIZE-1) { + pushNArray((char *)adptrbuf, PTRBUFSIZE*8, 1) ; + addBufferTraffic(-PTRBUFSIZE*8) ; + adptribuf = 0 ; + } else + ++adptribuf ; +} + +void popPointer8(void **x) { + if (adptribuf<=0) { + popNArray((char *)adptrbuf, PTRBUFSIZE*8, 1) ; + adptribuf = PTRBUFSIZE-1 ; + } else + --adptribuf ; + *x = adptrbuf[adptribuf] ; +} + +/********************************************************** + * HOW TO CREATE PUSH* POP* SUBROUTINES + * YET FOR OTHER DATA TYPES + * Duplicate and uncomment the commented code below. + * In the duplicated and uncommented code, replace: + * ctct -> C type name (e.g. float double, int...) + * tttt -> BASIC TAPENADE TYPE NAME + * (in character, boolean, integer, real, complex, pointer,...) + * z7 -> LETTERSIZE FOR TYPE + * (LETTER in s, b, i, r, c, p, ...) (SIZE is type size in bytes) + * 7 -> TYPE SIZE IN BYTES + **********************************************************/ + +/************************** tttt*7 ************************/ +/* +// The buffer array for Z7. Suggested size 512 +#define Z7BUFSIZE 512 +static ctct adz7buf[Z7BUFSIZE] ; +static ctct adz7ibuf = 0 ; + +void pushTttt7(ctct x) { + addBufferTraffic(7) ; + adz7buf[adz7ibuf] = x ; + if (adz7ibuf>=Z7BUFSIZE-1) { + pushNArray((char *)adz7buf, Z7BUFSIZE*7, 1) ; + addBufferTraffic(-Z7BUFSIZE*7) ; + adz7ibuf = 0 ; + } else + ++adz7ibuf ; +} + +void popTttt7(ctct *x) { + if (adz7ibuf <= 0) { + popNArray((char *)adz7buf, Z7BUFSIZE*7, 1) ; + adz7ibuf = Z7BUFSIZE-1 ; + } else + --adz7ibuf ; + *x = adz7buf[adz7ibuf] ; +} + +void pushTttt7Array(ctct *x, int n) { + pushNArray((char *)x,(unsigned int)(n*7), 1) ; +} + +void popTttt7Array(ctct *x, int n) { + popNArray((char *)x,(unsigned int)(n*7), 1) ; +} +*/ + +/*************** REPEATED ACCESS MECHANISM *********************/ + +typedef struct _BufferRepeatCell { + int indexi4 ; + int indexi8 ; + int indexr4 ; + int indexr8 ; + int indexc8 ; + int indexc16 ; + int indexs1 ; + int indexbit ; + int indexptr ; + struct _BufferRepeatCell *previous ; +} BufferRepeatCell ; + +BufferRepeatCell *bufferRepeatTop = NULL ; + +void adStack_startRepeat() { + // Create (push) a new "buffers" repeat level: + BufferRepeatCell *newRepeatCell = (BufferRepeatCell *)malloc(sizeof(BufferRepeatCell)) ; + newRepeatCell->previous = bufferRepeatTop ; + // Also create (push) a new repeat level for the main stack: + startStackRepeat1() ; + // Push all local buffers on the main stack + // 3rd arg is 0 to deactivate the check for stack read-only zone: + pushNArray((char *)adi4buf, adi4ibuf*4, 0) ; + pushNArray((char *)adi8buf, adi8ibuf*8, 0) ; + pushNArray((char *)adr4buf, adr4ibuf*4, 0) ; + pushNArray((char *)adr8buf, adr8ibuf*8, 0) ; + pushNArray((char *)adc8buf, adc8ibuf*sizeof(ccmplx), 0) ; + pushNArray((char *)adc16buf, adc16ibuf*sizeof(cdcmplx), 0) ; + pushNArray((char *)ads1buf, ads1ibuf, 0) ; + pushNArray((char *)&adbitbuf, 4, 0) ; + pushNArray((char *)adptrbuf, adptribuf*sizeof(void *), 0) ; + newRepeatCell->indexi4 = adi4ibuf ; + newRepeatCell->indexi8 = adi8ibuf ; + newRepeatCell->indexr4 = adr4ibuf ; + newRepeatCell->indexr8 = adr8ibuf ; + newRepeatCell->indexc8 = adc8ibuf ; + newRepeatCell->indexc16 = adc16ibuf ; + newRepeatCell->indexs1 = ads1ibuf ; + newRepeatCell->indexbit = adbitibuf ; + newRepeatCell->indexptr = adptribuf ; + // Store current location as repeat location of new repeat level. + // Note that this repeat location protects below as read-only. + // Make the new repeat level the current repeat level for the main stack: + startStackRepeat2() ; + // Make this new repeat level the current repeat level: + bufferRepeatTop = newRepeatCell ; +} + +// Note: adStack_resetrepeat() forces exit from any internal +// checkpointed sequence, i.e. all nested push'es are forced popped. +void adStack_resetRepeat() { + // First stage of reset repeat for the main stack: + resetStackRepeat1() ; + // Restore all local buffers: + adi4ibuf = bufferRepeatTop->indexi4 ; + adi8ibuf = bufferRepeatTop->indexi8 ; + adr4ibuf = bufferRepeatTop->indexr4 ; + adr8ibuf = bufferRepeatTop->indexr8 ; + adc8ibuf = bufferRepeatTop->indexc8 ; + adc16ibuf = bufferRepeatTop->indexc16 ; + ads1ibuf = bufferRepeatTop->indexs1 ; + adbitibuf = bufferRepeatTop->indexbit ; + adptribuf = bufferRepeatTop->indexptr ; + // 3rd arg is 0 to deactivate the check for stack read-only zone: + popNArray((char *)adptrbuf, adptribuf*sizeof(void *), 0) ; + popNArray((char *)&adbitbuf, 4, 0) ; + popNArray((char *)ads1buf, ads1ibuf, 0) ; + popNArray((char *)adc16buf, adc16ibuf*sizeof(cdcmplx), 0) ; + popNArray((char *)adc8buf, adc8ibuf*sizeof(ccmplx), 0) ; + popNArray((char *)adr8buf, adr8ibuf*8, 0) ; + popNArray((char *)adr4buf, adr4ibuf*4, 0) ; + popNArray((char *)adi8buf, adi8ibuf*8, 0) ; + popNArray((char *)adi4buf, adi4ibuf*4, 0) ; + // Second stage of reset repeat for the main stack: + resetStackRepeat2() ; +} + +// Note: adStack_endrepeat() forces exit from any internal +// checkpointed sequence, i.e. all nested push'es are forced popped. +void adStack_endRepeat() { + // Remove (pop) top repeat level for the main stack: + endStackRepeat() ; + // Remove (pop) top "buffer" repeat level: + BufferRepeatCell *oldRepeatCell = bufferRepeatTop ; + bufferRepeatTop = bufferRepeatTop->previous ; + free(oldRepeatCell) ; +} + +void showBufferRepeatsRec(BufferRepeatCell *inRepeatStack, int type) { + if (inRepeatStack->previous) {showBufferRepeatsRec(inRepeatStack->previous, type) ; printf(" ; ") ;} + switch (type) { + case 1: + printf("%1i", inRepeatStack->indexi4) ; + break ; + case 2: + printf("%1i", inRepeatStack->indexi8) ; + break ; + case 3: + printf("%1i", inRepeatStack->indexr4) ; + break ; + case 4: + printf("%1i", inRepeatStack->indexr8) ; + break ; + case 5: + printf("%1i", inRepeatStack->indexc8) ; + break ; + case 6: + printf("%1i", inRepeatStack->indexc16) ; + break ; + case 7: + printf("%1i", inRepeatStack->indexs1) ; + break ; + case 8: + printf("%1i", inRepeatStack->indexbit) ; + break ; + case 9: + printf("%1i", inRepeatStack->indexptr) ; + break ; + } +} + +void showBufferRepeats(BufferRepeatCell *inRepeatStack, int type) { + printf(" REPEATS:") ; + if (inRepeatStack) + showBufferRepeatsRec(inRepeatStack, type) ; + else + printf(" none!") ; +} + +void showStackAndBuffers(char *locationName) { + int i ; + printf("%6s: ", locationName) ; + showStack() ; + printf(" I4:") ; + for (i=0 ; i BASIC TAPENADE TYPE NAME +C (in character, boolean, integer, real, complex, pointer,...) +C z7 -> LETTERSIZE FOR TYPE +C (LETTER in s, b, i, r, c, p, ...) (SIZE is type size in bytes) +C 7 -> TYPE SIZE IN BYTES +C *********************************************************/ + +C ************************* TTTT*7 ************************ +c BLOCK DATA TTTTS7 +c TTTT*7 adz7buf(512) +c INTEGER adz7ibuf +c COMMON /adz7fbuf/adz7buf,adz7ibuf +c DATA adz7ibuf/1/ +c END +c +c SUBROUTINE PUSHTTTT7(x) +c TTTT*7 x, adz7buf(512) +c INTEGER adz7ibuf +c COMMON /adz7fbuf/adz7buf,adz7ibuf +c CALL addftraffic(7) +c adz7buf(adz7ibuf) = x +c IF (adz7ibuf.eq.512) THEN +c CALL PUSHTTTT7ARRAY(adz7buf, 512) +c CALL addftraffic(-7*512) +c adz7ibuf = 1 +c ELSE +c adz7ibuf = adz7ibuf+1 +c ENDIF +c END +c +c SUBROUTINE POPTTTT7(x) +c TTTT*7 x, adz7buf(512) +c INTEGER adz7ibuf +c COMMON /adz7fbuf/adz7buf,adz7ibuf +c IF (adz7ibuf.le.1) THEN +c CALL POPTTTT7ARRAY(adz7buf, 512) +c adz7ibuf = 512 +c ELSE +c adz7ibuf = adz7ibuf-1 +c ENDIF +c x = adz7buf(adz7ibuf) +c END + +C *************** REPEATED ACCESS MECHANISM ********************* +C 5 nested repeat levels should be more than enough!! + BLOCK DATA BUFFERREPEAT + INTEGER nbbufrepeat + INTEGER indexi4repeats(5) + INTEGER indexi8repeats(5) + INTEGER indexr4repeats(5) + INTEGER indexr8repeats(5) + INTEGER indexc8repeats(5) + INTEGER indexc16repeats(5) + INTEGER indexs1repeats(5) + INTEGER indexbitrepeats(5) + INTEGER indexptrrepeats(5) + COMMON /allbufferrepeats/indexi4repeats, indexi8repeats, + + indexr4repeats, indexr8repeats, indexc8repeats, + + indexc16repeats, indexs1repeats, indexbitrepeats, + + indexptrrepeats, nbbufrepeat + DATA nbbufrepeat/0/ + END + + SUBROUTINE ADSTACK_STARTREPEAT() + INTEGER nbbufrepeat + INTEGER indexi4repeats(5) + INTEGER indexi8repeats(5) + INTEGER indexr4repeats(5) + INTEGER indexr8repeats(5) + INTEGER indexc8repeats(5) + INTEGER indexc16repeats(5) + INTEGER indexs1repeats(5) + INTEGER indexbitrepeats(5) + INTEGER indexptrrepeats(5) + COMMON /allbufferrepeats/indexi4repeats, indexi8repeats, + + indexr4repeats, indexr8repeats, indexc8repeats, + + indexc16repeats, indexs1repeats, indexbitrepeats, + + indexptrrepeats, nbbufrepeat + INTEGER*4 adi4buf(512) + INTEGER adi4ibuf + COMMON /adi4fbuf/adi4buf,adi4ibuf + INTEGER*8 adi8buf(512) + INTEGER adi8ibuf + COMMON /adi8fbuf/adi8buf,adi8ibuf + REAL*4 adr4buf(512) + INTEGER adr4ibuf + COMMON /adr4fbuf/adr4buf,adr4ibuf + REAL*8 adr8buf(512) + INTEGER adr8ibuf + COMMON /adr8fbuf/adr8buf,adr8ibuf + COMPLEX*8 adc8buf(512) + INTEGER adc8ibuf + COMMON /adc8fbuf/adc8buf,adc8ibuf + COMPLEX*16 adc16buf(512) + INTEGER adc16ibuf + COMMON /adc16fbuf/adc16buf,adc16ibuf + CHARACTER ads1buf(512) + INTEGER ads1ibuf + COMMON /ads1fbuf/ads1buf,ads1ibuf + INTEGER*4 adbitbuf + INTEGER adbitibuf + COMMON /adbitfbuf/adbitbuf, adbitibuf +c Create a new "buffers" repeat level: + nbbufrepeat = nbbufrepeat+1 +c Also create a new repeat level for the main stack: + CALL STARTSTACKREPEAT1() +c Push all local buffers on the main stack. +c 3rd arg is 0 to deactivate the check for stack read-only zone: + if (adi4ibuf.gt.1) CALL PUSHNARRAY(adi4buf, 4*(adi4ibuf-1), 0) + if (adi8ibuf.gt.1) CALL PUSHNARRAY(adi8buf, 8*(adi8ibuf-1), 0) + if (adr4ibuf.gt.1) CALL PUSHNARRAY(adr4buf, 4*(adr4ibuf-1), 0) + if (adr8ibuf.gt.1) CALL PUSHNARRAY(adr8buf, 8*(adr8ibuf-1), 0) + if (adc8ibuf.gt.1) CALL PUSHNARRAY(adc8buf, 8*(adc8ibuf-1), 0) + if (adc16ibuf.gt.1)CALL PUSHNARRAY(adc16buf,16*(adc16ibuf-1),0) + if (ads1ibuf.gt.1) CALL PUSHNARRAY(ads1buf, ads1ibuf-1, 0) + CALL PUSHNARRAY(adbitbuf, 4, 0) +c if (adptribuf.gt.1) CALL PUSHNARRAY(adptrbuf, 8*(adptribuf-1), 0) + indexi4repeats(nbbufrepeat) = adi4ibuf + indexi8repeats(nbbufrepeat) = adi8ibuf + indexr4repeats(nbbufrepeat) = adr4ibuf + indexr8repeats(nbbufrepeat) = adr8ibuf + indexc8repeats(nbbufrepeat) = adc8ibuf + indexc16repeats(nbbufrepeat) = adc16ibuf + indexs1repeats(nbbufrepeat) = ads1ibuf + indexbitrepeats(nbbufrepeat) = adbitibuf +c indexptrrepeats(nbbufrepeat) = adptribuf +c Store current location as repeat location of new repeat level. +c Note that this repeat location protects below as read-only. +c Make the new repeat level the current repeat level for the main stack: + CALL STARTSTACKREPEAT2() + END + +c Note: ADSTACK_RESETREPEAT() forces exit from any internal checkpointed sequence, +c i.e. all nested push'es are forced popped. + SUBROUTINE ADSTACK_RESETREPEAT() + INTEGER nbbufrepeat + INTEGER indexi4repeats(5) + INTEGER indexi8repeats(5) + INTEGER indexr4repeats(5) + INTEGER indexr8repeats(5) + INTEGER indexc8repeats(5) + INTEGER indexc16repeats(5) + INTEGER indexs1repeats(5) + INTEGER indexbitrepeats(5) + INTEGER indexptrrepeats(5) + COMMON /allbufferrepeats/indexi4repeats, indexi8repeats, + + indexr4repeats, indexr8repeats, indexc8repeats, + + indexc16repeats, indexs1repeats, indexbitrepeats, + + indexptrrepeats, nbbufrepeat + INTEGER*4 adi4buf(512) + INTEGER adi4ibuf + COMMON /adi4fbuf/adi4buf,adi4ibuf + INTEGER*8 adi8buf(512) + INTEGER adi8ibuf + COMMON /adi8fbuf/adi8buf,adi8ibuf + REAL*4 adr4buf(512) + INTEGER adr4ibuf + COMMON /adr4fbuf/adr4buf,adr4ibuf + REAL*8 adr8buf(512) + INTEGER adr8ibuf + COMMON /adr8fbuf/adr8buf,adr8ibuf + COMPLEX*8 adc8buf(512) + INTEGER adc8ibuf + COMMON /adc8fbuf/adc8buf,adc8ibuf + COMPLEX*16 adc16buf(512) + INTEGER adc16ibuf + COMMON /adc16fbuf/adc16buf,adc16ibuf + CHARACTER ads1buf(512) + INTEGER ads1ibuf + COMMON /ads1fbuf/ads1buf,ads1ibuf + INTEGER*4 adbitbuf + INTEGER adbitibuf + COMMON /adbitfbuf/adbitbuf, adbitibuf +c First stage of reset repeat for the main stack: + CALL RESETSTACKREPEAT1() +c Restore all local buffers: + adi4ibuf = indexi4repeats(nbbufrepeat) + adi8ibuf = indexi8repeats(nbbufrepeat) + adr4ibuf = indexr4repeats(nbbufrepeat) + adr8ibuf = indexr8repeats(nbbufrepeat) + adc8ibuf = indexc8repeats(nbbufrepeat) + adc16ibuf = indexc16repeats(nbbufrepeat) + ads1ibuf = indexs1repeats(nbbufrepeat) + adbitibuf = indexbitrepeats(nbbufrepeat) +c adptribuf = indexptrrepeats(nbbufrepeat) +c if (adptribuf.gt.1) CALL POPNARRAY(adptrbuf, 8*(adptribuf-1),0) + CALL POPNARRAY(adbitbuf, 4, 0) +c 3rd arg is 0 to deactivate the check for stack read-only zone: + if (ads1ibuf.gt.1) CALL POPNARRAY(ads1buf, ads1ibuf-1, 0) + if (adc16ibuf.gt.1)CALL POPNARRAY(adc16buf,16*(adc16ibuf-1),0) + if (adc8ibuf.gt.1) CALL POPNARRAY(adc8buf, 8*(adc8ibuf-1), 0) + if (adr8ibuf.gt.1) CALL POPNARRAY(adr8buf, 8*(adr8ibuf-1), 0) + if (adr4ibuf.gt.1) CALL POPNARRAY(adr4buf, 4*(adr4ibuf-1), 0) + if (adi8ibuf.gt.1) CALL POPNARRAY(adi8buf, 8*(adi8ibuf-1), 0) + if (adi4ibuf.gt.1) CALL POPNARRAY(adi4buf, 4*(adi4ibuf-1), 0) +c Second stage of reset repeat for the main stack: + CALL RESETSTACKREPEAT2() + END + +c Note: ADSTACK_ENDREPEAT() forces exit from any internal checkpointed sequence, +c i.e. all nested push'es are forced popped. + SUBROUTINE ADSTACK_ENDREPEAT() + INTEGER nbbufrepeat + INTEGER indexi4repeats(5) + INTEGER indexi8repeats(5) + INTEGER indexr4repeats(5) + INTEGER indexr8repeats(5) + INTEGER indexc8repeats(5) + INTEGER indexc16repeats(5) + INTEGER indexs1repeats(5) + INTEGER indexbitrepeats(5) + INTEGER indexptrrepeats(5) + COMMON /allbufferrepeats/indexi4repeats, indexi8repeats, + + indexr4repeats, indexr8repeats, indexc8repeats, + + indexc16repeats, indexs1repeats, indexbitrepeats, + + indexptrrepeats, nbbufrepeat +c End repeat for the main stack: + CALL ENDSTACKREPEAT() ; +c Remove top repeat level: + nbbufrepeat = nbbufrepeat-1 + END + + SUBROUTINE SHOWI4BUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + INTEGER*4 xbuf(512) + INTEGER xibuf, xrepeats(5), nbbufrepeat + CHARACTER(len=3) seps(513) + INTEGER i + DO i=1,513 + seps(i) = '' + ENDDO + seps(xibuf) = ' |' + WRITE (6,991) (seps(i),xbuf(i),i=1,512), + + (xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' I4:',512(a2,i10.1),' REPEATS:',5i3) + END + + SUBROUTINE SHOWI8BUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + INTEGER*8 xbuf(512) + INTEGER xibuf, xrepeats(5), nbbufrepeat + CHARACTER(len=3) seps(513) + INTEGER i + DO i=1,513 + seps(i) = '' + ENDDO + seps(xibuf) = ' |' + WRITE (6,991) (seps(i),xbuf(i),i=1,512), + + (xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' I8:',512(a2,i20.1),' REPEATS:',5i3) + END + + SUBROUTINE SHOWR4BUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + REAL*4 xbuf(512) + INTEGER xibuf, xrepeats(5), nbbufrepeat + CHARACTER(len=3) seps(513) + INTEGER i + DO i=1,513 + seps(i) = '' + ENDDO + seps(xibuf) = ' |' + WRITE (6,991) (seps(i),xbuf(i),i=1,512), + + (xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' R4:',512(a2,e12.5),' REPEATS:',5i3) + END + + SUBROUTINE SHOWR8BUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + REAL*8 xbuf(512) + INTEGER xibuf, xrepeats(5), nbbufrepeat + CHARACTER(len=3) seps(513) + INTEGER i + DO i=1,513 + seps(i) = '' + ENDDO + seps(xibuf) = ' |' + WRITE (6,991) (seps(i),xbuf(i),i=1,512), + + (xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' R8:',512(a2,d12.5),' REPEATS:',5i3) + END + + SUBROUTINE SHOWC8BUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + COMPLEX*8 xbuf(512) + INTEGER xibuf, xrepeats(5), nbbufrepeat + CHARACTER(len=3) seps(513) + INTEGER i + DO i=1,513 + seps(i) = '' + ENDDO + seps(xibuf) = ' |' + WRITE (6,991) (seps(i),xbuf(i),i=1,512), + + (xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' C8:',512(a2,'(',e12.5,' i',e12.5,')'), + + ' REPEATS:',5i3) + END + + SUBROUTINE SHOWC16BUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + COMPLEX*16 xbuf(512) + INTEGER xibuf, xrepeats(5), nbbufrepeat + CHARACTER(len=3) seps(513) + INTEGER i + DO i=1,513 + seps(i) = '' + ENDDO + seps(xibuf) = ' |' + WRITE (6,991) (seps(i),xbuf(i),i=1,512), + + (xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' C16:',512(a2,'(',d12.5,' i',d12.5,')'), + + ' REPEATS:',5i3) + END + + SUBROUTINE SHOWS1BUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + CHARACTER xbuf(512) + INTEGER xibuf, xrepeats(5), nbbufrepeat + CHARACTER(len=3) seps(513) + INTEGER i + DO i=1,513 + seps(i) = '' + ENDDO + seps(xibuf) = ' |' + WRITE (6,991) (seps(i),xbuf(i),i=1,512), + + (xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' STR:',512(a2,a1), + + ' REPEATS:',5i3) + END + + SUBROUTINE SHOWBITBUFFERANDREPEATS(xbuf,xibuf, + + xrepeats,nbbufrepeat) + INTEGER*4 xbuf + INTEGER xibuf, xrepeats(5), nbbufrepeat,i + WRITE (6,991) xibuf,xbuf,(xrepeats(i),i=1,nbbufrepeat) + 991 FORMAT(' BITS:',i2,' in ',z8,' REPEATS:',5i3) + END + + SUBROUTINE SHOWSTACKANDBUFFERS(locationName) + CHARACTER(*) locationName + INTEGER nbbufrepeat + INTEGER indexi4repeats(5) + INTEGER indexi8repeats(5) + INTEGER indexr4repeats(5) + INTEGER indexr8repeats(5) + INTEGER indexc8repeats(5) + INTEGER indexc16repeats(5) + INTEGER indexs1repeats(5) + INTEGER indexbitrepeats(5) + INTEGER indexptrrepeats(5) + COMMON /allbufferrepeats/indexi4repeats, indexi8repeats, + + indexr4repeats, indexr8repeats, indexc8repeats, + + indexc16repeats, indexs1repeats, indexbitrepeats, + + indexptrrepeats, nbbufrepeat + INTEGER*4 adi4buf(512) + INTEGER adi4ibuf + COMMON /adi4fbuf/adi4buf,adi4ibuf + INTEGER*8 adi8buf(512) + INTEGER adi8ibuf + COMMON /adi8fbuf/adi8buf,adi8ibuf + REAL*4 adr4buf(512) + INTEGER adr4ibuf + COMMON /adr4fbuf/adr4buf,adr4ibuf + REAL*8 adr8buf(512) + INTEGER adr8ibuf + COMMON /adr8fbuf/adr8buf,adr8ibuf + COMPLEX*8 adc8buf(512) + INTEGER adc8ibuf + COMMON /adc8fbuf/adc8buf,adc8ibuf + COMPLEX*16 adc16buf(512) + INTEGER adc16ibuf + COMMON /adc16fbuf/adc16buf,adc16ibuf + CHARACTER ads1buf(512) + INTEGER ads1ibuf + COMMON /ads1fbuf/ads1buf,ads1ibuf + INTEGER*4 adbitbuf + INTEGER adbitibuf + COMMON /adbitfbuf/adbitbuf, adbitibuf + print *,locationName + CALL SHOWSTACK() + CALL SHOWI4BUFFERANDREPEATS(adi4buf,adi4ibuf, + + indexi4repeats,nbbufrepeat) + CALL SHOWI8BUFFERANDREPEATS(adi8buf,adi8ibuf, + + indexi8repeats,nbbufrepeat) + CALL SHOWR4BUFFERANDREPEATS(adr4buf,adr4ibuf, + + indexr4repeats,nbbufrepeat) + CALL SHOWR8BUFFERANDREPEATS(adr8buf,adr8ibuf, + + indexr8repeats,nbbufrepeat) + CALL SHOWC8BUFFERANDREPEATS(adc8buf,adc8ibuf, + + indexc8repeats,nbbufrepeat) + CALL SHOWC16BUFFERANDREPEATS(adc16buf,adc16ibuf, + + indexc16repeats,nbbufrepeat) + CALL SHOWS1BUFFERANDREPEATS(ads1buf,ads1ibuf, + + indexs1repeats,nbbufrepeat) + CALL SHOWBITBUFFERANDREPEATS(adbitbuf,adbitibuf, + + indexbitrepeats,nbbufrepeat) +c No pointer buffer so far... + END + + SUBROUTINE SHOWSTACKANDBUFFERSSIZE(pos) + INTEGER*4 pos + INTEGER*4 adi4buf(512) + INTEGER adi4ibuf + COMMON /adi4fbuf/adi4buf,adi4ibuf + INTEGER*8 adi8buf(512) + INTEGER adi8ibuf + COMMON /adi8fbuf/adi8buf,adi8ibuf + REAL*4 adr4buf(512) + INTEGER adr4ibuf + COMMON /adr4fbuf/adr4buf,adr4ibuf + REAL*8 adr8buf(512) + INTEGER adr8ibuf + COMMON /adr8fbuf/adr8buf,adr8ibuf + COMPLEX*8 adc8buf(512) + INTEGER adc8ibuf + COMMON /adc8fbuf/adc8buf,adc8ibuf + COMPLEX*16 adc16buf(512) + INTEGER adc16ibuf + COMMON /adc16fbuf/adc16buf,adc16ibuf + CHARACTER ads1buf(512) + INTEGER ads1ibuf + COMMON /ads1fbuf/ads1buf,ads1ibuf + INTEGER*4 adbitbuf + INTEGER adbitibuf + COMMON /adbitfbuf/adbitbuf, adbitibuf + CALL SHOWSTACKSIZE(adi4ibuf-1,adi8ibuf-1,adr4ibuf-1,adr8ibuf-1, + + adc8ibuf-1,adc16ibuf-1,ads1ibuf-1,adbitibuf-1,0,pos) + END + +C=========== MEASUREMENT OF PUSH TRAFFIC ========== + + BLOCK DATA BUFTRAFFICBLOCK + INTEGER*8 buffertraffic + COMMON /BUFTRAFFIC/buffertraffic + DATA buffertraffic/0/ + END + + subroutine addftraffic(n) + INTEGER n + INTEGER*8 buffertraffic + COMMON /BUFTRAFFIC/buffertraffic + buffertraffic = buffertraffic+n + END + + SUBROUTINE ADSTACK_SHOWTRAFFIC() + INTEGER*8 buffertraffic + COMMON /BUFTRAFFIC/buffertraffic + call SHOWTOTALTRAFFIC(buffertraffic) + END diff --git a/tools/TAP_support/ADFirstAidKit/OLDadBuffer.h b/tools/TAP_support/ADFirstAidKit/OLDadBuffer.h new file mode 100644 index 0000000000..4b313c6fc3 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/OLDadBuffer.h @@ -0,0 +1,140 @@ +#ifndef ADBUFFER_LOADED +#define ADBUFFER_LOADED 1 + +#include "OLDadStack.h" + +typedef struct {float r,i;} ccmplx ; +typedef struct {double dr, di;} cdcmplx ; + +/** Push an int (4 bytes int) */ +extern void pushInteger4(int x) ; + +/** Pop an int (4 bytes int) */ +extern void popInteger4(int *x) ; + +/** Push a long (8 bytes int) */ +extern void pushInteger8(long x) ; + +/** Pop a long (8 bytes int) */ +extern void popInteger8(long *x) ; + +/** Push a float (4 bytes real) */ +extern void pushReal4(float x) ; + +/** Pop a float (4 bytes real) */ +extern void popReal4(float *x) ; + +/** Push a double (8 bytes real) */ +extern void pushReal8(double x) ; + +/** Pop a double (8 bytes real) */ +extern void popReal8(double *x) ; + +/** Push a complex (4 bytes per component) */ +extern void pushComplex8(ccmplx x) ; + +/** Pop a complex (4 bytes per component) */ +extern void popComplex8(ccmplx *x) ; + +/** Push a double complex (8 bytes per component) */ +extern void pushComplex16(cdcmplx x) ; + +/** Pop a double complex (8 bytes per component) */ +extern void popComplex16(cdcmplx *x) ; + +/** Push a char (byte) */ +extern void pushCharacter(char x) ; + +/** Pop a char (byte) */ +extern void popCharacter(char *x) ; + +/** Push a boolean (one bit) */ +extern void pushBoolean(int x) ; + +/** Pop a boolean (one bit) */ +extern void popBoolean(int *x) ; + +/** Push a value ranging in [0,1] */ +extern void pushControl1b(int cc) ; + +/** Pop a value ranging in [0,1] */ +extern void popControl1b(int *cc) ; + +/** Push a value ranging in [0,3] */ +extern void pushControl2b(int cc) ; + +/** Pop a value ranging in [0,3] */ +extern void popControl2b(int *cc) ; + +/** Push a value ranging in [0,7] */ +extern void pushControl3b(int cc) ; + +/** Pop a value ranging in [0,7] */ +extern void popControl3b(int *cc) ; + +/** Push a value ranging in [0,15] */ +extern void pushControl4b(int cc) ; + +/** Pop a value ranging in [0,15] */ +extern void popControl4b(int *cc) ; + +/** Push a value ranging in [0,31] */ +extern void pushControl5b(int cc) ; + +/** Pop a value ranging in [0,31] */ +extern void popControl5b(int *cc) ; + +/** Push a value ranging in [0,63] */ +extern void pushControl6b(int cc) ; + +/** Pop a value ranging in [0,63] */ +extern void popControl6b(int *cc) ; + +/** Push a value ranging in [0,127] */ +extern void pushControl7b(int cc) ; + +/** Pop a value ranging in [0,127] */ +extern void popControl7b(int *cc) ; + +/** Push a value ranging in [0,255] */ +extern void pushControl8b(int cc) ; + +/** Pop a value ranging in [0,255] */ +extern void popControl8b(int *cc) ; + +/** Push a 32 bits pointer */ +extern void pushPointer4(void *x) ; + +/** Pop a 32 bits pointer */ +extern void popPointer4(void **x) ; + +/** Push a 64 bits pointer */ +extern void pushPointer8(void *x) ; + +/** Pop a 64 bits pointer */ +extern void popPointer8(void **x) ; + +/** From now on, everything below current stack top may be read repeated times. + * This opens a so-called new repeated-access level */ +extern void adStack_startRepeat() ; + +/** Reset the stack top to the deepest enclosing repeated-access level */ +extern void adStack_resetRepeat() ; + +/** Return the deepest enclosing repeated-access level to normal stack behavior */ +extern void adStack_endRepeat() ; + +/** Display the total amount of memory pushed */ +extern void adStack_showTraffic() ; + +/** Display in detail the contents of the AD stack, + * followed by the detailed contents of each type buffer. + * Also show the stack of nested repeated-access levels */ +extern void showStackAndBuffers(char *locationName) ; + +/** Display the current size of the AD stack as + * <#blocks.#bytesInTopBlock> then size of each type buffers + * "pos" will be displayed in front, to help you identify the location. */ +extern void showStackAndBuffersSize(int pos) ; + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/OLDadStack.c b/tools/TAP_support/ADFirstAidKit/OLDadStack.c new file mode 100644 index 0000000000..f3d6881565 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/OLDadStack.c @@ -0,0 +1,526 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include +#include +#include + +/* The size of a BLOCK in characters. Suggested 16384. Should try 2^16=65536 */ +#define ONE_BLOCK_SIZE 65536 + +/* The main stack is a double-chain of DoubleChainedBlock objects. + * Each DoubleChainedBlock holds an array[ONE_BLOCK_SIZE] of char. */ +typedef struct _DoubleChainedBlock{ + unsigned int rank ; + struct _DoubleChainedBlock *prev ; + char *contents ; + struct _DoubleChainedBlock *next ; +} DoubleChainedBlock ; + +char initContents[ONE_BLOCK_SIZE] = {'\0'} ; +DoubleChainedBlock initBlock = {0,NULL,initContents,NULL} ; +static DoubleChainedBlock *curStack = &initBlock ; +static char *curStackTop = initContents ; + +static unsigned long int maintraffic = 0 ; + +void setCurLocation(unsigned long int location) { + unsigned int targetRank = (unsigned int)location/ONE_BLOCK_SIZE ; + unsigned int targetOffset = (unsigned int)location%ONE_BLOCK_SIZE ; + if (targetRank>curStack->rank) + while (targetRank>curStack->rank) curStack = curStack->next ; + else if (targetRankrank) + while (targetRankrank) curStack = curStack->prev ; + curStackTop = curStack->contents + targetOffset ; +} + +unsigned long int getCurLocation() { + return (curStackTop-curStack->contents)+curStack->rank*ONE_BLOCK_SIZE ; +} + +void showLocation(unsigned long int location) { + printf("%1i.%05i", (unsigned int)location/ONE_BLOCK_SIZE, (unsigned int)location%ONE_BLOCK_SIZE) ; +} + +/*************** REPEATED ACCESS MECHANISM *********************/ + +typedef struct _StackRepeatCell { + int hasBackPop ; + unsigned long int backPop ; + unsigned long int resume ; + unsigned long int freePush ; + struct _StackRepeatCell *previous ; +} StackRepeatCell ; + +StackRepeatCell *stackRepeatTop = NULL ; + +void showStackRepeatsRec(StackRepeatCell *inRepeatStack) { + if (inRepeatStack->previous) {showStackRepeatsRec(inRepeatStack->previous) ; printf(" ; ") ;} + printf("<") ; + if (inRepeatStack->hasBackPop) showLocation(inRepeatStack->backPop) ; + printf("|") ; + showLocation(inRepeatStack->resume) ; + printf("|") ; + showLocation(inRepeatStack->freePush) ; + printf(">") ; +} + +void showStackRepeats() { + showStackRepeatsRec(stackRepeatTop) ; +} + +void showStack() { + DoubleChainedBlock *inStack = &initBlock ; + int i ; + while (inStack) { + printf("[%1i] ",inStack->rank) ; + for (i=0 ; icontents[i])==curStackTop) printf(" | ") ; + printf("%02x",(unsigned char)inStack->contents[i]) ; + } + inStack = inStack->next ; + if (inStack) printf("\n ") ; + } + printf("\n REPEATS:") ; + if (stackRepeatTop) + showStackRepeats() ; + else + printf(" none!") ; + printf("\n") ; +} + +void showStackSize(int i4i, int i8i, int r4i, int r8i, int c8i, int c16i, int s1i, int biti, int ptri, int pos) { + printf(" --%5i--> <",pos) ; + showLocation(getCurLocation()) ; + printf(">%1i.%1i.%1i.%1i.%1i.%1i.%1i.%1i.%1i\n",i4i, i8i, r4i, r8i, c8i, c16i, s1i, biti, ptri) ; +} + +void adStack_showPeakSize() { + DoubleChainedBlock *inStack = &initBlock ; + int i = 0 ; + while (inStack) { + inStack = inStack->next ; + ++i ; + } + printf("Peak stack size (%1i blocks): %1llu bytes\n", + i, ((long long int)i)*((long long int)ONE_BLOCK_SIZE)) ; +} + +void showTotalTraffic(unsigned long long int localtraffic) { + printf("Total pushed traffic %1llu bytes\n", maintraffic+localtraffic) ; +} + +/** If we are in a protected, read-only section, memorize location as "backPop" + * and go to the "freePush" location */ +void checkPushInReadOnly() { + if (stackRepeatTop) { + unsigned long int current = getCurLocation() ; + if (currentfreePush) { + stackRepeatTop->hasBackPop = 1 ; + stackRepeatTop->backPop = current ; + setCurLocation(stackRepeatTop->freePush) ; +/* printf(" FREEPUSH(") ; //Trace */ +/* showLocation(stackRepeatTop->backPop) ; //Trace */ +/* printf("=>") ; //Trace */ +/* showLocation(stackRepeatTop->freePush) ; //Trace */ +/* printf(")") ; //Trace */ + } + } +} + +/** If current location is the "freePush" location, + * go back to its "backPop" location, which is in a protected, read-only section */ +void checkPopToReadOnly() { + if (stackRepeatTop && stackRepeatTop->hasBackPop) { + unsigned long int current = getCurLocation() ; + if (current==stackRepeatTop->freePush) { + setCurLocation(stackRepeatTop->backPop) ; + stackRepeatTop->hasBackPop = 0 ; +/* printf(" BACKPOP(") ; //Trace */ +/* showLocation(stackRepeatTop->freePush) ; //Trace */ +/* printf("=>") ; //Trace */ +/* showLocation(stackRepeatTop->backPop) ; //Trace */ +/* printf(")") ; //Trace */ + } + } +} + +// A global for communication from startStackRepeat1() to startStackRepeat2(): +StackRepeatCell *newRepeatCell = NULL ; + +void startStackRepeat1() { + // Create (push) a new "stack" repeat level: + newRepeatCell = (StackRepeatCell *)malloc(sizeof(StackRepeatCell)) ; + newRepeatCell->previous = stackRepeatTop ; + newRepeatCell->hasBackPop = 0 ; + // Store current location as the "resume" location: + unsigned long int current = getCurLocation() ; + newRepeatCell->resume = current ; + // Move to the "freePush" location if there is one: + if (stackRepeatTop && currentfreePush) + setCurLocation(stackRepeatTop->freePush) ; +} + +void startStackRepeat2() { + // Store current stack location as the "freePush" location: + newRepeatCell->freePush = getCurLocation() ; + // Reset current location to stored "resume" location: + setCurLocation(newRepeatCell->resume) ; + // Make this new repeat level the current repeat level: + stackRepeatTop = newRepeatCell ; +/* printf("\n+Rep ") ; showStackRepeats() ; printf("\n") ; //Trace */ +} + +void resetStackRepeat1() { +/* printf("\n>Rep ") ; showStackRepeats() ; printf("\n") ; //Trace */ + // If we are in a nested checkpoint, force exit from it: + if (stackRepeatTop->hasBackPop) { + //setCurLocation(stackRepeatTop->backPop) ; //correct but useless code + stackRepeatTop->hasBackPop = 0 ; + } + // Go to repeat location of current repeat level + setCurLocation(stackRepeatTop->freePush) ; +} + +void resetStackRepeat2() { + // Reset current location to "ResumeLocation": + setCurLocation(stackRepeatTop->resume) ; +} + +void endStackRepeat() { +/* printf("\n-Rep ") ; showStackRepeats() ; printf("\n") ; //Trace */ + // If we are in a nested checkpoint, go back to its "backPop" (read-only) location: + if (stackRepeatTop->hasBackPop) { + setCurLocation(stackRepeatTop->backPop) ; + //stackRepeatTop->hasBackPop = 0 ; //correct but useless code + } + // Remove (pop) top "stack" repeat level: + StackRepeatCell *oldRepeatCell = stackRepeatTop ; + stackRepeatTop = stackRepeatTop->previous ; + free(oldRepeatCell) ; + // current location may have moved back ; check if we must move further back: + checkPopToReadOnly() ; +} + +/******************* PUSH/POP MECHANISM *******************/ + +/* PUSHes "nbChars" consecutive chars from a location starting at address "x". + * Checks that there is enough space left to hold "nbChars" chars. + * Otherwise, allocates the necessary space. */ +void pushNArray(char *x, unsigned int nbChars, int checkReadOnly) { + if (checkReadOnly) checkPushInReadOnly() ; + if (checkReadOnly) maintraffic += nbChars ; +/* unsigned long int lfrom = getCurLocation() ; //Trace */ + unsigned int nbmax = ONE_BLOCK_SIZE-(curStackTop-(curStack->contents)) ; + if (nbChars <= nbmax) { + memcpy(curStackTop,x,nbChars) ; + curStackTop+=nbChars ; + } else { + char *inx = x+(nbChars-nbmax) ; + if (nbmax>0) memcpy(curStackTop,inx,nbmax) ; + while (inx>x) { + if (curStack->next) + curStack = curStack->next ; + else { + /* Create new block: */ + DoubleChainedBlock *newStack ; + char *contents = (char *)malloc(ONE_BLOCK_SIZE*sizeof(char)) ; + newStack = (DoubleChainedBlock*)malloc(sizeof(DoubleChainedBlock)) ; + if ((contents == NULL) || (newStack == NULL)) { + DoubleChainedBlock *stack = curStack ; + int nbBlocks = (stack?-1:0) ; + while(stack) { + stack = stack->prev ; + nbBlocks++ ; + } + printf("Out of memory (allocated %i blocks of %i bytes)\n", + nbBlocks, ONE_BLOCK_SIZE) ; + exit(0); + } + curStack->next = newStack ; + newStack->prev = curStack ; + newStack->rank = curStack->rank + 1 ; + newStack->next = NULL ; + newStack->contents = contents ; + curStack = newStack ; + /* new block created! */ + } + inx -= ONE_BLOCK_SIZE ; + if(inx>x) + memcpy(curStack->contents,inx,ONE_BLOCK_SIZE) ; + else { + unsigned int nbhead = (inx-x)+ONE_BLOCK_SIZE ; + curStackTop = curStack->contents ; + memcpy(curStackTop,x,nbhead) ; + curStackTop += nbhead ; + } + } + } +/* unsigned long int lto = getCurLocation() ; //Trace */ +/* printf("pushNArray(") ; //Trace */ +/* showLocation(lfrom) ; //Trace */ +/* printf("=>") ; //Trace */ +/* showLocation(lto) ; //Trace */ +/* printf(")") ; //Trace */ +} + +/* POPs "nbChars" consecutive chars to a location starting at address "x". + * Checks that there is enough data to fill "nbChars" chars. + * Otherwise, pops as many blocks as necessary. */ +void popNArray(char *x, unsigned int nbChars, int checkReadOnly) { +/* unsigned long int lfrom = getCurLocation() ; //Trace */ + unsigned int nbmax = curStackTop-(curStack->contents) ; + if (nbChars <= nbmax) { + curStackTop-=nbChars ; + memcpy(x,curStackTop,nbChars); + } else { + char *tlx = x+nbChars ; + if (nbmax>0) memcpy(x,curStack->contents,nbmax) ; + x+=nbmax ; + while (xprev ; + if (curStack==NULL) printf("Popping from an empty stack!!!\n") ; + if (x+ONE_BLOCK_SIZEcontents,ONE_BLOCK_SIZE) ; + x += ONE_BLOCK_SIZE ; + } else { + unsigned int nbtail = tlx-x ; + curStackTop = (curStack->contents)+ONE_BLOCK_SIZE-nbtail ; + memcpy(x,curStackTop,nbtail) ; + x = tlx ; + } + } + } +/* unsigned long int lto = getCurLocation() ; //Trace */ +/* printf("popNArray(") ; //Trace */ +/* showLocation(lfrom) ; //Trace */ +/* printf("=>") ; //Trace */ +/* showLocation(lto) ; //Trace */ +/* printf(")") ; //Trace */ + if (checkReadOnly) checkPopToReadOnly() ; +} + +typedef struct {float r,i;} ccmplx ; +typedef struct {double dr, di;} cdcmplx ; + +void pushInteger4Array(int *x, int n) { + pushNArray((char *)x,(unsigned int)(n*4), 1) ; +} + +void popInteger4Array(int *x, int n) { + popNArray((char *)x,(unsigned int)(n*4), 1) ; +} + +void pushInteger8Array(long *x, int n) { + pushNArray((char *)x,(unsigned int)(n*8), 1) ; +} + +void popInteger8Array(long *x, int n) { + popNArray((char *)x,(unsigned int)(n*8), 1) ; +} + +void pushReal4Array(float *x, int n) { + pushNArray((char *)x,(unsigned int)(n*4), 1) ; +} + +void popReal4Array(float *x, int n) { + popNArray((char *)x,(unsigned int)(n*4), 1) ; +} + +void pushReal8Array(double *x, int n) { + pushNArray((char *)x,(unsigned int)(n*8), 1) ; +} + +void popReal8Array(double *x, int n) { + popNArray((char *)x,(unsigned int)(n*8), 1) ; +} + +void pushComplex8Array(ccmplx *x, int n) { + pushNArray((char *)x,(unsigned int)(n*8), 1) ; +} + +void popComplex8Array(ccmplx *x, int n) { + popNArray((char *)x,(unsigned int)(n*8), 1) ; +} + +void pushComplex16Array(cdcmplx *x, int n) { + pushNArray((char *)x,(unsigned int)(n*16), 1) ; +} + +void popComplex16Array(cdcmplx *x, int n) { + popNArray((char *)x,(unsigned int)(n*16), 1) ; +} + +void pushCharacterArray(char *x, int n) { + pushNArray(x,(unsigned int)n, 1) ; +} + +void popCharacterArray(char *x, int n) { + popNArray(x,(unsigned int)n, 1) ; +} + +/* ********* Useful only for testpushpop.f90. Should go away! ********* */ + +void showpushpopsequence_(int *op, int *index, int* nbobjects, int* sorts, int* sizes) { + char *prefix = "" ; + if (*op==1) prefix = "+" ; + else if (*op==-1) prefix = "-" ; + else if (*op==2) prefix = "+s" ; + else if (*op==-2) prefix = "-s" ; + else if (*op==-3) prefix = "Ls" ; + printf("%s%02i", prefix, *index) ; + // Comment the rest for compact display: + printf(":") ; + int i ; + for (i=0 ; i<*nbobjects ; ++i) { + switch (sorts[i]) { + case 1: + printf(" I4") ; + break ; + case 2: + printf(" I8") ; + break ; + case 3: + printf(" R4") ; + break ; + case 4: + printf(" R8") ; + break ; + case 5: + printf(" C8") ; + break ; + case 6: + printf(" C16") ; + break ; + case 7: + printf(" char") ; + break ; + case 8: + printf(" bit") ; + break ; + case 9: + printf(" PTR") ; + break ; + } + if (sizes[i]!=0) printf("[%1i]",sizes[i]) ; + } +} + +/****************** INTERFACE CALLED FROM FORTRAN *******************/ + +void showstack_() { + showStack() ; +} + +void showstacksize_(int *i4i, int *i8i, int *r4i, int *r8i, int *c8i, int *c16i, int *s1i, int *biti, int *ptri, int *pos) { + showStackSize(*i4i,*i8i,*r4i,*r8i,*c8i,*c16i,*s1i,*biti,*ptri, *pos) ; +} + +void adstack_showpeaksize_() { + adStack_showPeakSize() ; +} + +void adstack_showpeaksize__() { + adStack_showPeakSize() ; +} + +void showtotaltraffic_(unsigned long long int *traffic) { + showTotalTraffic(*traffic) ; +} + +void startstackrepeat1_() { + startStackRepeat1() ; +} + +void startstackrepeat2_() { + startStackRepeat2() ; +} + +void resetstackrepeat1_() { + resetStackRepeat1() ; +} + +void resetstackrepeat2_() { + resetStackRepeat2() ; +} + +void endstackrepeat_() { + endStackRepeat() ; +} + +void pushnarray_(char *x, unsigned int *nbChars, int *checkReadOnly) { + pushNArray(x, *nbChars, *checkReadOnly) ; +} + +void popnarray_(char *x, unsigned int *nbChars, int *checkReadOnly) { + popNArray(x, *nbChars, *checkReadOnly) ; +} + +void pushinteger4array_(int *ii, int *ll) { + pushInteger4Array(ii, *ll) ; +} + +void popinteger4array_(int *ii, int *ll) { + popInteger4Array(ii, *ll) ; +} + +void pushinteger8array_(long *ii, int *ll) { + pushInteger8Array(ii, *ll) ; +} + +void popinteger8array_(long *ii, int *ll) { + popInteger8Array(ii, *ll) ; +} + +void pushreal4array_(float *ii, int *ll) { + pushReal4Array(ii, *ll) ; +} + +void popreal4array_(float *ii, int *ll) { + popReal4Array(ii, *ll) ; +} + +void pushreal8array_(double *ii, int *ll) { + pushReal8Array(ii, *ll) ; +} + +void popreal8array_(double *ii, int *ll) { + popReal8Array(ii, *ll) ; +} + +void pushcomplex8array_(ccmplx *ii, int *ll) { + pushComplex8Array(ii, *ll) ; +} + +void popcomplex8array_(ccmplx *ii, int *ll) { + popComplex8Array(ii, *ll) ; +} + +void pushcomplex16array_(cdcmplx *ii, int *ll) { + pushComplex16Array(ii, *ll) ; +} + +void popcomplex16array_(cdcmplx *ii, int *ll) { + popComplex16Array(ii, *ll) ; +} + +void pushcharacterarray_(char *ii, int *ll) { + pushCharacterArray(ii, *ll) ; +} + +void popcharacterarray_(char *ii, int *ll) { + popCharacterArray(ii, *ll) ; +} + +void pushbooleanarray_(char *x, unsigned int *n) { + pushNArray(x,(*n*4), 1) ; +} + +void popbooleanarray_(char *x, unsigned int *n) { + popNArray(x,(*n*4), 1) ; +} diff --git a/tools/TAP_support/ADFirstAidKit/OLDadStack.h b/tools/TAP_support/ADFirstAidKit/OLDadStack.h new file mode 100644 index 0000000000..d1c23fe149 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/OLDadStack.h @@ -0,0 +1,77 @@ +#ifndef ADSTACK_LOADED +#define ADSTACK_LOADED 1 + +/** Push of int (4 bytes int) array */ +extern void pushInteger4Array(int *x, int n) ; + +/** Pop of int (4 bytes int) array */ +extern void popInteger4Array(int *x, int n) ; + +/** Push of long (8 bytes int) array */ +extern void pushInteger8Array(long *x, int n) ; + +/** Pop of long (8 bytes int) array */ +extern void popInteger8Array(long *x, int n) ; + +/** Push of float (4 bytes real) array */ +extern void pushReal4Array(float *x, int n) ; + +/** Pop of float (4 bytes real) array */ +extern void popReal4Array(float *x, int n) ; + +/** Push of double (8 bytes real) array */ +extern void pushReal8Array(double *x, int n) ; + +/** Pop of double (8 bytes real) array */ +extern void popReal8Array(double *x, int n) ; + +/** Push of char (byte) array */ +extern void pushCharacterArray(char *x, int n) ; + +/** Pop of char (byte) array */ +extern void popCharacterArray(char *x, int n) ; + +/*** There is no primitive complex type in C ***/ +/* extern void pushComplex8Array(ccmplx *x, int n) ; */ +/* extern void popComplex8Array(ccmplx *x, int n) ; */ +/* extern void pushComplex16Array(cdcmplx *x, int n) ; */ +/* extern void popComplex16Array(cdcmplx *x, int n) ; */ + +/** Utility for OLDadBuffer.c (mostly) + * Push an array of any type onto the main stack */ +extern void pushNArray(char *x, unsigned int nbChars, int checkReadOnly) ; + +/** Utility for OLDadBuffer.c (mostly) + * Pop an array of any type from the main stack */ +extern void popNArray(char *x, unsigned int nbChars, int checkReadOnly) ; + +/** Display the maximum size reached by the main AD stack */ +extern void adStack_showPeakSize() ; + +/** Utility for OLDadBuffer.c (mostly) + * Display the total amount of memory pushed */ +extern void showTotalTraffic(unsigned long long int localtraffic) ; + +/** Utility for OLDadBuffer.c (mostly) + * Display in detail the contents of the AD stack */ +extern void showStack() ; + +/** Utility for OLDadBuffer.c */ +extern void showStackSize(int i4i, int i8i, int r4i, int r8i, int c8i, int c16i, int s1i, int biti, int ptri, int pos) ; + +/** Utility for OLDadBuffer.c */ +extern void startStackRepeat1() ; + +/** Utility for OLDadBuffer.c */ +extern void startStackRepeat2() ; + +/** Utility for OLDadBuffer.c */ +extern void resetStackRepeat1() ; + +/** Utility for OLDadBuffer.c */ +extern void resetStackRepeat2() ; + +/** Utility for OLDadBuffer.c */ +extern void endStackRepeat() ; + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/PUSHPOPDiff.f b/tools/TAP_support/ADFirstAidKit/PUSHPOPDiff.f new file mode 100644 index 0000000000..a497ba1603 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/PUSHPOPDiff.f @@ -0,0 +1,57 @@ +C Pure tangent mode: + + SUBROUTINE PUSHREAL8_D(V,VD) + REAL*8 V,VD + call PUSHREAL8(V) + call PUSHREAL8(VD) + END + + SUBROUTINE POPREAL8_D(V,VD) + REAL*8 V,VD + call POPREAL8(VD) + call POPREAL8(V) + END + + SUBROUTINE PUSHREAL8ARRAY_D(V,VD,size) + INTEGER size + REAL*8 V(size),VD(size) + call PUSHREAL8ARRAY(V,size) + call PUSHREAL8ARRAY(VD,size) + END + + SUBROUTINE POPREAL8ARRAY_D(V,VD,size) + INTEGER size + REAL*8 V(size),VD(size) + call POPREAL8ARRAY(VD,size) + call POPREAL8ARRAY(V,size) + END + +C Multi-directional mode: + + SUBROUTINE PUSHREAL8_DV(V,VD,nbdirs) + INTEGER nbdirs + REAL*8 V,VD(nbdirs) + call PUSHREAL8(V) + call PUSHREAL8ARRAY(VD,nbdirs) + END + + SUBROUTINE POPREAL8_DV(V,VD,nbdirs) + INTEGER nbdirs + REAL*8 V,VD(nbdirs) + call POPREAL8ARRAY(VD,nbdirs) + call POPREAL8(V) + END + + SUBROUTINE PUSHREAL8ARRAY_DV(V,VD,size,nbdirs) + INTEGER size,nbdirs + REAL*8 V(size),VD(size,nbdirs) + call PUSHREAL8ARRAY(V,size) + call PUSHREAL8ARRAY(VD,size*nbdirs) + END + + SUBROUTINE POPREAL8ARRAY_DV(V,VD,size,nbdirs) + INTEGER size,nbdirs + REAL*8 V(size),VD(size,nbdirs) + call POPREAL8ARRAY(VD,size*nbdirs) + call POPREAL8ARRAY(V,size) + END diff --git a/tools/TAP_support/ADFirstAidKit/PUSHPOPGeneralLib b/tools/TAP_support/ADFirstAidKit/PUSHPOPGeneralLib new file mode 100644 index 0000000000..6cf9582eb3 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/PUSHPOPGeneralLib @@ -0,0 +1,280 @@ +subroutine pushreal8: + external: + shape:(param 1, + common /adstack/[0,*[) + type:(modifiedType(modifiers(intCst 8), float()), + arrayType(modifiedType(modifiers(intCst 8), float()), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + deps: (id, + 1, 1) + +subroutine popreal8: + external: + shape:(param 1, + common /adstack/[0,*[) + type:(modifiedType(modifiers(intCst 8), float()), + arrayType(modifiedType(modifiers(intCst 8), float()), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + deps: (0, 1, + 0, 1) + + +subroutine pushreal8array: + external: + shape:(param 1, + param 2, + common /adstack/[0,*[) + type:(arrayType(modifiedType(modifiers(intCst 8), float()), + dimColons(dimColon(none(),none()))), + integer(), + arrayType(modifiedType(modifiers(intCst 8), float()), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 1, 0) + NotReadThenWritten: (0, 0, 0) + ReadThenWritten: (0, 0, 1) + deps: (id, + id, + 1, 1, 1) + +subroutine popreal8array: + external: + shape:(param 1, + param 2, + common /adstack/[0,*[) + type:(arrayType(modifiedType(modifiers(intCst 8), float()), + dimColons(dimColon(none(),none()))), + integer(), + arrayType(modifiedType(modifiers(intCst 8), float()), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 1, 0) + NotReadThenWritten: (1, 0, 0) + ReadThenWritten: (0, 0, 1) + deps: (0, 1, 1, + id, + 0, 1, 1) + +subroutine pushinteger4: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popinteger4: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol1b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol1b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol2b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol2b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol3b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol3b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol4b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol4b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol5b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol5b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol6b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol6b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol7b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol7b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol8b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol8b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) + +subroutine pushcontrol9b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (1, 0) + NotReadThenWritten: (0, 0) + ReadThenWritten: (0, 1) + +subroutine popcontrol9b: + external: + shape:(param 1, + common /adstackpassive/[0,*[) + type:(integer(), + arrayType(integer(), + dimColons(dimColon(none(),none())))) + ReadNotWritten: (0, 0) + NotReadThenWritten: (1, 0) + ReadThenWritten: (0, 1) diff --git a/tools/TAP_support/ADFirstAidKit/README.md b/tools/TAP_support/ADFirstAidKit/README.md new file mode 100644 index 0000000000..b50a8be3f1 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/README.md @@ -0,0 +1,71 @@ +Contents of the ADFirstAidKit +============================= + +## adStack.c && adStack.h + Mechanism for the main stack used by codes produced by Tapenade in reverse mode. + Use these files regardless of the language of the reverse-differentiated code. + For OpenMP compatibility, compile with option -fopenmp. + +## adBinomial.c && adBinomial.h + Primitives for Tapenade adjoint with binomial checkpoiting (cf Griewank-Walther + "revolve" method). Triggered by Tapenade directive $AD BINOMIAL-CKP. + +## (adContext.c || adContextMPI.c) && adContext.h + Primitives used by Tapenade-differentiated code with automated validation. + Triggered by tapenade command-line option -context. + Use adContextMPI.c instead of adContext.c on MPI code. + +## adContextCPX.c && adContextCPX.h + Same as adContext, but to validate code differentiated with the command-line + option -complexstep, which is an attempt to automate differentiation + via the complex-step method. + +## (adDebug.c || adDebugMPI.c) && adDebug.h + Primitives used by Tapenade-differentiated code with automated debugging. + Triggered by tapenade command-line option -context combined either with + -debugTGT or with -debugADJ. + Use adDebugMPI.c instead of adDebug.c on MPI code. + +## adComplex.h + Utility for adStack, adContext, adDebug + +## admm.c && admm.h (might be integrated later into adBuffer) + The "ADMM" primitives, which manage push/pop of pointers when the pointer's + destination lies in memory chunks that have been deallocated and reallocated. + +## admm_tapenade_interface.f90 + A Fortran90 module that must be USE'd by Tapenade-generated adjoint code, + if these codes need push/pop of pointers or use ADMM primitives. + +## adProfile.c && adProfile.h (Currently broken, sorry) + Primitives used by Tapenade adjoint to measure the cost/benefit of checkpointing, + to find parts of the code that should or shouldn't be checkpointed. + +## fortranSupport.F && ampiSupport.c + Files needed by AMPI, for Tapenade adjoint code of MPI programs. + +## ampi + Directory containing the include files needed by code using the "adjoinable mpi" library. + This is primarily intended for some nonRegression tests. This is not the ampi install. + +## PUSHPOPGeneralLib && PUSHPOPDiff.f + Useful for repeated differentiation forward-on-reverse. Specification of the + activity behavior of push/pop primitives + implementation of the forward + derivatives of these primitives. + +## testMemSizef.f && testMemSizec.c + Short standalone code that tries to measure the size of primitive types in bytes. + +## testpushpop.sh && testpushpop.f90 + Short standalone code to test push/pop primitives of adStack.c + +## validityTest.f (Poorly tested, sorry) + Primitives used by Tapenade tangent code to estimate how close the execution + comes to non-differentiable behavior (e.g. tests). + Triggered by tapenade command-line option -directValid. + +## OLDadBuffer.c && OLDadBuffer.h && OLDadBuffer.f && OLDadStack.c && OLDadStack.h + Old version of the stack mechanism used by reverse AD codes. The new adStack.c && adStack.h do not need adBuffer any more. + With gfortran 10.2.1, use -fallow-argument-mismatch option to compile OLDadBuffer.f. + +Notice that, in order to run some nonRegression tests, you may have to place manually into this ADFirstAidKit directory two symbolic links: one named "mpich" pointing to the include directory of your mpich insall, and another one named "openmpi" pointing to the include directory of your openmpi install. diff --git a/tools/TAP_support/ADFirstAidKit/adBinomial.c b/tools/TAP_support/ADFirstAidKit/adBinomial.c new file mode 100644 index 0000000000..5b8c4c0f3e --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adBinomial.c @@ -0,0 +1,145 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include +#include "adBinomial.h" + +static int stack1[15] ; +static int stack2[297] ; +static int is1 = -1 ; +static int is2 = -1 ; + +#define BOTTOM stack1[3*is1] +#define MAXSNP stack1[3*is1+1] +#define OFFSET stack1[3*is1+2] +#define LENGTH stack2[3*is2] +#define CURPOS stack2[3*is2+1] +#define CKPCUT stack2[3*is2+2] + +void adBinomial_init(int length, int nbSnap, int firstStep) { + if (length<=0) { + printf("Error: Cannot reverse a sequence of length %i\n",length) ; + } else if (nbSnap==0 && length>=2) { + printf("Error: Cannot reverse a sequence of length %i with no snapshot\n",length) ; + } else if (is1>4 || is2+nbSnap+1>98) { + printf("Error: Binomial-Checkpointing memory exceeded !\n") ; + } else { + is1 = is1+1 ; + is2 = is2+1 ; + BOTTOM = is2 ; + MAXSNP = nbSnap ; + OFFSET = firstStep ; + LENGTH= length ; + CURPOS = 0 ; + CKPCUT = 0 ; + } +} + +void adBinomial_setCut() { + int length = LENGTH ; + int nbSnap = MAXSNP-(is2-BOTTOM)+1 ; + if (length<=1) { + CKPCUT = 0 ; + } else if (nbSnap==1) { + CKPCUT = length-1 ; + } else { + int minRecomp = 1 ; + int eta = nbSnap+1 ; + while (eta=length) + CKPCUT=length-1 ; + } +} + +int adBinomial_next(int *action, int *step) { + int i ; + +// Begin "only for debug" part: +// printf("\n") ; +// printf("STACK1:\n") ; +// for (i=is1 ; i>=0 ; i--) +// printf("%i snapshots, stack2 bottom:%i (offset:%i)\n", +// stack1[3*i+1],stack1[3*i],stack1[3*i+2]) ; +// printf("-------------------\n") ; +// printf("STACK2:\n") ; +// for (i=is2 ; i>=0 ; i--) +// printf("%i: R( ,%i) %i/%i\n", +// i,stack2[3*i],stack2[3*i+1],stack2[3*i+2]) ; +// // printf("%i: at %i, nextckp %i, end %i\n", +// // i,stack2[3*i+1],stack2[3*i+2],stack2[3*i]) ; +// printf("-------------------\n") ; +// End "only for debug" part. + + if (LENGTH<=0 && is2==BOTTOM) { + *step = -1 ; + *action = -1 ; + is1-- ; + is2-- ; + return 0 ; + } else { + *step = 1 ; + for (i=BOTTOM+1 ; i<=is2 ; i++) *step += stack2[3*i+1] ; + if (CURPOS==-1) { + *action = (LENGTH==1)?POPSNAP:LOOKSNAP ; + CURPOS = 0 ; + } else { + if (CURPOS==LENGTH-1) { + *action = (*step==stack2[3*BOTTOM])?FIRSTTURN:TURN ; + if (CURPOS==0 && is2>BOTTOM) { + is2-- ; + LENGTH = CKPCUT ; + } else { + LENGTH = CURPOS ; + } + CURPOS = -1 ; + adBinomial_setCut() ; + } else if (CURPOS==CKPCUT) { + int remainingLength = LENGTH-CURPOS ; + *action = PUSHSNAP ; + is2++ ; + LENGTH = remainingLength ; + CURPOS = 0 ; + adBinomial_setCut() ; + (*step)-- ; + } else { + *action = ADVANCE ; + CURPOS++ ; + } + } + return 1 ; + } +} + +void adBinomial_resize() { + int step = 1, i ; + for (i=BOTTOM+1 ; i<=is2 ; ++i) step += stack2[3*i+1] ; + printf("Binomial iteration exits on step %i before expected %i\n", + step-1, stack2[3*BOTTOM]) ; + stack2[3*BOTTOM] = step-1 ; + LENGTH = CURPOS ; + --(CURPOS) ; +} + +/****************** INTERFACE CALLED FROM FORTRAN *******************/ + +void adbinomial_init_(int *length, int *nbSnap, int *firstStep) { + adBinomial_init(*length, *nbSnap, *firstStep) ; +} + +int adbinomial_next_(int *action, int *step) { + return adBinomial_next(action, step) ; +} + +void adbinomial_resize_() { + adBinomial_resize() ; +} diff --git a/tools/TAP_support/ADFirstAidKit/adBinomial.h b/tools/TAP_support/ADFirstAidKit/adBinomial.h new file mode 100644 index 0000000000..6227868a99 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adBinomial.h @@ -0,0 +1,29 @@ +#ifndef ADBINOMIAL_LOADED +#define ADBINOMIAL_LOADED 1 + +#define PUSHSNAP 1 +#define LOOKSNAP 2 +#define POPSNAP 3 +#define ADVANCE 4 +#define FIRSTTURN 5 +#define TURN 6 + +/******************************* Exported Functions: */ + +/** Initializes a (possibly nested) binomial checkpointing + * session for "length" steps using at most "nbSnap" snapshots. + * "firstStep' is the offset, i.e. the index of the 1st step. */ +extern void adBinomial_init(int length, int nbSnap, int firstStep) ; + +/** Returns in *action the code for the next binomial + * checkpointing action to perform, and in *step the index of + * the step to which this action refers to. If no action is left, + * restores the stack to the enclosing binomial session (if any). + * Returns 0 if some action is found, 0 otherwise. */ +extern int adBinomial_next(int *action, int *step) ; + +/** Must be called when an "ADVANCE" order was issued, + * but then the iterative loop reaches past its exit point. */ +extern void adBinomial_resize() ; + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/adComplex.h b/tools/TAP_support/ADFirstAidKit/adComplex.h new file mode 100644 index 0000000000..fbd1cbc34c --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adComplex.h @@ -0,0 +1,5 @@ +#ifndef ADCOMPLEX_INCLUDED +#define ADCOMPLEX_INCLUDED +typedef struct {float r,i;} ccmplx ; +typedef struct {double dr, di;} cdcmplx ; +#endif diff --git a/tools/TAP_support/ADFirstAidKit/adContext.c b/tools/TAP_support/ADFirstAidKit/adContext.c new file mode 100644 index 0000000000..c699f30fa1 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adContext.c @@ -0,0 +1,655 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include +#include +#include +#include "adContext.h" + +#include "adComplex.h" + +static int dbad_mode, dbad_phase ; +static double dbad_ddeps = 1.e-6 ; +static double dbad_seed = 0.137 ; +static double dbad_currentSeed = 0.0 ; +static double dbad_condensed_val, dbad_condensed_tgt, dbad_condensed_adj ; + +double dbad_nextRandom() { + dbad_currentSeed += dbad_seed ; + if (dbad_currentSeed>=1.0) dbad_currentSeed-=1.0 ; + /* Return a value in range [1.0 2.0[ */ + return dbad_currentSeed+1.0 ; +} + +void adContextTgt_init(double epsilon, double seed) { + dbad_mode = 1 ; + dbad_ddeps = epsilon ; + dbad_seed = seed ; + char* phase = getenv("DBAD_PHASE") ; + if (phase==NULL) { + printf("Please set DBAD_PHASE environment variable to 1 (perturbed) or 2 (tangent)\n") ; + exit(0) ; + } else if (strcmp(phase,"2")==0) { + printf("Tangent code, seed=%7.1e\n", seed) ; + printf("=============================================\n") ; + dbad_phase = 2 ; + dbad_currentSeed = 0.0 ; + } else if (strcmp(phase,"1")==0) { + printf("Perturbed run, seed=%7.1e, epsilon=%7.1e\n", seed, epsilon) ; + printf("=============================================\n") ; + dbad_phase = 1 ; + dbad_currentSeed = 0.0 ; + } else if (strcmp(phase,"99")==0) { + printf("INTERNAL INTERFACE TESTS, seed=%7.1e, epsilon=%7.1e\n", seed, epsilon) ; + printf("=============================================\n") ; + dbad_phase = 99 ; + } else { + printf("DBAD_PHASE environment variable must be set to 1 or 2\n") ; + exit(0) ; + } +} + +void adContextTgt_initReal8(char* varname, double *indep, double *indepd) { + *indepd = dbad_nextRandom() ; + if (dbad_phase==1) + *indep = (*indep)+dbad_ddeps*(*indepd) ; + else if (dbad_phase==99) + printf("initReal8 of %s: %24.16e //%24.16e\n", varname, *indep, *indepd) ; +} + +void adContextTgt_initReal8Array(char* varname, double *indep, double *indepd, int length) { + int i ; + for (i=0 ; ir = (float)dbad_nextRandom() ; + indepd->i = (float)dbad_nextRandom() ; + if (dbad_phase==1) { + indep->r = indep->r + dbad_ddeps*indepd->r ; + indep->i = indep->i + dbad_ddeps*indepd->i ; + } else if (dbad_phase==99) + printf("initComplex8 of %s: %24.16e+i%24.16e //%24.16e+i%24.16e\n", + varname, indep->r, indep->i, indepd->r, indepd->i) ; +} + +void adContextTgt_initComplex8Array(char* varname, ccmplx *indep, ccmplx *indepd, int length) { + int i ; + for (i=0 ; ir) + depbi*(dep->i) ; + if (dbad_phase==2 || dbad_phase==1) + dbad_condensed_tgt += depbr*(depd->r) + depbi*(depd->i) ; + else if (dbad_phase==99) + printf("concludeComplex8 of %s [%24.16e;%24.16e *] %24.16e+i%24.16e //%24.16e+i%24.16e\n", + varname, depbr, depbi, dep->r, dep->i, depd->r, depd->i) ; +} + +void adContextTgt_concludeComplex8Array(char* varname, ccmplx *dep, ccmplx *depd, int length) { + int i ; + float depbr, depbi ; + if (dbad_phase==99) printf("concludeComplex8Array of %s, length=%i:\n", varname, length) ; + for (i=0 ; ir = (float)dbad_nextRandom() ; + depb->i = (float)dbad_nextRandom() ; + if (dbad_phase==99) + printf("initComplex8 of %s %24.16e+i%24.16e\n", varname, depb->r, depb->i) ; +} + +void adContextAdj_initComplex8Array(char* varname, ccmplx *dep, ccmplx *depb, int length) { + int i ; + for (i=0 ; ir + depdi*depb->i ; + if (dbad_phase==99) + printf("concludeComplex8 of %s [%24.16e+i%24.16e *]%24.16e+i%24.16e\n", varname, depdr, depdi, depb->r, depb->i) ; +} + +void adContextAdj_concludeComplex8Array(char* varname, ccmplx *dep, ccmplx *depb, int length) { + int i ; + float depdr, depdi ; + if (dbad_phase==99) printf("concludeComplex8Array of %s, length=%i:\n", varname, length) ; + for (i=0 ; i +#include +#include +#include "adContextCPX.h" + +static int dbad_mode, dbad_phase ; +static double dbad_ddeps = 1.e-6 ; +static double dbad_seed = 0.137 ; +static double dbad_currentSeed = 0.0 ; +static double dbad_condensed_val, dbad_condensed_tgt ; + +double dbad_nextRandom() { + dbad_currentSeed += dbad_seed ; + if (dbad_currentSeed>=1.0) dbad_currentSeed-=1.0 ; + /* Return a value in range [1.0 2.0[ */ + return dbad_currentSeed+1.0 ; +} + +void adContextCpx_init(double epsilon, double seed) { + dbad_mode = 1 ; + dbad_ddeps = epsilon ; + dbad_seed = seed ; + char* phase = getenv("DBAD_PHASE") ; + if (phase==NULL) { + printf("Please set DBAD_PHASE environment variable to 1 (perturbed) or 2 (tangent)\n") ; + exit(0) ; + } else if (strcmp(phase,"2")==0) { + printf("Tangent code, seed=%7.1e\n", seed) ; + printf("=============================================\n") ; + dbad_phase = 2 ; + dbad_currentSeed = 0.0 ; + } else if (strcmp(phase,"1")==0) { + printf("Perturbed run, seed=%7.1e, epsilon=%7.1e\n", seed, epsilon) ; + printf("=============================================\n") ; + dbad_phase = 1 ; + dbad_currentSeed = 0.0 ; + } else if (strcmp(phase,"99")==0) { + printf("INTERNAL INTERFACE TESTS, seed=%7.1e, epsilon=%7.1e\n", seed, epsilon) ; + printf("=============================================\n") ; + dbad_phase = 99 ; + } else { + printf("DBAD_PHASE environment variable must be set to 1 or 2\n") ; + exit(0) ; + } +} + +void adContextCpx_initReal8(char* varname, cdcmplx *indep) { + indep->di = dbad_ddeps*dbad_nextRandom() ; + if (dbad_phase==1) + indep->dr = indep->dr + indep->di ; + else if (dbad_phase==99) + printf("initReal8 of %s: %24.16e + i*%24.16e\n", varname, indep->dr, indep->di) ; +} + +void adContextCpx_initReal8Array(char* varname, cdcmplx *indep, int length) { + int i ; + for (i=0 ; ii = dbad_ddeps*(float)dbad_nextRandom() ; + if (dbad_phase==1) + indep->r = indep->r + indep->i ; + else if (dbad_phase==99) + printf("initReal4 of %s: %24.16e + i*%24.16e\n", varname, indep->r, indep->i) ; +} + +void adContextCpx_initReal4Array(char* varname, ccmplx *indep, int length) { + int i ; + for (i=0 ; idr) ; + if (dbad_phase==2 || dbad_phase==1) + dbad_condensed_tgt += depb*(dep->di)/dbad_ddeps ; + else if (dbad_phase==99) + printf("concludeReal8 of %s [%24.16e *] %24.16e + i*%24.16e\n", varname, depb, dep->dr, dep->di) ; +} + +void adContextCpx_concludeReal8Array(char* varname, cdcmplx *dep, int length) { + int i ; + double depb ; + if (dbad_phase==99) printf("concludeReal8Array of %s, length=%i:\n", varname, length) ; + for (i=0 ; ir) ; + if (dbad_phase==2 || dbad_phase==1) + dbad_condensed_tgt += depb*(dep->i)/dbad_ddeps ; + else if (dbad_phase==99) + printf("concludeReal4 of %s [%24.16e *] %24.16e + i*%24.16e\n", varname, depb, dep->r, dep->i) ; +} + +void adContextCpx_concludeReal4Array(char* varname, ccmplx *dep, int length) { + int i ; + float depb ; + if (dbad_phase==99) printf("concludeReal4Array of %s, length=%i:\n", varname, length) ; + for (i=0 ; i +#include +#include +#include "adContext.h" + +/* SPECIAL FOR THE NON-REGRESSION TESTS ON AMPI */ +#include + +static int dbad_mode, dbad_phase ; +static double dbad_ddeps = 1.e-6 ; +static double dbad_seed = 0.137 ; +static double dbad_currentSeed = 0.0 ; +static double dbad_condensed_val, dbad_condensed_tgt, dbad_condensed_adj ; + +double dbad_nextRandom() { + dbad_currentSeed += dbad_seed ; + if (dbad_currentSeed>=1.0) dbad_currentSeed-=1.0 ; + /* Return a value in range [1.0 2.0[ */ + return dbad_currentSeed+1.0 ; +} + +void adContextTgt_init(double epsilon, double seed) { + int world_rank; + MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); + dbad_mode = 1 ; + dbad_ddeps = epsilon ; + dbad_seed = seed ; + char* phase = getenv("DBAD_PHASE") ; + if (phase==NULL) { + printf("Please set DBAD_PHASE environment variable to 1 (perturbed) or 2 (tangent)\n") ; + exit(0) ; + } else if (strcmp(phase,"2")==0) { + if (world_rank == 0) { + printf("Tangent code, seed=%7.1e\n", seed) ; + printf("=============================================\n") ; + } + dbad_phase = 2 ; + dbad_currentSeed = 0.0 ; + } else if (strcmp(phase,"1")==0) { + if (world_rank == 0) { + printf("Perturbed run, seed=%7.1e, epsilon=%7.1e\n", seed, epsilon) ; + printf("=============================================\n") ; + } + dbad_phase = 1 ; + dbad_currentSeed = 0.0 ; + } else if (strcmp(phase,"99")==0) { + printf("INTERNAL INTERFACE TESTS, seed=%7.1e, epsilon=%7.1e\n", seed, epsilon) ; + printf("=============================================\n") ; + dbad_phase = 99 ; + } else { + printf("DBAD_PHASE environment variable must be set to 1 or 2\n") ; + exit(0) ; + } +} + +void adContextTgt_initReal8(char* varname, double *indep, double *indepd) { + *indepd = dbad_nextRandom() ; + if (dbad_phase==1) + *indep = (*indep)+dbad_ddeps*(*indepd) ; + else if (dbad_phase==99) + printf("initReal8 of %s: %24.16e //%24.16e\n", varname, *indep, *indepd) ; +} + +void adContextTgt_initReal8Array(char* varname, double *indep, double *indepd, int length) { + int i ; + for (i=0 ; idr = dbad_nextRandom() ; + indepd->di = dbad_nextRandom() ; + if (dbad_phase==1) { + indep->dr = indep->dr + dbad_ddeps*indepd->dr ; + indep->di = indep->di + dbad_ddeps*indepd->di ; + } else if (dbad_phase==99) + printf("initComplex16 of %s: %24.16e+i%24.16e //%24.16e+i%24.16e\n", + varname, indep->dr, indep->di, indepd->dr, indepd->di) ; +} + +void adContextTgt_initComplex16Array(char* varname, cdcmplx *indep, cdcmplx *indepd, int length) { + int i ; + for (i=0 ; ir = (float)dbad_nextRandom() ; + indepd->i = (float)dbad_nextRandom() ; + if (dbad_phase==1) { + indep->r = indep->r + dbad_ddeps*indepd->r ; + indep->i = indep->i + dbad_ddeps*indepd->i ; + } else if (dbad_phase==99) + printf("initComplex8 of %s: %24.16e+i%24.16e //%24.16e+i%24.16e\n", + varname, indep->r, indep->i, indepd->r, indepd->i) ; +} + +void adContextTgt_initComplex8Array(char* varname, ccmplx *indep, ccmplx *indepd, int length) { + int i ; + for (i=0 ; idr) + depbi*(dep->di); + if (dbad_phase==2 || dbad_phase==1) + dbad_condensed_tgt += depbr*(depd->dr) + depbi*(depd->di) ; + else if (dbad_phase==99) + printf("concludeComplex16 of %s [%24.16e;%24.16e *] %24.16e+i%24.16e //%24.16e+i%24.16e\n", + varname, depbr, depbi, dep->dr, dep->di, depd->dr, depd->di) ; +} + +void adContextTgt_concludeComplex16Array(char* varname, cdcmplx *dep, cdcmplx *depd, int length) { + int i ; + double depbr, depbi ; + if (dbad_phase==99) printf("concludeComplex16Array of %s, length=%i:\n", varname, length) ; + for (i=0 ; ir) + depbi*(dep->i) ; + if (dbad_phase==2 || dbad_phase==1) + dbad_condensed_tgt += depbr*(depd->r) + depbi*(depd->i) ; + else if (dbad_phase==99) + printf("concludeComplex8 of %s [%24.16e;%24.16e *] %24.16e+i%24.16e //%24.16e+i%24.16e\n", + varname, depbr, depbi, dep->r, dep->i, depd->r, depd->i) ; +} + +void adContextTgt_concludeComplex8Array(char* varname, ccmplx *dep, ccmplx *depd, int length) { + int i ; + float depbr, depbi ; + if (dbad_phase==99) printf("concludeComplex8Array of %s, length=%i:\n", varname, length) ; + for (i=0 ; i +#include +#include +#include +#include +#include +#include +#include "adDebug.h" + +/* + * Compile with -D ADDEBUG_NUDGE to nudge wrong ad derivatives back to divided-diff values + */ + +extern void pushNArray(char *x, unsigned int nbChars, int checkReadOnly) ; +extern void popNArray(char *x, unsigned int nbChars, int checkReadOnly) ; +extern void pushCharacterArray(char *x, int n) ; +extern void popCharacterArray(char *x, int n) ; + +/* The "call stack" used by debugging to + * keep track of the position in the call tree */ +typedef struct _DBAD_CallStackElem { + char *funcname ; + int deltadepth ; + int code ; + struct _DBAD_CallStackElem *context ; +} DBAD_CallStackElem ; + +static DBAD_CallStackElem dbad_topContext ; +static DBAD_CallStackElem *dbad_callStack ; +static int dbad_calltracedepth = 1 ; + +static int dbad_mode, dbad_phase, dbad_nberrors ; +static int dbad_trace = 0 ; +static int dbad_nocommunication = 0 ; +/** The rank of the current process (from 0 up), if it is being tested. + * -2 means don't test the current process + * -1 means test this process (not-MPI case) but don't print process number! */ +static int dbad_testThisProcess = -1 ; +static FILE *dbad_file ; +static double dbad_errormax, dbad_ddeps = 1.e-6 ; +static double dbad_seed = 0.137 ; +static double dbad_currentSeed = 0.0 ; +static double dbad_condensed_dd, dbad_condensed_tgt, dbad_condensed_adj ; +static double dbad_refsum, dbad_nextrefsum ; + +/** Buffers for stack mechanism, redefined to avoid linking with adStack.c */ +static double dbad_adr8buf[512] ; +static int dbad_adr8ibuf = 0 ; +static int dbad_adi4buf[512] ; +static int dbad_adi4ibuf = 0 ; + +void dbad_pushReal8(double x) { + if (dbad_adr8ibuf >= 511) { + dbad_adr8buf[511] = x ; + pushNArray((char *)dbad_adr8buf, 512*8, 1) ; + dbad_adr8ibuf = 0 ; + } else { + dbad_adr8buf[dbad_adr8ibuf] = x ; + ++dbad_adr8ibuf ; + } +} + +void dbad_popReal8(double *x) { + if (dbad_adr8ibuf <= 0) { + popNArray((char *)dbad_adr8buf, 512*8, 1) ; + dbad_adr8ibuf = 511 ; + *x = dbad_adr8buf[511] ; + } else { + --dbad_adr8ibuf ; + *x = dbad_adr8buf[dbad_adr8ibuf] ; + } +} + +void dbad_pushinteger4(int x) { + if (dbad_adi4ibuf >= 511) { + dbad_adi4buf[511] = x ; + pushNArray((char *)dbad_adi4buf, 512*4, 1) ; + dbad_adi4ibuf = 0 ; + } else { + dbad_adi4buf[dbad_adi4ibuf] = x ; + ++dbad_adi4ibuf ; + } +} + +void dbad_popinteger4(int *x) { + if (dbad_adi4ibuf <= 0) { + popNArray((char *)dbad_adi4buf, 512*4, 1) ; + dbad_adi4ibuf = 511 ; + *x = dbad_adi4buf[511] ; + } else { + --dbad_adi4ibuf ; + *x = dbad_adi4buf[dbad_adi4ibuf] ; + } +} +/* End redefinition of the buffers for the stack mechanism */ + +void dbad_pushCallFrame(char* unitname, int deltadepth, int forcetraced) { + DBAD_CallStackElem *newCallLevel = (DBAD_CallStackElem*)malloc(sizeof(DBAD_CallStackElem)) ; + newCallLevel->funcname = (char*)malloc(100) ; + sprintf(newCallLevel->funcname, "%s", unitname) ; + newCallLevel->deltadepth = (dbad_calltracedepth>0?1-deltadepth:0) ; + dbad_calltracedepth -= newCallLevel->deltadepth ; + // forcing mechanism: + if (forcetraced>0 && forcetraced>dbad_calltracedepth) { + newCallLevel->deltadepth -= (forcetraced-dbad_calltracedepth) ; + dbad_calltracedepth = forcetraced ; + } + newCallLevel->code = 0 ; + newCallLevel->context = dbad_callStack ; + dbad_callStack = newCallLevel ; +} + +void dbad_popCallFrame() { + dbad_calltracedepth += dbad_callStack->deltadepth ; + DBAD_CallStackElem *newCallLevel = dbad_callStack->context ; + free(dbad_callStack->funcname) ; + free(dbad_callStack) ; + dbad_callStack = newCallLevel ; +} + +int dbad_debughere(int forcetraced) { + return (dbad_calltracedepth>0 || forcetraced) ; +} + +int dbad_debugabove() { + return (dbad_calltracedepth+dbad_callStack->deltadepth)>0 ; +} + +int dbad_callstackdepth() { + DBAD_CallStackElem *incallstack = dbad_callStack ; + int depth = 0 ; + while (incallstack) {++depth ; incallstack=incallstack->context ;} + return depth-1 ; +} + +void dbad_resetCondensors() { + dbad_currentSeed = 0.0 ; + dbad_condensed_dd = 0.0 ; + dbad_condensed_tgt = 0.0 ; + dbad_condensed_adj = 0.0 ; +} + +double dbad_nextRandom() { + dbad_currentSeed += dbad_seed ; + if (dbad_currentSeed>=1.0) dbad_currentSeed-=1.0 ; + /* Return a value in range [1.0 2.0[ */ + return dbad_currentSeed+1.0 ; +} + +/** Scales the tangent direction *indepd (now in range [1.0 2.0[) + * so that it has same magnitude as indep */ +void dbad_scaleIndepDirection4(float *indepd, float indep) { + int exponent ; + frexpf(indep, &exponent); + *indepd = ldexpf(*indepd, exponent) ; +} + +/** Scales the tangent direction *indepd (now in range [1.0 2.0[) + * so that it has same magnitude as indep */ +void dbad_scaleIndepDirection8(double *indepd, double indep) { + int exponent ; + frexp(indep, &exponent); + *indepd = ldexp(*indepd, exponent) ; +} + +void dbad_putOneVarName(char *varname) { + char buf[8]=" " ; + int len = strlen(varname) ; + if (len>8) len = 8 ; + memcpy(buf, varname, len) ; + fwrite(buf, sizeof(char), 8, dbad_file) ; +} + +void dbad_ddcheckvarname(char* varname) { + char localBuf[9]=" " ; + char remoteBuf[9]=" " ; + int len = strlen(varname) ; + if (len>8) len = 8 ; + memcpy(localBuf, varname, len) ; + fread(remoteBuf, sizeof(char), 8, dbad_file) ; + if (strcmp(localBuf, remoteBuf)!=0) { + printf("Control mismatch, expecting a variable named \"%s\", got \"%s\"\n",localBuf,remoteBuf) ; + exit(0) ; + } +} + +void dbad_putOne8(double var) { + fwrite(&var, sizeof(double), 1, dbad_file) ; +} + +void dbad_putOne4(float var) { + float fl2[2] ; + fl2[0] = var ; + fwrite(fl2, sizeof(float), 2, dbad_file) ; +} + +void dbad_getOne8(double *var) { + fread(var, sizeof(double), 1, dbad_file) ; +} + +void dbad_getOne4(float *var) { + float fl2[2] ; + fread(fl2, sizeof(float), 2, dbad_file) ; + *var = fl2[0] ; +} + +/* static int nbDebugDebug = 10 ; */ + +int dbad_discrepancy8(double vareps, double var, double vard, double *dd, float *diff) { + int hasDifference = 0 ; + int almostZero = -15; // Tests more strict when almostZero goes down to -Inf. + int errMaxBits = 8; // Tests more strict when errMaxBits goes up to +Inf. + int trustableMantissa = 53; // Tests more strict when trustableMantissa goes up to 52. + *dd = 0.0 ; + //TODO: test vareps and var for NaNs! + int expoTG ; + frexp(vard, &expoTG) ; + double dv = vareps-var ; +/* printf("vard:%24.16e expoTG:%i almostZero:%i dv:%24.16e - %24.16e = %24.16e\n",vard,expoTG,almostZero,vareps,var,dv) ; */ + if (dv==0.0) { + *dd = 0.0 ; + if (vard==0.0 || expoTGexpoV2?expoV1:expoV2))) ; + frexp(hv, &expoHV) ; + int discrepancySmallness = expoDV-expoHV ; + int discrepancyExactness = trustableMantissa-expoV+expoDV ; + hasDifference = (discrepancySmallness=0.0?vard:-vard) ; + double absdd = (*dd>=0.0?*dd:-*dd) ; + double maxabs = (absvard>absdd?absvard:absdd) ; + double absvardmdd = vard-*dd ; + if (absvardmdd<0.0) absvardmdd=-absvardmdd ; + *diff = (float)((absvardmdd/maxabs)*100.0) ; +/* if (nbDebugDebug && hasDifference) { */ +/* nbDebugDebug-- ; */ +/* printf("vard:%24.16e [v-eps:%24.16e v-loc:%24.16e (%i)] dd:%24.16e (%i) -> %i\n", */ +/* vard, vareps, var, expoV, dv, expoDV, expoHV) ; */ +/* printf("n2:%i 52-M0+M1-6:%i different:%i %5.1f\n", */ +/* discrepancySmallness, discrepancyExactness, hasDifference, *diff) ; */ +/* } */ + } + } + return hasDifference ; +} + +int dbad_discrepancy4(float vareps, float var, float vard, float *dd, float *diff) { + int hasDifference = 0 ; + int almostZero = -15; // Tests more strict when almostZero goes down to -Inf. + int errMaxBits = 6; // Tests more strict when errMaxBits goes up to +Inf. + int trustableMantissa = 23; // Tests more strict when trustableMantissa goes up to 52. + *dd = 0.0 ; + //TODO: test vareps and var for NaNs! + int expoTG ; + frexpf(vard, &expoTG) ; + float dv = vareps-var ; + if (dv==0.0) { + *dd = 0.0 ; + if (vard==0.0 || expoTGexpoV2?expoV1:expoV2))) ; + frexpf(hv, &expoHV) ; + int discrepancySmallness = expoDV-expoHV ; + int discrepancyExactness = trustableMantissa-expoV+expoDV ; + hasDifference = (discrepancySmallness=0.0?vard:-vard) ; + float absdd = (*dd>=0.0?*dd:-*dd) ; + float maxabs = (absvard>absdd?absvard:absdd) ; + float absvardmdd = vard-*dd ; + if (absvardmdd<0.0) absvardmdd=-absvardmdd ; + *diff = (absvardmdd/maxabs)*100.0 ; +/* if (nbDebugDebug && hasDifference) { */ +/* nbDebugDebug-- ; */ +/* printf("vard:%24.16e [v-eps:%24.16e v-loc:%24.16e (%i)] dd:%24.16e (%i) -> %i\n", */ +/* vard, vareps, var, expoV, dv, expoDV, expoHV) ; */ +/* printf("n2:%i 52-M0+M1-6:%i different:%i %5.1f\n", */ +/* discrepancySmallness, discrepancyExactness, hasDifference, *diff) ; */ +/* } */ + } + } + return hasDifference ; +} + +void dbad_display_location(char *placename) { + if (dbad_testThisProcess!=-2) { + int i ; + char* enclosproc = dbad_callStack->funcname ; + int callStackDepth = dbad_callstackdepth() ; + char indentWhite[20] = " " ; + if (callStackDepth<10) indentWhite[2*callStackDepth]='\0'; + if (dbad_testThisProcess==-1) { + printf("%s[%2i]AT:%s OF %s\n", indentWhite, callStackDepth, placename, enclosproc) ; + } else { + printf("[process %i] %s[%2i]AT:%s OF %s\n", dbad_testThisProcess, indentWhite, callStackDepth, placename, enclosproc) ; + } + } +} + +void dbad_adDebugTgt_testComplex16(char* varname, cdcmplx var, cdcmplx *vard, int conclude) { + if (dbad_testThisProcess!=-2) { + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + dbad_putOne8(var.dr) ; + dbad_putOne8(var.di) ; + } else if (dbad_phase==2) { + cdcmplx ddvar, dd ; + float diffR, diffI ; + int hasDifferenceR, hasDifferenceI ; + dbad_ddcheckvarname(varname) ; + dbad_getOne8(&(ddvar.dr)) ; + dbad_getOne8(&(ddvar.di)) ; + hasDifferenceR = dbad_discrepancy8(ddvar.dr, var.dr, vard->dr, &(dd.dr), &diffR) ; + hasDifferenceI = dbad_discrepancy8(ddvar.di, var.di, vard->di, &(dd.di), &diffI) ; + if (dbad_trace) { + printf("%s [v-eps:(%24.16e,%24.16e) v-loc:(%24.16e,%24.16e)] (%24.16e,%24.16e)(dd (%5.1f,%5.1f)%% DIFF? WITH ad)(%24.16e,%24.16e)\n", + varname,ddvar.dr,ddvar.di,var.dr,var.di,dd.dr,dd.di,diffR,diffI,vard->dr,vard->di) ; + } else if (hasDifferenceR||hasDifferenceI) { + printf("%s (%24.16e,%24.16e)(dd (%5.1f,%5.1f)%% DIFF WITH ad)(%24.16e,%24.16e)\n", + varname,dd,dd,diffR,diffI,vard->dr,vard->di) ; + } + if (conclude==-1) { + //Nudge the ad derivative back to divided-diff value: + if (hasDifferenceR) { + vard->dr = dd.dr ; + printf("%s (.real) RESET:\n", varname) ; + } + if (hasDifferenceI) { + vard->di = dd.di ; + printf("%s (.imag) RESET:\n", varname) ; + } + } + if (conclude==1) { + cdcmplx varb ; + varb.dr = dbad_nextRandom(); + varb.di = dbad_nextRandom(); + dbad_condensed_dd += dd.dr*varb.dr + dd.di*varb.di; + dbad_condensed_tgt += vard->dr*varb.dr + vard->di*varb.di; + } + } + } +} + +void dbad_adDebugTgt_testReal8(char* varname, double var, double *vard, int conclude) { + if (dbad_testThisProcess!=-2) { + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + dbad_putOne8(var) ; + } else if (dbad_phase==2) { + double ddvar, dd ; + float diff ; + dbad_ddcheckvarname(varname) ; + dbad_getOne8(&ddvar) ; + int hasDifference = dbad_discrepancy8(ddvar, var, *vard, &dd, &diff) ; + if (dbad_trace) { + printf("%s [v-eps:%24.16e v-loc:%24.16e] %24.16e(dd %5.1f%% DIFF? WITH ad)%24.16e\n", + varname,ddvar,var,dd,diff,*vard) ; + } else if (hasDifference) { + printf("%s %24.16e(dd %5.1f%% DIFF WITH ad)%24.16e\n", + varname,dd,diff,*vard) ; + } + if (conclude==-1 && hasDifference) { + //Nudge the ad derivative back to divided-diff value: + *vard = dd ; + printf("%s RESET:\n", varname) ; + } + if (conclude==1) { + double varb = dbad_nextRandom() ; + dbad_condensed_dd += dd*varb; + dbad_condensed_tgt += *vard*varb; + } + } + } +} + +void dbad_adDebugTgt_testReal4(char* varname, float var, float *vard, int conclude) { + if (dbad_testThisProcess!=-2) { + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + dbad_putOne4(var) ; + } else if (dbad_phase==2) { + float ddvar, dd ; + float diff ; + dbad_ddcheckvarname(varname) ; + dbad_getOne4(&ddvar) ; + int hasDifference = dbad_discrepancy4(ddvar, var, *vard, &dd, &diff) ; + if (dbad_trace) { + printf("%s [v-eps:%18.10e v-loc:%18.10e] %18.10e(dd %5.1f%% DIFF? WITH ad)%18.10e\n", + varname,ddvar,var,dd,diff,*vard) ; + } else if (hasDifference) { + printf("%s %18.10e(dd %5.1f%% DIFF WITH ad)%18.10e\n", + varname,dd,diff,*vard) ; + } + if (conclude==-1 && hasDifference) { + //Nudge the ad derivative back to divided-diff value: + *vard = dd ; + printf("%s RESET:\n", varname) ; + } + if (conclude==1) { + double varb = dbad_nextRandom() ; + dbad_condensed_dd += ((double)dd)*varb; + dbad_condensed_tgt += ((double)*vard)*varb; + } + } + } +} + +void dbad_adDebugTgt_testComplex16Array(char* varname, cdcmplx* var, cdcmplx* vard, int length, int conclude) { + if (!var || !vard) return ; + if (dbad_testThisProcess!=-2) { + int i ; + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + for (i=0 ; i=5 || (i==length-1 && ibuf>0)) { + int j ; + if (!printedheader) { + if (conclude==-1) + printf("%s RESET:\n", varname) ; + else + printf("%s DIFFS:\n", varname) ; + printedheader = 1 ; + } + printf(" ") ; + for (j=0 ; j(%11.4e,%11.4e)", indexbuf[j], vardbuf[j].dr, vardbuf[j].di) ; + printf("\n ") ; + if (dbad_trace) { + for (j=0 ; j=10 || (i==length-1 && ibuf>0)) { + int j ; + if (!printedheader) { + if (conclude==-1) + printf("%s RESET:\n", varname) ; + else + printf("%s DIFFS:\n", varname) ; + printedheader = 1 ; + } + printf(" ") ; + for (j=0 ; j%11.4e", indexbuf[j], vardbuf[j]) ; + printf("\n ") ; + if (dbad_trace) { + for (j=0 ; j=10 || (i==length-1 && ibuf>0)) { + int j ; + if (!printedheader) { + if (conclude==-1) + printf("%s RESET:\n", varname) ; + else + printf("%s DIFFS:\n", varname) ; + printedheader = 1 ; + } + printf(" ") ; + for (j=0 ; j%11.4e", indexbuf[j], vardbuf[j]) ; + printf("\n ") ; + if (dbad_trace) { + for (j=0 ; jdr = dbad_nextRandom() ; + indepd->di = dbad_nextRandom() ; +/* dbad_scaleIndepDirection??(indepd, *indep) ; // One may prefer to comment this line out... */ + if (dbad_phase==1) { + indep->dr = (indep->dr)+dbad_ddeps*(indepd->dr) ; + indep->di = (indep->di)+dbad_ddeps*(indepd->di) ; + } + if (dbad_trace) + printf("initComplex16 of %s: (%24.16e,%24.16e) //(%24.16e,%24.16e)\n", varname, indep->dr, indep->di, indepd->dr, indepd->di) ; +} + +void adDebugTgt_initReal8(char* varname, double *indep, double *indepd) { + *indepd = dbad_nextRandom() ; +/* dbad_scaleIndepDirection8(indepd, *indep) ; // One may prefer to comment this line out... */ + if (dbad_phase==1) + *indep = (*indep)+dbad_ddeps*(*indepd) ; + if (dbad_trace) + printf("initReal8 of %s: %24.16e //%24.16e\n", varname, *indep, *indepd) ; +} + +void adDebugTgt_initReal4(char* varname, float *indep, float *indepd) { + *indepd = (float)dbad_nextRandom() ; +/* dbad_scaleIndepDirection4(indepd, *indep) ; // One may prefer to comment this line out... */ + if (dbad_phase==1) + *indep = (*indep)+dbad_ddeps*(*indepd) ; + if (dbad_trace) + printf("initReal4 of %s: %24.16e //%24.16e\n", varname, (double)*indep, (double)*indepd) ; +} + +void adDebugTgt_initComplex16Array(char* varname, cdcmplx *indep, cdcmplx *indepd, int length) { + if (!indep || !indepd) return ; + int i ; + for (i=0 ; i scaled %i (%24.16e,%24.16e)\n", i, indepd[i].dr, indepd[i].di) ; */ + } + if (dbad_phase==1) { + for (i=0 ; i scaled %i %24.16e\n", i, indepd[i]) ; */ + } + if (dbad_phase==1) { + for (i=0 ; i=0.0?dbad_condensed_tgt:-dbad_condensed_tgt) ; + absdd = (dbad_condensed_dd>=0.0?dbad_condensed_dd:-dbad_condensed_dd) ; + maxabs = (abstgt>absdd?abstgt:absdd) ; + abserror = dbad_condensed_tgt-dbad_condensed_dd ; + if (abserror<0.0) abserror=-abserror ; + diff = (abserror*100.0)/ maxabs ; + if (dbad_testThisProcess==-1) { + printf("Condensed tangent: %24.16e (ad)%5.1f%% DIFF WITH (dd)%24.16e [seed:%7.1e]\n", + dbad_condensed_tgt,diff,dbad_condensed_dd,dbad_seed) ; + } else { + printf("[process %i] Condensed tangent: %24.16e (ad)%5.1f%% DIFF WITH (dd)%24.16e [seed:%7.1e]\n", + dbad_testThisProcess,dbad_condensed_tgt,diff,dbad_condensed_dd,dbad_seed) ; + } + } + } +} + +void adDebugTgt_display(char *placename) { + if (dbad_testThisProcess!=-2) { + if (dbad_trace) { + if (dbad_testThisProcess==-1) { + printf("display %s\n", placename) ; + } else { + printf("[process %i] display %s\n", dbad_testThisProcess, placename) ; + } + } + if (dbad_phase==2) { + dbad_display_location(placename) ; + } + } +} + +//############## DEBUG OF ADJOINT, FIRST SWEEP: ADJOINT RUN ################ + +void adDebugBwd_init(double errmax, double seed) { + dbad_mode = -1 ; + dbad_phase = 1 ; + dbad_errormax = errmax ; + dbad_seed = seed ; + dbad_topContext.funcname = "TESTED CODE\0" ; + dbad_topContext.deltadepth = 0 ; + dbad_topContext.code = 0 ; + dbad_calltracedepth = 1 ; + dbad_callStack = &dbad_topContext ; + char* phase = getenv("DBAD_PHASE") ; + if (phase==NULL) { + printf("Please set DBAD_PHASE environment variable to 0 (no debug), 1 (sendToTgt), or -1 (plusTraces)\n") ; + dbad_phase = 1 ; + } else if (strcmp(phase,"0")==0) { + dbad_phase = 1 ; + dbad_nocommunication = 1 ; + } else if (strcmp(phase,"1")==0) { + dbad_phase = 1 ; + } else if (strcmp(phase,"-1")==0) { + dbad_phase = 1 ; + dbad_trace = 1 ; + } else { + printf("DBAD_PHASE environment variable must be set to 0 (no debug), 1 (sendToTgt), or -1 (plusTraces)\n") ; + exit(0) ; + } + printf("Starting ADJ test, phase one (bwd), errmax=%4.1f% [seed=%7.1e]\n", errmax, seed) ; + printf("===========================================================\n") ; + if (dbad_nocommunication) { + dbad_file = NULL ; + printf("FIFO COMMUNICATION TURNED OFF !\n") ; + } else { + mkfifo("/tmp/DBAD_fifo", S_IWUSR | S_IRUSR | S_IRGRP | S_IROTH | S_IRWXU | S_IRWXO) ; + dbad_file = fopen("/tmp/DBAD_fifo", "a") ; + if (dbad_file==NULL) { + char errbuf[20] ; + strerror_r(errno, errbuf, 20) ; + printf("FIFO ERROR %i: %s OR %s\n",errno,strerror(errno),errbuf) ; + exit(0) ; + } + } + dbad_resetCondensors() ; +} + +void adDebugBwd_call(char *funcname, int deltadepth) { + dbad_pushCallFrame(funcname, deltadepth, 0) ; +} + +void adDebugBwd_exit() { + dbad_resetCondensors() ; + if (dbad_debugabove()) { + if (dbad_nocommunication) { + printf("adDebug would send (%i %s)\n", (dbad_debughere(0)?2:-2), dbad_callStack->funcname) ; + } else { + fprintf(dbad_file, "%i\n", (dbad_debughere(0)?2:-2)) ; + fprintf(dbad_file, "%s\n", dbad_callStack->funcname) ; + } + } + dbad_popCallFrame() ; +} + +int adDebugBwd_here(char* placename) { + dbad_resetCondensors() ; + return adDebugTgt_here(placename, 0) ; +} + +//############## DEBUG OF ADJOINT, SECOND SWEEP: TANGENT RUN ################ + +void adDebugFwd_init(double errmax, double seed) { + dbad_mode = -1 ; + dbad_phase = 2 ; + dbad_errormax = errmax ; + dbad_seed = seed ; + dbad_topContext.funcname = "TESTED CODE\0" ; + dbad_topContext.deltadepth = 0 ; + dbad_topContext.code = 0 ; + dbad_calltracedepth = 1 ; + dbad_callStack = &dbad_topContext ; + char* phase = getenv("DBAD_PHASE") ; + if (phase==NULL) { + printf("Please set DBAD_PHASE environment variable to 0 (no debug), 2 (readFromAdj), or -2 (plusTraces)\n") ; + dbad_phase = 2 ; + } else if (strcmp(phase,"0")==0) { + dbad_phase = 2 ; + dbad_nocommunication = 1 ; + } else if (strcmp(phase,"2")==0) { + dbad_phase = 2 ; + } else if (strcmp(phase,"-2")==0) { + dbad_phase = 2 ; + dbad_trace = 1 ; + } else { + printf("DBAD_PHASE environment variable must be set to 0 (no debug), 2 (readFromAdj), or -2 (plusTraces)\n") ; + exit(0) ; + } + dbad_nberrors = 0 ; + printf("Starting ADJ test, phase two (fwd), errmax=%4.1f% [seed=%7.1e]\n", errmax, seed) ; + printf("===========================================================\n") ; + if (dbad_nocommunication) { + dbad_file = NULL ; + printf("FIFO COMMUNICATION TURNED OFF !\n") ; + } else { + dbad_file = fopen("/tmp/DBAD_fifo", "r") ; + dbad_resetCondensors() ; + /* Convention on the meaning of labels: + -1 -> a debug point, skipped + 0 -> a debug point, traced but no associated value. + 1 -> a debug point, traced, with an associated value. + -2 -> a call, skipped + 2 -> a call, traced + */ + int ret=0 ; + int label ; + char placename[40] ; + double value ; + while (1) { + ret = fscanf(dbad_file, "%i\n", &label) ; + if (ret!=1) break ; + ret = fscanf(dbad_file, "%s\n", placename) ; + if (label==1) { + ret = fscanf(dbad_file, "%lf\n", &value) ; + dbad_pushReal8(value) ; + } + pushCharacterArray(placename, 40) ; + dbad_pushinteger4(label) ; + } + } +} + +void adDebugFwd_call(char *funcname) { + int label ; + char funcnamefrom[40] ; + char funcnamehere[40] ; + // In the special debug^2 case, on the 2nd phase (tangent) of the debugAdj, with DBAD_PHASE=0, + // push the call frame but do essentially nothing! + if (dbad_debughere(0) && !(dbad_nocommunication && dbad_phase==2)) { + dbad_popinteger4(&label) ; + if (label!=2 && label!=-2) { + printf("Control mismatch, expecting a trace (-2or2) from %s bwd call exit, got %i\n",funcname,label) ; + exit(0) ; + } + popCharacterArray(funcnamefrom, 40) ; + sprintf(funcnamehere,"%s",funcname) ; + if (strcmp(funcnamefrom,funcnamehere)!=0) { + printf("Control mismatch, expecting a call to %s, got %s\n",funcnamehere,funcnamefrom) ; + exit(0) ; + } + dbad_pushCallFrame(funcname, 0, 0) ; + if (label==2) { // then the call is traced: + dbad_callStack->deltadepth += (dbad_calltracedepth-1) ; + dbad_calltracedepth = 1 ; + } else { // then label==-2: the call is not traced: + dbad_callStack->deltadepth += dbad_calltracedepth ; + dbad_calltracedepth = 0 ; + } + } else { + dbad_pushCallFrame(funcname, 0, 0) ; + } +} + +void adDebugFwd_exit() { + dbad_popCallFrame() ; +} + +int adDebugFwd_here(char* placename) { + // In the special debug^2 case, on the 2nd phase (tangent) of the debugAdj, with DBAD_PHASE=0, + // never go into the derivative manipulation body, except to st the inputs at the very "start" + // and to print the result at the very "end". + if (dbad_nocommunication && dbad_phase==2) { + if (strcmp(placename,"end")==0 || strcmp(placename,"start")==0) + return 1 ; + else + return 0 ; + } else { + if (dbad_debughere(0)) { + int label ; + char placenamefrom[40] ; + char placenamehere[40] ; + dbad_resetCondensors() ; + dbad_popinteger4(&label) ; + if (label!=1 && label!=-1 && label!=0) { + printf("Control mismatch, expecting a trace (-1or0or1) from place %s, got %i\n",placename,label) ; + exit(0) ; + } + popCharacterArray(placenamefrom, 40) ; + sprintf(placenamehere,"%s",placename) ; + if (strcmp(placenamefrom,placenamehere)!=0) { + printf("Control mismatch, expecting place %s, got %s\n",placenamehere,placenamefrom) ; + exit(0) ; + } + if (label==1) { + dbad_popReal8(&dbad_nextrefsum) ; + } + return label!=-1 ; + } else { + return 0 ; + } + } +} + +//############## DEBUG OF ADJOINT, FOR BOTH SWEEPS: ################ + +void adDebugAdj_rwComplex16(cdcmplx *vard) { + double varbR = dbad_nextRandom() ; + double varbI = dbad_nextRandom() ; + dbad_condensed_adj += varbR*(vard->dr) + varbI*(vard->di) ; + vard->dr = varbR ; + vard->di = varbI ; +} + +void adDebugAdj_rwReal8(double *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; + *vard = varb ; +} + +void adDebugAdj_rwReal4(float *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; + *vard = (float)varb ; +} + +void adDebugAdj_rComplex16(cdcmplx *vard) { + double varbR = dbad_nextRandom() ; + double varbI = dbad_nextRandom() ; + dbad_condensed_adj += varbR*(vard->dr) + varbI*(vard->di) ; +} + +/** Although at present this routine doesn't modify its argument, + * we still expect a reference for consistency + * with adDebugAdj_wReal8() and also adDebugAdj_rComplex16() */ +void adDebugAdj_rReal8(double *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; +} + +/** Although at present this routine doesn't modify its argument, + * we still expect a reference for consistency + * with adDebugAdj_wReal4() and also adDebugAdj_rComplex16() */ +void adDebugAdj_rReal4(float *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; +} + +void adDebugAdj_wComplex16(cdcmplx *vard) { + vard->dr = dbad_nextRandom() ; + vard->di = dbad_nextRandom() ; +} + +void adDebugAdj_wReal8(double *vard) { + *vard = dbad_nextRandom() ; +} + +void adDebugAdj_wReal4(float *vard) { + *vard = (float)dbad_nextRandom() ; +} + +void adDebugAdj_rwComplex16Array(cdcmplx *vard, int length) { + int i ; + if (vard) + for (i=0 ; i=0.0?dbad_refsum:-dbad_refsum) ; + double absadj = (dbad_condensed_adj>=0.0?dbad_condensed_adj:-dbad_condensed_adj) ; + double absdiff = dbad_refsum - dbad_condensed_adj ; + if (absdiff<0.0) absdiff = -absdiff ; + double reldiff = (absdiff*200.0)/(absref+absadj) ; + if (reldiff>dbad_errormax) { + printf(" %5.1f%% DIFFERENCE!! tgt:%24.16e adj:%24.16e\n", + reldiff, dbad_condensed_adj, dbad_refsum) ; + ++dbad_nberrors ; + } else if (strcmp(placename,"end")==0 && dbad_nberrors==0) { + // When we are at end and no errors were found, always show the compared values + printf(" difference is just %7.3f% between tgt:%24.16e and adj:%24.16e\n", + reldiff, dbad_condensed_adj, dbad_refsum) ; + } + if (indent==0) dbad_display_location(placename) ; + } + } + dbad_resetCondensors() ; +} + +void adDebugAdj_wDisplay(char *placename, int indent) { + if (dbad_phase==1) { + if (dbad_nocommunication) { + printf("adDebug would send (0 %s)\n", placename) ; + } else { + fprintf(dbad_file, "0\n") ; + fprintf(dbad_file, "%s\n", placename) ; + } + } else if (dbad_phase==2) { + if (indent==0) dbad_display_location(placename) ; + dbad_refsum = dbad_nextrefsum ; + } + dbad_resetCondensors() ; +} + +void adDebugAdj_skip(char *placename) { + if (dbad_phase==1 && dbad_debughere(0)) { + if (dbad_nocommunication) { + printf("adDebug would send (-1 %s)\n", placename) ; + } else { + fprintf(dbad_file, "-1\n") ; + fprintf(dbad_file, "%s\n", placename) ; + } + } +} + +void adDebugAdj_conclude() { + if (dbad_phase==2) { + if (!dbad_nocommunication) { + // In the special debug^2 case, on the 2nd phase (tangent) of the debugAdj, with DBAD_PHASE=0, + // don't claim that any testing has been done!! but show the expected condensed tangent: + printf("End of ADJ test, %i error(s) found.\n", dbad_nberrors) ; + printf("===========================================================\n") ; + } + } +} + +/* void adDebugAdj_show() { */ +/* printf("Present sum %24.16e, current seed is %f (%f)\n", dbad_condensed_adj, dbad_currentSeed, dbad_seed) ; */ +/* } */ + +//############## INTERFACE PROCEDURES CALLED FROM FORTRAN ################ + +void addebugtgt_init_(double *epsilon, double *seed, int *tested_process) { + adDebugTgt_init(*epsilon, *seed, *tested_process) ; +} + +void addebugtgt_call_(char* unitname, int *deltadepth, int *forcetraced) { + adDebugTgt_call(unitname, *deltadepth, *forcetraced) ; +} + +void addebugtgt_exit_() { + adDebugTgt_exit() ; +} + +int addebugtgt_here_(char* placename, int *forcetraced) { + return adDebugTgt_here(placename, *forcetraced) ; +} + +void addebugtgt_initcomplex16_(char* varname, cdcmplx *indep, cdcmplx *indepd) { + adDebugTgt_initComplex16(varname, indep, indepd) ; +} + +void addebugtgt_initreal8_(char* varname, double *indep, double *indepd) { + adDebugTgt_initReal8(varname, indep, indepd) ; +} + +void addebugtgt_initreal4_(char* varname, float *indep, float *indepd) { + adDebugTgt_initReal4(varname, indep, indepd) ; +} + +void addebugtgt_initcomplex16array_(char* varname, cdcmplx *indep, cdcmplx *indepd, int *length) { + adDebugTgt_initComplex16Array(varname, indep, indepd, *length) ; +} + +void addebugtgt_initreal8array_(char* varname, double *indep, double *indepd, int *length) { + adDebugTgt_initReal8Array(varname, indep, indepd, *length) ; +} + +void addebugtgt_initreal4array_(char* varname, float *indep, float *indepd, int *length) { + adDebugTgt_initReal4Array(varname, indep, indepd, *length) ; +} + +void addebugtgt_passivecomplex16_(char *varname, cdcmplx *var) { + adDebugTgt_passiveComplex16(varname, *var) ; +} + +void addebugtgt_passivereal8_(char *varname, double *var) { + adDebugTgt_passiveReal8(varname, *var) ; +} + +void addebugtgt_passivereal4_(char *varname, float *var) { + adDebugTgt_passiveReal4(varname, *var) ; +} + +void addebugtgt_passivecomplex16array_(char *varname, cdcmplx *var, int *length) { + adDebugTgt_passiveComplex16Array(varname, var, *length) ; +} + +void addebugtgt_passivereal8array_(char *varname, double *var, int *length) { + adDebugTgt_passiveReal8Array(varname, var, *length) ; +} + +void addebugtgt_passivereal4array_(char *varname, float *var, int *length) { + adDebugTgt_passiveReal4Array(varname, var, *length) ; +} + +void addebugtgt_testcomplex16_(char *varname, cdcmplx *var, cdcmplx *vard) { + adDebugTgt_testComplex16(varname, *var, vard) ; +} + +void addebugtgt_testreal8_(char *varname, double *var, double *vard) { + adDebugTgt_testReal8(varname, *var, vard) ; +} + +void addebugtgt_testreal4_(char *varname, float *var, float *vard) { + adDebugTgt_testReal4(varname, *var, vard) ; +} + +void addebugtgt_testcomplex16array_(char *varname, cdcmplx* var, cdcmplx* vard, int *length) { + adDebugTgt_testComplex16Array(varname, var, vard, *length) ; +} + +void addebugtgt_testreal8array_(char *varname, double* var, double* vard, int *length) { + adDebugTgt_testReal8Array(varname, var, vard, *length) ; +} + +void addebugtgt_testreal4array_(char *varname, float* var, float* vard, int *length) { + adDebugTgt_testReal4Array(varname, var, vard, *length) ; +} + +void addebugtgt_concludecomplex16_(char* varname, cdcmplx *dep, cdcmplx *depd) { + adDebugTgt_concludeComplex16(varname, *dep, depd) ; +} + +void addebugtgt_concludereal8_(char* varname, double *dep, double *depd) { + adDebugTgt_concludeReal8(varname, *dep, depd) ; +} + +void addebugtgt_concludereal4_(char* varname, float *dep, float *depd) { + adDebugTgt_concludeReal4(varname, *dep, depd) ; +} + +void addebugtgt_concludecomplex16array_(char* varname, cdcmplx *dep, cdcmplx *depd, int *length) { + adDebugTgt_concludeComplex16Array(varname, dep, depd, *length) ; +} + +void addebugtgt_concludereal8array_(char* varname, double *dep, double *depd, int *length) { + adDebugTgt_concludeReal8Array(varname, dep, depd, *length) ; +} + +void addebugtgt_concludereal4array_(char* varname, float *dep, float *depd, int *length) { + adDebugTgt_concludeReal4Array(varname, dep, depd, *length) ; +} + +void addebugtgt_conclude_() { + adDebugTgt_conclude() ; +} + +void addebugtgt_display_(char *placename) { + adDebugTgt_display(placename) ; +} + +void addebugbwd_init_(double *errmax, double *seed) { + adDebugBwd_init(*errmax, *seed) ; +} + +void addebugbwd_call_(char *funcname, int *deltadepth) { + adDebugBwd_call(funcname, *deltadepth) ; +} + +void addebugbwd_exit_() { + adDebugBwd_exit() ; +} + +int addebugbwd_here_(char* placename) { + return adDebugBwd_here(placename) ; +} + +void addebugfwd_init_(double *errmax, double *seed) { + adDebugFwd_init(*errmax, *seed) ; +} + +void addebugfwd_call_(char *funcname) { + adDebugFwd_call(funcname) ; +} + +void addebugfwd_exit_() { + adDebugFwd_exit() ; +} + +int addebugfwd_here_(char* placename) { + return adDebugFwd_here(placename) ; +} + +void addebugadj_rwreal4_(float *vard) { + adDebugAdj_rwReal4(vard) ; +} + +void addebugadj_rwreal8_(double *vard) { + adDebugAdj_rwReal8(vard) ; +} + +void addebugadj_rwcomplex16_(cdcmplx *vard) { + adDebugAdj_rwComplex16(vard) ; +} + +void addebugadj_rreal4_(float *vard) { + adDebugAdj_rReal4(vard) ; +} + +void addebugadj_rreal8_(double *vard) { + adDebugAdj_rReal8(vard) ; +} + +void addebugadj_rcomplex16_(cdcmplx *vard) { + adDebugAdj_rComplex16(vard) ; +} + +void addebugadj_wreal4_(float *vard) { + adDebugAdj_wReal4(vard) ; +} + +void addebugadj_wreal8_(double *vard) { + adDebugAdj_wReal8(vard) ; +} + +void addebugadj_wcomplex16_(cdcmplx *vard) { + adDebugAdj_wComplex16(vard) ; +} + +void addebugadj_rwreal4array_(float *vard, int *length) { + adDebugAdj_rwReal4Array(vard, *length) ; +} + +void addebugadj_rwreal8array_(double *vard, int *length) { + adDebugAdj_rwReal8Array(vard, *length) ; +} + +void addebugadj_rwcomplex16array_(cdcmplx *vard, int *length) { + adDebugAdj_rwComplex16Array(vard, *length) ; +} + +void addebugadj_rreal4array_(float *vard, int *length) { + adDebugAdj_rReal4Array(vard, *length) ; +} + +void addebugadj_rreal8array_(double *vard, int *length) { + adDebugAdj_rReal8Array(vard, *length) ; +} + +void addebugadj_rcomplex16array_(cdcmplx *vard, int *length) { + adDebugAdj_rComplex16Array(vard, *length) ; +} + +void addebugadj_wreal4array_(float *vard, int *length) { + adDebugAdj_wReal4Array(vard, *length) ; +} + +void addebugadj_wreal8array_(double *vard, int *length) { + adDebugAdj_wReal8Array(vard, *length) ; +} + +void addebugadj_wcomplex16array_(cdcmplx *vard, int *length) { + adDebugAdj_wComplex16Array(vard, *length) ; +} + +void addebugadj_rwdisplay_(char *placename, int *indent) { + adDebugAdj_rwDisplay(placename, *indent) ; +} + +void addebugadj_rdisplay_(char *placename, int *indent) { + adDebugAdj_rDisplay(placename, *indent) ; +} + +void addebugadj_wdisplay_(char *placename, int *indent) { + adDebugAdj_wDisplay(placename, *indent) ; +} + +void addebugadj_skip_(char* placename) { + adDebugAdj_skip(placename) ; +} + +void addebugadj_conclude_() { + adDebugAdj_conclude() ; +} diff --git a/tools/TAP_support/ADFirstAidKit/adDebug.h b/tools/TAP_support/ADFirstAidKit/adDebug.h new file mode 100644 index 0000000000..8c179cd5c4 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adDebug.h @@ -0,0 +1,72 @@ +#ifndef ADDEBUG_INCLUDED +#define ADDEBUG_INCLUDED + +#include "adComplex.h" + +void adDebugTgt_init(double epsilon, double seed, int tested_process) ; +void adDebugTgt_call(char *unitname, int traced, int forcetraced) ; +void adDebugTgt_exit() ; +int adDebugTgt_here(char* placename, int forcetraced) ; + +void adDebugTgt_initReal4(char* varname, float *indep, float *indepd) ; +void adDebugTgt_initReal8(char* varname, double *indep, double *indepd) ; +void adDebugTgt_initComplex16(char* varname, cdcmplx *indep, cdcmplx *indepd) ; +void adDebugTgt_initReal4Array(char* varname, float *indep, float *indepd, int length) ; +void adDebugTgt_initReal8Array(char* varname, double *indep, double *indepd, int length) ; +void adDebugTgt_initComplex16Array(char* varname, cdcmplx *indep, cdcmplx *indepd, int length) ; +void adDebugTgt_concludeReal4(char *varname, float dep, float *depd) ; +void adDebugTgt_concludeReal8(char *varname, double dep, double *depd) ; +void adDebugTgt_concludeComplex16(char *varname, cdcmplx dep, cdcmplx *depd) ; +void adDebugTgt_concludeReal4Array(char *varname, float *tvar, float *tvard, int length) ; +void adDebugTgt_concludeReal8Array(char *varname, double *tvar, double *tvard, int length) ; +void adDebugTgt_concludeComplex16Array(char *varname, cdcmplx *tvar, cdcmplx *tvard, int length) ; +void adDebugTgt_conclude() ; +void adDebugTgt_passiveReal4(char *varname, float var) ; +void adDebugTgt_passiveReal8(char *varname, double var) ; +void adDebugTgt_passiveComplex16(char *varname, cdcmplx var) ; +void adDebugTgt_passiveReal4Array(char *varname, float *var, int length) ; +void adDebugTgt_passiveReal8Array(char *varname, double *var, int length) ; +void adDebugTgt_passiveComplex16Array(char *varname, cdcmplx *var, int length) ; +void adDebugTgt_testReal4(char *varname, float var, float *vard) ; +void adDebugTgt_testReal8(char *varname, double var, double *vard) ; +void adDebugTgt_testComplex16(char *varname, cdcmplx var, cdcmplx *vard) ; +void adDebugTgt_testReal4Array(char *varname, float *var, float *vard, int length) ; +void adDebugTgt_testReal8Array(char *varname, double *var, double *vard, int length) ; +void adDebugTgt_testComplex16Array(char *varname, cdcmplx *var, cdcmplx *vard, int length) ; +void adDebugTgt_display(char *placename) ; + +void adDebugBwd_init(double errmax, double seed) ; +void adDebugBwd_call(char *funcname, int deltadepth) ; +void adDebugBwd_exit() ; +int adDebugBwd_here(char* placename) ; + +void adDebugFwd_init(double errmax, double seed) ; +void adDebugFwd_call(char *funcname) ; +void adDebugFwd_exit() ; +int adDebugFwd_here(char* placename) ; + +void adDebugAdj_rwReal4(float *vard) ; +void adDebugAdj_rwReal8(double *vard) ; +void adDebugAdj_rwComplex16(cdcmplx *vard) ; +void adDebugAdj_rReal4(float *vard) ; +void adDebugAdj_rReal8(double *vard) ; +void adDebugAdj_rComplex16(cdcmplx *vard) ; +void adDebugAdj_wReal4(float *vard) ; +void adDebugAdj_wReal8(double *vard) ; +void adDebugAdj_wComplex16(cdcmplx *vard) ; +void adDebugAdj_rwReal4Array(float *vard, int length) ; +void adDebugAdj_rwReal8Array(double *vard, int length) ; +void adDebugAdj_rwComplex16Array(cdcmplx *vard, int length) ; +void adDebugAdj_rReal4Array(float *vard, int length) ; +void adDebugAdj_rReal8Array(double *vard, int length) ; +void adDebugAdj_rComplex16Array(cdcmplx *vard, int length) ; +void adDebugAdj_wReal4Array(float *vard, int length) ; +void adDebugAdj_wReal8Array(double *vard, int length) ; +void adDebugAdj_wComplex16Array(cdcmplx *vard, int length) ; +void adDebugAdj_rwDisplay(char *placename, int indent) ; +void adDebugAdj_rDisplay(char *placename, int indent) ; +void adDebugAdj_wDisplay(char *placename, int indent) ; +void adDebugAdj_skip(char *placename) ; +void adDebugAdj_conclude() ; + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/adDebugMPI.c b/tools/TAP_support/ADFirstAidKit/adDebugMPI.c new file mode 100644 index 0000000000..709ba17606 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adDebugMPI.c @@ -0,0 +1,1705 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include "adDebug.h" + +/* Special for the non-regression tests on AMPI */ +#include + +extern void pushNArray(char *x, unsigned int nbChars, int checkReadOnly) ; +extern void popNArray(char *x, unsigned int nbChars, int checkReadOnly) ; +extern void pushCharacterArray(char *x, int n) ; +extern void popCharacterArray(char *x, int n) ; + +/* The "call stack" used by debugging to + * keep track of the position in the call tree */ +typedef struct _DBAD_CallStackElem { + char *funcname ; + int deltadepth ; + int code ; + struct _DBAD_CallStackElem *context ; +} DBAD_CallStackElem ; + +static DBAD_CallStackElem dbad_topContext ; +static DBAD_CallStackElem *dbad_callStack ; +static int dbad_calltracedepth = 1 ; + +static int dbad_mode, dbad_phase, dbad_nberrors ; +static int dbad_trace = 0 ; +static int dbad_nocommunication = 0 ; +/** The rank of the current process (from 0 up), if it is being tested. + * -2 means don't test the current process + * -1 means test this process (not-MPI case) but don't print process number! */ +static int dbad_testThisProcess = -1 ; +static FILE *dbad_file ; +static double dbad_errormax, dbad_ddeps = 1.e-6 ; +static double dbad_seed = 0.137 ; +static double dbad_currentSeed = 0.0 ; +static double dbad_condensed_dd, dbad_condensed_tgt, dbad_condensed_adj ; +static double dbad_refsum, dbad_nextrefsum ; + +/** Buffers for stack mechanism, redefined to avoid linking with adStack.c */ +static double dbad_adr8buf[512] ; +static int dbad_adr8ibuf = 0 ; +static int dbad_adi4buf[512] ; +static int dbad_adi4ibuf = 0 ; + +void dbad_pushReal8(double x) { + if (dbad_adr8ibuf >= 511) { + dbad_adr8buf[511] = x ; + pushNArray((char *)dbad_adr8buf, 512*8, 1) ; + dbad_adr8ibuf = 0 ; + } else { + dbad_adr8buf[dbad_adr8ibuf] = x ; + ++dbad_adr8ibuf ; + } +} + +void dbad_popReal8(double *x) { + if (dbad_adr8ibuf <= 0) { + popNArray((char *)dbad_adr8buf, 512*8, 1) ; + dbad_adr8ibuf = 511 ; + *x = dbad_adr8buf[511] ; + } else { + --dbad_adr8ibuf ; + *x = dbad_adr8buf[dbad_adr8ibuf] ; + } +} + +void dbad_pushinteger4(int x) { + if (dbad_adi4ibuf >= 511) { + dbad_adi4buf[511] = x ; + pushNArray((char *)dbad_adi4buf, 512*4, 1) ; + dbad_adi4ibuf = 0 ; + } else { + dbad_adi4buf[dbad_adi4ibuf] = x ; + ++dbad_adi4ibuf ; + } +} + +void dbad_popinteger4(int *x) { + if (dbad_adi4ibuf <= 0) { + popNArray((char *)dbad_adi4buf, 512*4, 1) ; + dbad_adi4ibuf = 511 ; + *x = dbad_adi4buf[511] ; + } else { + --dbad_adi4ibuf ; + *x = dbad_adi4buf[dbad_adi4ibuf] ; + } +} +/* End redefinition of the buffers for the stack mechanism */ + +void dbad_pushCallFrame(char* unitname, int deltadepth, int forcetraced) { + DBAD_CallStackElem *newCallLevel = (DBAD_CallStackElem*)malloc(sizeof(DBAD_CallStackElem)) ; + newCallLevel->funcname = (char*)malloc(100) ; + sprintf(newCallLevel->funcname, "%s", unitname) ; + newCallLevel->deltadepth = (dbad_calltracedepth>0?1-deltadepth:0) ; + dbad_calltracedepth -= newCallLevel->deltadepth ; + // forcing mechanism: + if (forcetraced>0 && forcetraced>dbad_calltracedepth) { + newCallLevel->deltadepth -= (forcetraced-dbad_calltracedepth) ; + dbad_calltracedepth = forcetraced ; + } + newCallLevel->code = 0 ; + newCallLevel->context = dbad_callStack ; + dbad_callStack = newCallLevel ; +} + +void dbad_popCallFrame() { + dbad_calltracedepth += dbad_callStack->deltadepth ; + DBAD_CallStackElem *newCallLevel = dbad_callStack->context ; + free(dbad_callStack->funcname) ; + free(dbad_callStack) ; + dbad_callStack = newCallLevel ; +} + +int dbad_debughere(int forcetraced) { + return (dbad_calltracedepth>0 || forcetraced) ; +} + +int dbad_debugabove() { + return (dbad_calltracedepth+dbad_callStack->deltadepth)>0 ; +} + +int dbad_callstackdepth() { + DBAD_CallStackElem *incallstack = dbad_callStack ; + int depth = 0 ; + while (incallstack) {++depth ; incallstack=incallstack->context ;} + return depth-1 ; +} + +void dbad_resetCondensors() { + dbad_currentSeed = 0.0 ; + dbad_condensed_dd = 0.0 ; + dbad_condensed_tgt = 0.0 ; + dbad_condensed_adj = 0.0 ; +} + +double dbad_nextRandom() { + dbad_currentSeed += dbad_seed ; + if (dbad_currentSeed>=1.0) dbad_currentSeed-=1.0 ; + /* Return a value in range [1.0 2.0[ */ + return dbad_currentSeed+1.0 ; +} + +/** Scales the tangent direction *indepd (now in range [1.0 2.0[) + * so that it has same magnitude as indep */ +void dbad_scaleIndepDirection4(float *indepd, float indep) { + int exponent ; + frexpf(indep, &exponent); + *indepd = ldexpf(*indepd, exponent) ; +} + +/** Scales the tangent direction *indepd (now in range [1.0 2.0[) + * so that it has same magnitude as indep */ +void dbad_scaleIndepDirection8(double *indepd, double indep) { + int exponent ; + frexp(indep, &exponent); + *indepd = ldexp(*indepd, exponent) ; +} + +void dbad_putOneVarName(char *varname) { + char buf[8]=" " ; + int len = strlen(varname) ; + if (len>8) len = 8 ; + memcpy(buf, varname, len) ; + fwrite(buf, sizeof(char), 8, dbad_file) ; +} + +void dbad_ddcheckvarname(char* varname) { + char localBuf[9]=" " ; + char remoteBuf[9]=" " ; + int len = strlen(varname) ; + if (len>8) len = 8 ; + memcpy(localBuf, varname, len) ; + fread(remoteBuf, sizeof(char), 8, dbad_file) ; + if (strcmp(localBuf, remoteBuf)!=0) { + printf("Control mismatch, expecting a variable named \"%s\", got \"%s\"\n",localBuf,remoteBuf) ; + exit(0) ; + } +} + +void dbad_putOne8(double var) { + fwrite(&var, sizeof(double), 1, dbad_file) ; +} + +void dbad_putOne4(float var) { + float fl2[2] ; + fl2[0] = var ; + fwrite(fl2, sizeof(float), 2, dbad_file) ; +} + +void dbad_getOne8(double *var) { + fread(var, sizeof(double), 1, dbad_file) ; +} + +void dbad_getOne4(float *var) { + float fl2[2] ; + fread(fl2, sizeof(float), 2, dbad_file) ; + *var = fl2[0] ; +} + +/* static int nbDebugDebug = 10 ; */ + +int dbad_discrepancy8(double vareps, double var, double vard, double *dd, float *diff) { + int hasDifference = 0 ; + int almostZero = -15; // Tests more strict when almostZero goes down to -Inf. + int errMaxBits = 8; // Tests more strict when errMaxBits goes up to +Inf. + int trustableMantissa = 53; // Tests more strict when trustableMantissa goes up to 52. + *dd = 0.0 ; + //TODO: test vareps and var for NaNs! + int expoTG ; + frexp(vard, &expoTG) ; + double dv = vareps-var ; +/* printf("vard:%24.16e expoTG:%i almostZero:%i dv:%24.16e - %24.16e = %24.16e\n",vard,expoTG,almostZero,vareps,var,dv) ; */ + if (dv==0.0) { + *dd = 0.0 ; + if (vard==0.0 || expoTGexpoV2?expoV1:expoV2))) ; + frexp(hv, &expoHV) ; + int discrepancySmallness = expoDV-expoHV ; + int discrepancyExactness = trustableMantissa-expoV+expoDV ; + hasDifference = (discrepancySmallness=0.0?vard:-vard) ; + double absdd = (*dd>=0.0?*dd:-*dd) ; + double maxabs = (absvard>absdd?absvard:absdd) ; + double absvardmdd = vard-*dd ; + if (absvardmdd<0.0) absvardmdd=-absvardmdd ; + *diff = (float)((absvardmdd/maxabs)*100.0) ; +/* if (nbDebugDebug && hasDifference) { */ +/* nbDebugDebug-- ; */ +/* printf("vard:%24.16e [v-eps:%24.16e v-loc:%24.16e (%i)] dd:%24.16e (%i) -> %i\n", */ +/* vard, vareps, var, expoV, dv, expoDV, expoHV) ; */ +/* printf("n2:%i 52-M0+M1-6:%i different:%i %5.1f\n", */ +/* discrepancySmallness, discrepancyExactness, hasDifference, *diff) ; */ +/* } */ + } + } + return hasDifference ; +} + +int dbad_discrepancy4(float vareps, float var, float vard, float *dd, float *diff) { + int hasDifference = 0 ; + int almostZero = -15; // Tests more strict when almostZero goes down to -Inf. + int errMaxBits = 6; // Tests more strict when errMaxBits goes up to +Inf. + int trustableMantissa = 23; // Tests more strict when trustableMantissa goes up to 52. + *dd = 0.0 ; + //TODO: test vareps and var for NaNs! + int expoTG ; + frexpf(vard, &expoTG) ; + float dv = vareps-var ; + if (dv==0.0) { + *dd = 0.0 ; + if (vard==0.0 || expoTGexpoV2?expoV1:expoV2))) ; + frexpf(hv, &expoHV) ; + int discrepancySmallness = expoDV-expoHV ; + int discrepancyExactness = trustableMantissa-expoV+expoDV ; + hasDifference = (discrepancySmallness=0.0?vard:-vard) ; + float absdd = (*dd>=0.0?*dd:-*dd) ; + float maxabs = (absvard>absdd?absvard:absdd) ; + float absvardmdd = vard-*dd ; + if (absvardmdd<0.0) absvardmdd=-absvardmdd ; + *diff = (absvardmdd/maxabs)*100.0 ; +/* if (nbDebugDebug && hasDifference) { */ +/* nbDebugDebug-- ; */ +/* printf("vard:%24.16e [v-eps:%24.16e v-loc:%24.16e (%i)] dd:%24.16e (%i) -> %i\n", */ +/* vard, vareps, var, expoV, dv, expoDV, expoHV) ; */ +/* printf("n2:%i 52-M0+M1-6:%i different:%i %5.1f\n", */ +/* discrepancySmallness, discrepancyExactness, hasDifference, *diff) ; */ +/* } */ + } + } + return hasDifference ; +} + +void dbad_display_location(char *placename) { + if (dbad_testThisProcess!=-2) { + int i ; + char* enclosproc = dbad_callStack->funcname ; + int callStackDepth = dbad_callstackdepth() ; + char indentWhite[20] = " " ; + if (callStackDepth<10) indentWhite[2*callStackDepth]='\0'; + if (dbad_testThisProcess==-1) { + printf("%s[%2i]AT:%s OF %s\n", indentWhite, callStackDepth, placename, enclosproc) ; + } else { + printf("[process %i] %s[%2i]AT:%s OF %s\n", dbad_testThisProcess, indentWhite, callStackDepth, placename, enclosproc) ; + } + } +} + +void dbad_adDebugTgt_testComplex16(char* varname, cdcmplx var, cdcmplx *vard, int conclude) { + if (dbad_testThisProcess!=-2) { + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + dbad_putOne8(var.dr) ; + dbad_putOne8(var.di) ; + } else if (dbad_phase==2) { + cdcmplx ddvar, dd ; + float diffR, diffI ; + int hasDifferenceR, hasDifferenceI ; + dbad_ddcheckvarname(varname) ; + dbad_getOne8(&(ddvar.dr)) ; + dbad_getOne8(&(ddvar.di)) ; + hasDifferenceR = dbad_discrepancy8(ddvar.dr, var.dr, vard->dr, &(dd.dr), &diffR) ; + hasDifferenceI = dbad_discrepancy8(ddvar.di, var.di, vard->di, &(dd.di), &diffI) ; + if (dbad_trace) { + printf("%s [v-eps:(%24.16e,%24.16e) v-loc:(%24.16e,%24.16e)] (%24.16e,%24.16e)(dd (%5.1f,%5.1f)%% DIFF? WITH ad)(%24.16e,%24.16e)\n", + varname,ddvar.dr,ddvar.di,var.dr,var.di,dd.dr,dd.di,diffR,diffI,vard->dr,vard->di) ; + } else if (hasDifferenceR||hasDifferenceI) { + printf("%s (%24.16e,%24.16e)(dd (%5.1f,%5.1f)%% DIFF WITH ad)(%24.16e,%24.16e)\n", + varname,dd,dd,diffR,diffI,vard->dr,vard->di) ; + } + if (conclude==-1) { + if (hasDifferenceR) { + vard->dr = dd.dr ; + printf("%s (.real) RESET:\n", varname) ; + } + if (hasDifferenceI) { + vard->di = dd.di ; + printf("%s (.imag) RESET:\n", varname) ; + } + } + if (conclude==1) { + cdcmplx varb ; + varb.dr = dbad_nextRandom(); + varb.di = dbad_nextRandom(); + dbad_condensed_dd += dd.dr*varb.dr + dd.di*varb.di; + dbad_condensed_tgt += vard->dr*varb.dr + vard->di*varb.di; + } + } + } +} + +void dbad_adDebugTgt_testReal8(char* varname, double var, double *vard, int conclude) { + if (dbad_testThisProcess!=-2) { + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + dbad_putOne8(var) ; + } else if (dbad_phase==2) { + double ddvar, dd ; + float diff ; + dbad_ddcheckvarname(varname) ; + dbad_getOne8(&ddvar) ; + int hasDifference = dbad_discrepancy8(ddvar, var, *vard, &dd, &diff) ; + if (dbad_trace) { + printf("%s [v-eps:%24.16e v-loc:%24.16e] %24.16e(dd %5.1f%% DIFF? WITH ad)%24.16e\n", + varname,ddvar,var,dd,diff,*vard) ; + } else if (hasDifference) { + printf("%s %24.16e(dd %5.1f%% DIFF WITH ad)%24.16e\n", + varname,dd,diff,*vard) ; + } + if (conclude==-1 && hasDifference) { + *vard = dd ; + printf("%s RESET:\n", varname) ; + } + if (conclude==1) { + double varb = dbad_nextRandom() ; + dbad_condensed_dd += dd*varb; + dbad_condensed_tgt += *vard*varb; + } + } + } +} + +void dbad_adDebugTgt_testReal4(char* varname, float var, float *vard, int conclude) { + if (dbad_testThisProcess!=-2) { + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + dbad_putOne4(var) ; + } else if (dbad_phase==2) { + float ddvar, dd ; + float diff ; + dbad_ddcheckvarname(varname) ; + dbad_getOne4(&ddvar) ; + int hasDifference = dbad_discrepancy4(ddvar, var, *vard, &dd, &diff) ; + if (dbad_trace) { + printf("%s [v-eps:%18.10e v-loc:%18.10e] %18.10e(dd %5.1f%% DIFF? WITH ad)%18.10e\n", + varname,ddvar,var,dd,diff,*vard) ; + } else if (hasDifference) { + printf("%s %18.10e(dd %5.1f%% DIFF WITH ad)%18.10e\n", + varname,dd,diff,*vard) ; + } + if (conclude==-1 && hasDifference) { + *vard = dd ; + printf("%s RESET:\n", varname) ; + } + if (conclude==1) { + double varb = dbad_nextRandom() ; + dbad_condensed_dd += ((double)dd)*varb; + dbad_condensed_tgt += ((double)*vard)*varb; + } + } + } +} + +void dbad_adDebugTgt_testComplex16Array(char* varname, cdcmplx* var, cdcmplx* vard, int length, int conclude) { + if (!var || !vard) return ; + if (dbad_testThisProcess!=-2) { + int i ; + if (dbad_phase==1) { + dbad_putOneVarName(varname) ; + for (i=0 ; i=5 || (i==length-1 && ibuf>0)) { + int j ; + if (!printedheader) { + if (conclude==-1) + printf("%s RESET:\n", varname) ; + else + printf("%s DIFFS:\n", varname) ; + printedheader = 1 ; + } + printf(" ") ; + for (j=0 ; j(%11.4e,%11.4e)", indexbuf[j], vardbuf[j].dr, vardbuf[j].di) ; + printf("\n ") ; + if (dbad_trace) { + for (j=0 ; j=10 || (i==length-1 && ibuf>0)) { + int j ; + if (!printedheader) { + if (conclude==-1) + printf("%s RESET:\n", varname) ; + else + printf("%s DIFFS:\n", varname) ; + printedheader = 1 ; + } + printf(" ") ; + for (j=0 ; j%11.4e", indexbuf[j], vardbuf[j]) ; + printf("\n ") ; + if (dbad_trace) { + for (j=0 ; j=10 || (i==length-1 && ibuf>0)) { + int j ; + if (!printedheader) { + if (conclude==-1) + printf("%s RESET:\n", varname) ; + else + printf("%s DIFFS:\n", varname) ; + printedheader = 1 ; + } + printf(" ") ; + for (j=0 ; j%11.4e", indexbuf[j], vardbuf[j]) ; + printf("\n ") ; + if (dbad_trace) { + for (j=0 ; jdr = dbad_nextRandom() ; + indepd->di = dbad_nextRandom() ; +/* dbad_scaleIndepDirection??(indepd, *indep) ; // One may prefer to comment this line out... */ + if (dbad_phase==1) { + indep->dr = (indep->dr)+dbad_ddeps*(indepd->dr) ; + indep->di = (indep->di)+dbad_ddeps*(indepd->di) ; + } + if (dbad_trace) + printf("initComplex16 of %s: (%24.16e,%24.16e) //(%24.16e,%24.16e)\n", varname, indep->dr, indep->di, indepd->dr, indepd->di) ; +} + +void adDebugTgt_initReal8(char* varname, double *indep, double *indepd) { + *indepd = dbad_nextRandom() ; +/* dbad_scaleIndepDirection8(indepd, *indep) ; // One may prefer to comment this line out... */ + if (dbad_phase==1) + *indep = (*indep)+dbad_ddeps*(*indepd) ; + if (dbad_trace) + printf("initReal8 of %s: %24.16e //%24.16e\n", varname, *indep, *indepd) ; +} + +void adDebugTgt_initReal4(char* varname, float *indep, float *indepd) { + *indepd = (float)dbad_nextRandom() ; +/* dbad_scaleIndepDirection4(indepd, *indep) ; // One may prefer to comment this line out... */ + if (dbad_phase==1) + *indep = (*indep)+dbad_ddeps*(*indepd) ; + if (dbad_trace) + printf("initReal4 of %s: %24.16e //%24.16e\n", varname, (double)*indep, (double)*indepd) ; +} + +void adDebugTgt_initComplex16Array(char* varname, cdcmplx *indep, cdcmplx *indepd, int length) { + if (!indep || !indepd) return ; + int i ; + for (i=0 ; i scaled %i (%24.16e,%24.16e)\n", i, indepd[i].dr, indepd[i].di) ; */ + } + if (dbad_phase==1) { + for (i=0 ; i scaled %i %24.16e\n", i, indepd[i]) ; */ + } + if (dbad_phase==1) { + for (i=0 ; i=0.0?dbad_condensed_tgt:-dbad_condensed_tgt) ; + absdd = (dbad_condensed_dd>=0.0?dbad_condensed_dd:-dbad_condensed_dd) ; + maxabs = (abstgt>absdd?abstgt:absdd) ; + abserror = dbad_condensed_tgt-dbad_condensed_dd ; + if (abserror<0.0) abserror=-abserror ; + diff = (abserror*100.0)/ maxabs ; + if (dbad_testThisProcess==-1) { + printf("Condensed tangent: %24.16e (ad)%5.1f%% DIFF WITH (dd)%24.16e [seed:%7.1e]\n", + dbad_condensed_tgt,diff,dbad_condensed_dd,dbad_seed) ; + } else { + printf("[process %i] Condensed tangent: %24.16e (ad)%5.1f%% DIFF WITH (dd)%24.16e [seed:%7.1e]\n", + dbad_testThisProcess,dbad_condensed_tgt,diff,dbad_condensed_dd,dbad_seed) ; + } + } + } +} + +void adDebugTgt_display(char *placename) { + if (dbad_testThisProcess!=-2) { + if (dbad_trace) { + if (dbad_testThisProcess==-1) { + printf("display %s\n", placename) ; + } else { + printf("[process %i] display %s\n", dbad_testThisProcess, placename) ; + } + } + if (dbad_phase==2) { + dbad_display_location(placename) ; + } + } +} + +//############## DEBUG OF ADJOINT, FIRST SWEEP: ADJOINT RUN ################ + +void adDebugBwd_init(double errmax, double seed) { + dbad_mode = -1 ; + dbad_phase = 1 ; + dbad_errormax = errmax ; + dbad_seed = seed ; + dbad_topContext.funcname = "TESTED CODE\0" ; + dbad_topContext.deltadepth = 0 ; + dbad_topContext.code = 0 ; + dbad_calltracedepth = 1 ; + dbad_callStack = &dbad_topContext ; + char* phase = getenv("DBAD_PHASE") ; + if (phase==NULL) { + printf("Please set DBAD_PHASE environment variable to 0 (no debug), 1 (sendToTgt), or -1 (plusTraces)\n") ; + dbad_phase = 1 ; + } else if (strcmp(phase,"0")==0) { + dbad_phase = 1 ; + dbad_nocommunication = 1 ; + } else if (strcmp(phase,"1")==0) { + dbad_phase = 1 ; + } else if (strcmp(phase,"-1")==0) { + dbad_phase = 1 ; + dbad_trace = 1 ; + } else { + printf("DBAD_PHASE environment variable must be set to 0 (no debug), 1 (sendToTgt), or -1 (plusTraces)\n") ; + exit(0) ; + } + printf("Starting ADJ test, phase one (bwd), errmax=%4.1f% [seed=%7.1e]\n", errmax, seed) ; + printf("===========================================================\n") ; + if (dbad_nocommunication) { + dbad_file = NULL ; + printf("FIFO COMMUNICATION TURNED OFF !\n") ; + } else { + mkfifo("/tmp/DBAD_fifo", S_IWUSR | S_IRUSR | S_IRGRP | S_IROTH | S_IRWXU | S_IRWXO) ; + dbad_file = fopen("/tmp/DBAD_fifo", "a") ; + if (dbad_file==NULL) { + char errbuf[20] ; + strerror_r(errno, errbuf, 20) ; + printf("FIFO ERROR %i: %s OR %s\n",errno,strerror(errno),errbuf) ; + exit(0) ; + } + } + dbad_resetCondensors() ; +} + +void adDebugBwd_call(char *funcname, int deltadepth) { + dbad_pushCallFrame(funcname, deltadepth, 0) ; +} + +void adDebugBwd_exit() { + dbad_resetCondensors() ; + if (dbad_debugabove()) { + if (dbad_nocommunication) { + printf("adDebug would send (%i %s)\n", (dbad_debughere(0)?2:-2), dbad_callStack->funcname) ; + } else { + fprintf(dbad_file, "%i\n", (dbad_debughere(0)?2:-2)) ; + fprintf(dbad_file, "%s\n", dbad_callStack->funcname) ; + } + } + dbad_popCallFrame() ; +} + +int adDebugBwd_here(char* placename) { + dbad_resetCondensors() ; + return adDebugTgt_here(placename, 0) ; +} + +//############## DEBUG OF ADJOINT, SECOND SWEEP: TANGENT RUN ################ + +void adDebugFwd_init(double errmax, double seed) { + dbad_mode = -1 ; + dbad_phase = 2 ; + dbad_errormax = errmax ; + dbad_seed = seed ; + dbad_topContext.funcname = "TESTED CODE\0" ; + dbad_topContext.deltadepth = 0 ; + dbad_topContext.code = 0 ; + dbad_calltracedepth = 1 ; + dbad_callStack = &dbad_topContext ; + char* phase = getenv("DBAD_PHASE") ; + if (phase==NULL) { + printf("Please set DBAD_PHASE environment variable to 0 (no debug), 2 (readFromAdj), or -2 (plusTraces)\n") ; + dbad_phase = 2 ; + } else if (strcmp(phase,"0")==0) { + dbad_phase = 2 ; + dbad_nocommunication = 1 ; + } else if (strcmp(phase,"2")==0) { + dbad_phase = 2 ; + } else if (strcmp(phase,"-2")==0) { + dbad_phase = 2 ; + dbad_trace = 1 ; + } else { + printf("DBAD_PHASE environment variable must be set to 0 (no debug), 2 (readFromAdj), or -2 (plusTraces)\n") ; + exit(0) ; + } + dbad_nberrors = 0 ; + printf("Starting ADJ test, phase two (fwd), errmax=%4.1f% [seed=%7.1e]\n", errmax, seed) ; + printf("===========================================================\n") ; + if (dbad_nocommunication) { + dbad_file = NULL ; + printf("FIFO COMMUNICATION TURNED OFF !\n") ; + } else { + dbad_file = fopen("/tmp/DBAD_fifo", "r") ; + dbad_resetCondensors() ; + /* Convention on the meaning of labels: + -1 -> a debug point, skipped + 0 -> a debug point, traced but no associated value. + 1 -> a debug point, traced, with an associated value. + -2 -> a call, skipped + 2 -> a call, traced + */ + int ret=0 ; + int label ; + char placename[40] ; + double value ; + while (1) { + ret = fscanf(dbad_file, "%i\n", &label) ; + if (ret!=1) break ; + ret = fscanf(dbad_file, "%s\n", placename) ; + if (label==1) { + ret = fscanf(dbad_file, "%lf\n", &value) ; + dbad_pushReal8(value) ; + } + pushCharacterArray(placename, 40) ; + dbad_pushinteger4(label) ; + } + } +} + +void adDebugFwd_call(char *funcname) { + int label ; + char funcnamefrom[40] ; + char funcnamehere[40] ; + // In the special debug^2 case, on the 2nd phase (tangent) of the debugAdj, with DBAD_PHASE=0, + // push the call frame but do essentially nothing! + if (dbad_debughere(0) && !(dbad_nocommunication && dbad_phase==2)) { + dbad_popinteger4(&label) ; + if (label!=2 && label!=-2) { + printf("Control mismatch, expecting a trace (-2or2) from %s bwd call exit, got %i\n",funcname,label) ; + exit(0) ; + } + popCharacterArray(funcnamefrom, 40) ; + sprintf(funcnamehere,"%s",funcname) ; + if (strcmp(funcnamefrom,funcnamehere)!=0) { + printf("Control mismatch, expecting a call to %s, got %s\n",funcnamehere,funcnamefrom) ; + exit(0) ; + } + dbad_pushCallFrame(funcname, 0, 0) ; + if (label==2) { // then the call is traced: + dbad_callStack->deltadepth += (dbad_calltracedepth-1) ; + dbad_calltracedepth = 1 ; + } else { // then label==-2: the call is not traced: + dbad_callStack->deltadepth += dbad_calltracedepth ; + dbad_calltracedepth = 0 ; + } + } else { + dbad_pushCallFrame(funcname, 0, 0) ; + } +} + +void adDebugFwd_exit() { + dbad_popCallFrame() ; +} + +int adDebugFwd_here(char* placename) { + // In the special debug^2 case, on the 2nd phase (tangent) of the debugAdj, with DBAD_PHASE=0, + // never go into the derivative manipulation body, except to st the inputs at the very "start" + // and to print the result at the very "end". + if (dbad_nocommunication && dbad_phase==2) { + if (strcmp(placename,"end")==0 || strcmp(placename,"start")==0) + return 1 ; + else + return 0 ; + } else { + if (dbad_debughere(0)) { + int label ; + char placenamefrom[40] ; + char placenamehere[40] ; + dbad_resetCondensors() ; + dbad_popinteger4(&label) ; + if (label!=1 && label!=-1 && label!=0) { + printf("Control mismatch, expecting a trace (-1or0or1) from place %s, got %i\n",placename,label) ; + exit(0) ; + } + popCharacterArray(placenamefrom, 40) ; + sprintf(placenamehere,"%s",placename) ; + if (strcmp(placenamefrom,placenamehere)!=0) { + printf("Control mismatch, expecting place %s, got %s\n",placenamehere,placenamefrom) ; + exit(0) ; + } + if (label==1) { + dbad_popReal8(&dbad_nextrefsum) ; + } + return label!=-1 ; + } else { + return 0 ; + } + } +} + +//############## DEBUG OF ADJOINT, FOR BOTH SWEEPS: ################ + +void adDebugAdj_rwComplex16(cdcmplx *vard) { + double varbR = dbad_nextRandom() ; + double varbI = dbad_nextRandom() ; + dbad_condensed_adj += varbR*(vard->dr) + varbI*(vard->di) ; + vard->dr = varbR ; + vard->di = varbI ; +} + +void adDebugAdj_rwReal8(double *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; + *vard = varb ; +} + +void adDebugAdj_rwReal4(float *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; + *vard = (float)varb ; +} + +void adDebugAdj_rComplex16(cdcmplx *vard) { + double varbR = dbad_nextRandom() ; + double varbI = dbad_nextRandom() ; + dbad_condensed_adj += varbR*(vard->dr) + varbI*(vard->di) ; +} + +/** Although at present this routine doesn't modify its argument, + * we still expect a reference for consistency + * with adDebugAdj_wReal8() and also adDebugAdj_rComplex16() */ +void adDebugAdj_rReal8(double *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; +} + +/** Although at present this routine doesn't modify its argument, + * we still expect a reference for consistency + * with adDebugAdj_wReal4() and also adDebugAdj_rComplex16() */ +void adDebugAdj_rReal4(float *vard) { + double varb = dbad_nextRandom() ; + dbad_condensed_adj += varb*(*vard) ; +} + +void adDebugAdj_wComplex16(cdcmplx *vard) { + vard->dr = dbad_nextRandom() ; + vard->di = dbad_nextRandom() ; +} + +void adDebugAdj_wReal8(double *vard) { + *vard = dbad_nextRandom() ; +} + +void adDebugAdj_wReal4(float *vard) { + *vard = (float)dbad_nextRandom() ; +} + +void adDebugAdj_rwComplex16Array(cdcmplx *vard, int length) { + int i ; + if (vard) + for (i=0 ; i=0.0?dbad_refsum:-dbad_refsum) ; + double absadj = (dbad_condensed_adj>=0.0?dbad_condensed_adj:-dbad_condensed_adj) ; + double absdiff = dbad_refsum - dbad_condensed_adj ; + if (absdiff<0.0) absdiff = -absdiff ; + double reldiff = (absdiff*200.0)/(absref+absadj) ; + if (reldiff>dbad_errormax) { + printf(" %5.1f%% DIFFERENCE!! tgt:%24.16e adj:%24.16e\n", + reldiff, dbad_condensed_adj, dbad_refsum) ; + ++dbad_nberrors ; + } else if (strcmp(placename,"end")==0 && dbad_nberrors==0) { + // When we are at end and no errors were found, always show the compared values + printf(" difference is just %7.3f% between tgt:%24.16e and adj:%24.16e\n", + reldiff, dbad_condensed_adj, dbad_refsum) ; + } + if (indent==0) dbad_display_location(placename) ; + } + } + dbad_resetCondensors() ; +} + +void adDebugAdj_wDisplay(char *placename, int indent) { + if (dbad_phase==1) { + if (dbad_nocommunication) { + printf("adDebug would send (0 %s)\n", placename) ; + } else { + fprintf(dbad_file, "0\n") ; + fprintf(dbad_file, "%s\n", placename) ; + } + } else if (dbad_phase==2) { + if (indent==0) dbad_display_location(placename) ; + dbad_refsum = dbad_nextrefsum ; + } + dbad_resetCondensors() ; +} + +void adDebugAdj_skip(char *placename) { + if (dbad_phase==1 && dbad_debughere(0)) { + if (dbad_nocommunication) { + printf("adDebug would send (-1 %s)\n", placename) ; + } else { + fprintf(dbad_file, "-1\n") ; + fprintf(dbad_file, "%s\n", placename) ; + } + } +} + +void adDebugAdj_conclude() { + if (dbad_phase==2) { + if (!dbad_nocommunication) { + // In the special debug^2 case, on the 2nd phase (tangent) of the debugAdj, with DBAD_PHASE=0, + // don't claim that any testing has been done!! but show the expected condensed tangent: + printf("End of ADJ test, %i error(s) found.\n", dbad_nberrors) ; + printf("===========================================================\n") ; + } + } +} + +/* void adDebugAdj_show() { */ +/* printf("Present sum %24.16e, current seed is %f (%f)\n", dbad_condensed_adj, dbad_currentSeed, dbad_seed) ; */ +/* } */ + +//############## INTERFACE PROCEDURES CALLED FROM FORTRAN ################ + +void addebugtgt_init_(double *epsilon, double *seed, int *tested_process) { + adDebugTgt_init(*epsilon, *seed, *tested_process) ; +} + +void addebugtgt_call_(char* unitname, int *deltadepth, int *forcetraced) { + adDebugTgt_call(unitname, *deltadepth, *forcetraced) ; +} + +void addebugtgt_exit_() { + adDebugTgt_exit() ; +} + +int addebugtgt_here_(char* placename, int *forcetraced) { + return adDebugTgt_here(placename, *forcetraced) ; +} + +void addebugtgt_initcomplex16_(char* varname, cdcmplx *indep, cdcmplx *indepd) { + adDebugTgt_initComplex16(varname, indep, indepd) ; +} + +void addebugtgt_initreal8_(char* varname, double *indep, double *indepd) { + adDebugTgt_initReal8(varname, indep, indepd) ; +} + +void addebugtgt_initreal4_(char* varname, float *indep, float *indepd) { + adDebugTgt_initReal4(varname, indep, indepd) ; +} + +void addebugtgt_initcomplex16array_(char* varname, cdcmplx *indep, cdcmplx *indepd, int *length) { + adDebugTgt_initComplex16Array(varname, indep, indepd, *length) ; +} + +void addebugtgt_initreal8array_(char* varname, double *indep, double *indepd, int *length) { + adDebugTgt_initReal8Array(varname, indep, indepd, *length) ; +} + +void addebugtgt_initreal4array_(char* varname, float *indep, float *indepd, int *length) { + adDebugTgt_initReal4Array(varname, indep, indepd, *length) ; +} + +void addebugtgt_passivecomplex16_(char *varname, cdcmplx *var) { + adDebugTgt_passiveComplex16(varname, *var) ; +} + +void addebugtgt_passivereal8_(char *varname, double *var) { + adDebugTgt_passiveReal8(varname, *var) ; +} + +void addebugtgt_passivereal4_(char *varname, float *var) { + adDebugTgt_passiveReal4(varname, *var) ; +} + +void addebugtgt_passivecomplex16array_(char *varname, cdcmplx *var, int *length) { + adDebugTgt_passiveComplex16Array(varname, var, *length) ; +} + +void addebugtgt_passivereal8array_(char *varname, double *var, int *length) { + adDebugTgt_passiveReal8Array(varname, var, *length) ; +} + +void addebugtgt_passivereal4array_(char *varname, float *var, int *length) { + adDebugTgt_passiveReal4Array(varname, var, *length) ; +} + +void addebugtgt_testcomplex16_(char *varname, cdcmplx *var, cdcmplx *vard) { + adDebugTgt_testComplex16(varname, *var, vard) ; +} + +void addebugtgt_testreal8_(char *varname, double *var, double *vard) { + adDebugTgt_testReal8(varname, *var, vard) ; +} + +void addebugtgt_testreal4_(char *varname, float *var, float *vard) { + adDebugTgt_testReal4(varname, *var, vard) ; +} + +void addebugtgt_testcomplex16array_(char *varname, cdcmplx* var, cdcmplx* vard, int *length) { + adDebugTgt_testComplex16Array(varname, var, vard, *length) ; +} + +void addebugtgt_testreal8array_(char *varname, double* var, double* vard, int *length) { + adDebugTgt_testReal8Array(varname, var, vard, *length) ; +} + +void addebugtgt_testreal4array_(char *varname, float* var, float* vard, int *length) { + adDebugTgt_testReal4Array(varname, var, vard, *length) ; +} + +void addebugtgt_concludecomplex16_(char* varname, cdcmplx *dep, cdcmplx *depd) { + adDebugTgt_concludeComplex16(varname, *dep, depd) ; +} + +void addebugtgt_concludereal8_(char* varname, double *dep, double *depd) { + adDebugTgt_concludeReal8(varname, *dep, depd) ; +} + +void addebugtgt_concludereal4_(char* varname, float *dep, float *depd) { + adDebugTgt_concludeReal4(varname, *dep, depd) ; +} + +void addebugtgt_concludecomplex16array_(char* varname, cdcmplx *dep, cdcmplx *depd, int *length) { + adDebugTgt_concludeComplex16Array(varname, dep, depd, *length) ; +} + +void addebugtgt_concludereal8array_(char* varname, double *dep, double *depd, int *length) { + adDebugTgt_concludeReal8Array(varname, dep, depd, *length) ; +} + +void addebugtgt_concludereal4array_(char* varname, float *dep, float *depd, int *length) { + adDebugTgt_concludeReal4Array(varname, dep, depd, *length) ; +} + +void addebugtgt_conclude_() { + adDebugTgt_conclude() ; +} + +void addebugtgt_display_(char *placename) { + adDebugTgt_display(placename) ; +} + +void addebugbwd_init_(double *errmax, double *seed) { + adDebugBwd_init(*errmax, *seed) ; +} + +void addebugbwd_call_(char *funcname, int *deltadepth) { + adDebugBwd_call(funcname, *deltadepth) ; +} + +void addebugbwd_exit_() { + adDebugBwd_exit() ; +} + +int addebugbwd_here_(char* placename) { + return adDebugBwd_here(placename) ; +} + +void addebugfwd_init_(double *errmax, double *seed) { + adDebugFwd_init(*errmax, *seed) ; +} + +void addebugfwd_call_(char *funcname) { + adDebugFwd_call(funcname) ; +} + +void addebugfwd_exit_() { + adDebugFwd_exit() ; +} + +int addebugfwd_here_(char* placename) { + return adDebugFwd_here(placename) ; +} + +void addebugadj_rwreal4_(float *vard) { + adDebugAdj_rwReal4(vard) ; +} + +void addebugadj_rwreal8_(double *vard) { + adDebugAdj_rwReal8(vard) ; +} + +void addebugadj_rwcomplex16_(cdcmplx *vard) { + adDebugAdj_rwComplex16(vard) ; +} + +void addebugadj_rreal4_(float *vard) { + adDebugAdj_rReal4(vard) ; +} + +void addebugadj_rreal8_(double *vard) { + adDebugAdj_rReal8(vard) ; +} + +void addebugadj_rcomplex16_(cdcmplx *vard) { + adDebugAdj_rComplex16(vard) ; +} + +void addebugadj_wreal4_(float *vard) { + adDebugAdj_wReal4(vard) ; +} + +void addebugadj_wreal8_(double *vard) { + adDebugAdj_wReal8(vard) ; +} + +void addebugadj_wcomplex16_(cdcmplx *vard) { + adDebugAdj_wComplex16(vard) ; +} + +void addebugadj_rwreal4array_(float *vard, int *length) { + adDebugAdj_rwReal4Array(vard, *length) ; +} + +void addebugadj_rwreal8array_(double *vard, int *length) { + adDebugAdj_rwReal8Array(vard, *length) ; +} + +void addebugadj_rwcomplex16array_(cdcmplx *vard, int *length) { + adDebugAdj_rwComplex16Array(vard, *length) ; +} + +void addebugadj_rreal4array_(float *vard, int *length) { + adDebugAdj_rReal4Array(vard, *length) ; +} + +void addebugadj_rreal8array_(double *vard, int *length) { + adDebugAdj_rReal8Array(vard, *length) ; +} + +void addebugadj_rcomplex16array_(cdcmplx *vard, int *length) { + adDebugAdj_rComplex16Array(vard, *length) ; +} + +void addebugadj_wreal4array_(float *vard, int *length) { + adDebugAdj_wReal4Array(vard, *length) ; +} + +void addebugadj_wreal8array_(double *vard, int *length) { + adDebugAdj_wReal8Array(vard, *length) ; +} + +void addebugadj_wcomplex16array_(cdcmplx *vard, int *length) { + adDebugAdj_wComplex16Array(vard, *length) ; +} + +void addebugadj_rwdisplay_(char *placename, int *indent) { + adDebugAdj_rwDisplay(placename, *indent) ; +} + +void addebugadj_rdisplay_(char *placename, int *indent) { + adDebugAdj_rDisplay(placename, *indent) ; +} + +void addebugadj_wdisplay_(char *placename, int *indent) { + adDebugAdj_wDisplay(placename, *indent) ; +} + +void addebugadj_skip_(char* placename) { + adDebugAdj_skip(placename) ; +} + +void addebugadj_conclude_() { + adDebugAdj_conclude() ; +} diff --git a/tools/TAP_support/ADFirstAidKit/adOMP.c b/tools/TAP_support/ADFirstAidKit/adOMP.c new file mode 100755 index 0000000000..9d49dc8f2d --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adOMP.c @@ -0,0 +1,143 @@ +#include +#include +#include "omp.h" +#include "adStack.h" +#include "adOMP.h" + +/* + Support functions for AD of OpenMP-parallel programs. This is mostly to +ensure that the work is distributed among threads in the same way during the +forward and reverse sweep. This is needed to ensure correct data flow, and to +enable the threads to use only their own threadprivate push/pop stack. +*/ + +/************ ensure OpenMP-enabled stack is used ***********/ + +void assertSafeStack() { + if(!stackIsThreadSafe()) { + printf("ERROR: OpenMP-parallel derivative program uses non-OpenMP ADFirstAidKit.\n") ; + printf("Update to the latest ADFirstAidKit and compile it with openmp flags enabled.\n") ; + exit(1) ; + } +} + +/******************** static OpenMP schedule *****************/ +/* This is the "easy" option: the static schedule distributes work among threads + in a deterministic way. If the same schedule is used in the fwd and rev code, + everything is fine. There is no overhead, no recording, no storage needed to + do this, but it only works for static schedules. */ + +void getStaticSchedule(int lo, int hi, int stride, int* threadlo, int* threadhi) { +/* Static OpenMP scheduler, identical to what LLVM would use. Each thread gets + one chunk of consecutive iterations. The number of iterations per chunk is + aproximately trip_count/num_threads. If the trip count can not be evenly + divided among threads, the first few threads get one extra iteration. + As long as the number of threads stays constant, and when called by the + same thread, this subroutine will always return the same threadstart and + threadend when given the same imin,imax,istride as input. */ + +/* formula to compute the number of iterations, F90 standard sec 8.1.4.4.1 */ + int trip_count = (int)((hi-lo+stride)/stride) ; + if(trip_count < 0) trip_count = 0 ; + + int nth = omp_get_num_threads() ; + int tid = omp_get_thread_num() ; + + if(trip_count < nth) { + /* fewer iterations than threads. some threads will get one iteration, + the other threads will get nothing. */ + if(tid < trip_count) { + /* do one iteration */ + *threadlo = lo + tid * stride ; + *threadhi = *threadlo ; + } + else { + /* do nothing */ + *threadhi = 0 ; + *threadlo = *threadhi + stride ; + } + } + /* at least one iteration per thread. since the total number of iterations may + not be evenly dividable by the number of threads, there will be a few extra + iterations. the first few threads will each get one of those, which results + in some offsetts that are applied to the start and end of the chunks. */ + else { + int chunksize = trip_count / nth ; + int extras = trip_count % nth ; + int tidextras, incr ; + if(tid < extras) { + tidextras = tid ; + incr = 0 ; + } + else { + tidextras = extras ; + incr = stride ; + } + *threadlo = lo + (tid*chunksize + tidextras) * stride ; + *threadhi = *threadlo + chunksize * stride - incr ; + } + assertSafeStack() ; +} + +/****************** dynamic OpenMP schedule *****************/ +/* This is the more challenging situation: The user wants a dynamic/auto/guided + schedule, which is not deterministic. We need to record how the workload was + distributed among threads, so that the reverse sweep can replay this. + Doing this requires a few integer operations per loop iteration, and a push + of two integers (chunk start and end) for each new chunk of work that is + given to a thread. If the memory consumption of this recording is a problem, + consider using larger chunks or a static schedule. */ +static int numChunks, previousIter, thisChunkStart ; +static char isFirstIter ; +#pragma omp threadprivate(numChunks, previousIter, isFirstIter, thisChunkStart) + +void initDynamicSchedule() { + isFirstIter = 1 ; + numChunks = 0 ; + assertSafeStack() ; +} + +void recordDynamicSchedule(int counter, int stride) { + if(isFirstIter) { + thisChunkStart = counter ; + isFirstIter = 0 ; + numChunks ++ ; + } + else { + if(previousIter + stride != counter) { + pushInteger4(thisChunkStart) ; + pushInteger4(previousIter) ; + thisChunkStart = counter ; + numChunks ++ ; + } + } + previousIter = counter ; +} + +void finalizeDynamicSchedule() { + pushInteger4(thisChunkStart) ; + pushInteger4(previousIter) ; + pushInteger4(numChunks) ; +} + +/****************** INTERFACE CALLED FROM FORTRAN *******************/ + +void assertsafestack_() { + assertSafeStack() ; +} + +void getstaticschedule_(int* lo, int* hi, int* stride, int* threadlo, int* threadhi) { + getStaticSchedule(*lo, *hi, *stride, threadlo, threadhi) ; +} + +void initdynamicschedule_() { + initDynamicSchedule() ; +} + +void recorddynamicschedule_(int* counter, int* stride) { + recordDynamicSchedule(*counter, *stride) ; +} + +void finalizedynamicschedule_() { + finalizeDynamicSchedule() ; +} diff --git a/tools/TAP_support/ADFirstAidKit/adOMP.h b/tools/TAP_support/ADFirstAidKit/adOMP.h new file mode 100644 index 0000000000..1225967d34 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adOMP.h @@ -0,0 +1,10 @@ +#ifndef ADOMP_H +#define ADOMP_H +void assertSafeStack() ; + +void getStaticSchedule(int lo, int hi, int stride, int* threadlo, int* threadhi) ; + +void initDynamicSchedule() ; +void recordDynamicSchedule(int counter, int stride) ; +void finalizeDynamicSchedule() ; +#endif diff --git a/tools/TAP_support/ADFirstAidKit/adProfile.c b/tools/TAP_support/ADFirstAidKit/adProfile.c new file mode 100644 index 0000000000..bac97cd872 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adProfile.c @@ -0,0 +1,285 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +// Access to the cycle counter +#define rdtscll(val) \ + __asm__ __volatile__ ("rdtsc" : "=A" (val)) + +#define ENABLE_LINE_RECORDING 1 + +unsigned long long int mytime_() { + unsigned long long int time; + + rdtscll(time); + return time ; +} + +// Access to stacks size +extern long int bigStackSize; +extern long int smallstacksize_(); + + +// Declaration of the event list data structures +#define ARRAY_SIZE 100000 +struct event { + int kind; + char *function; + int len; + unsigned long long int time; + int stacksize; +#ifdef ENABLE_LINE_RECORDING + int line; +#endif +}; + +struct list_node { + struct event array[ARRAY_SIZE]; + struct list_node *next; +}; +static struct list_node hdcell = { .next = 0 }; +static struct list_node *tlcell = &hdcell; +static int cell_index = 0; + +// Function to traverse the list of events +static void traverse_event_list(void (*process)(struct event *ev, void *data), void *data) { + struct list_node *c = &hdcell; + + while (c) { + int max = c->next ? ARRAY_SIZE : cell_index; + int i; + for (i = 0; i < max; ++i) + process(&c->array[i], data); + c = c->next; + } +} + + +// Declaration of profiling functions +#if 1 +#define profiledebug +#else +#define profiledebug(type) \ + printf("%50s %02u %022llu %010lu %li\n", buffer, type, mytime_(), bigStackSize, smallstacksize_()); +#endif +enum { BEGIN = 1, END, ENDFWD, BEGINSNAPSHOT, ENDSNAPSHOT, ENDORIG }; + +int init = 0; +unsigned long long int beginning_of_time = 0; +inline static void profile_real(char *function, int flen, int kind) { + static struct list_node *new = 0; + if (cell_index >= ARRAY_SIZE) { + new = (struct list_node*)calloc(1, sizeof(struct list_node)); + tlcell->next = new; + tlcell = new; + new->next = 0; + cell_index = 0; + } + static unsigned long long int time; + time = mytime_(); + if (init == 0) + beginning_of_time = time, init = 1; + tlcell->array[cell_index].kind = kind; + tlcell->array[cell_index].function = function; + tlcell->array[cell_index].len = flen; + tlcell->array[cell_index].time = time - beginning_of_time; + tlcell->array[cell_index].stacksize = bigStackSize + smallstacksize_(); + #if 0 + printf("%016llu %09lu %02hhu ", time-beginning_of_time, bigStackSize + smallstacksize_(), kind); + fwrite(function, 1, flen, stdout); + printf("\n"); + #endif + cell_index++; +} + +#define declare_profile(suffix,type) \ +void profile##suffix##_(char *function, int flen) {\ + profile_real(function, flen, type);\ +} + +declare_profile(begin,BEGIN) +declare_profile(end,END) +declare_profile(endfwd,ENDFWD) +declare_profile(beginsnapshot,BEGINSNAPSHOT) +declare_profile(endsnapshot,ENDSNAPSHOT) +declare_profile(endorig,ENDORIG) + +#ifdef ENABLE_LINE_RECORDING +static int current_line_number = 0; + +void profileline_(int *line) { + current_line_number = *line; +} +#endif + +// Hashtable data structure +#define hashtbl_size 4093 +struct hash_cell { + char *function; + int len; +} hashtbl[hashtbl_size]; +// Count of the used element in the hashtable +int hashtbl_count; + +// Simple hash function +static inline unsigned int hash(unsigned int u) { + return ((u % hashtbl_size) * 1024 ) % hashtbl_size; +} + +// Simple hash function on strings +static inline unsigned int hash_string(char *string, int flen) { + unsigned int ret = 0x55555555; + while (flen--) + ret *= ((unsigned char)*string++ * hashtbl_size); + return hash(ret); +} + +// Min macro +#define min(a,b) (a < b ? a : b) + +// Get the id of a string address, allocate a bucket if new +static int get(char *function, int flen) { + int h = hash_string(function, flen); + while (hashtbl[h].function) { + if (strncmp(hashtbl[h].function, function, min(flen, hashtbl[h].len)) == 0) + break; + h = hash(h); + } + hashtbl[h].function = function; + hashtbl[h].len = flen; + return h; +} + +// Functions to serialize integers and known length strings +static inline void fwrite_int(FILE *f, int i) { + fwrite(&i, sizeof(int), 1, f); +} +static inline void fwrite_llint(FILE *f, unsigned long long int i) { + fwrite(&i, sizeof(unsigned long long int), 1, f); +} +static inline void fwrite_string(FILE *f, char *str, int len) { + fwrite_int(f, len); + fwrite(str, (unsigned int) len, 1, f); +} + +// Function to build the hashtable of function names +static void add_event_to_hashtable(struct event *ev, void *data); +static void build_hashtable() { + + // Initialize the hashtable + memset(hashtbl, 0, sizeof(struct hash_cell)*hashtbl_size); + /** Fill the hashtbl */ + traverse_event_list(add_event_to_hashtable, 0); + /** Compute the size of the hashtbl */ + hashtbl_count = 0; + int i; + for (i=0; i < hashtbl_size; ++i) + if (hashtbl[i].function) + hashtbl_count++; +} +static void add_event_to_hashtable(struct event *ev, void *data) { + int h = get(ev->function, ev->len); +} + + +// Serialize event list into a file named tapenade.prof +struct print_args { + FILE *prof; + struct event **stack; + int *stack_counter; +}; +static void print_an_event(struct event *ev, void *data); +void printprofile_() { + int i = 0; + FILE *prof = fopen("tapenade.prof", "w"); + if (!prof) { + perror("Can't open tapenade.prof"); + exit(1); + } + // Compress the output; + // Generate a hashtable of the functions name + // use it to make a map from function name + // to numeric id + build_hashtable(); + + // Position at the beginning + fseek(prof, 0, SEEK_SET); + + // Dump the hash table + fwrite_int(prof, hashtbl_count); + for (i=0; i < hashtbl_size; ++i) + if (hashtbl[i].function) { + fwrite_int(prof, i); + char *string = hashtbl[i].function; + int string_length = hashtbl[i].len; + fwrite_string(prof, string, string_length); + } + + // Dump the events + struct list_node *c = &hdcell; + struct event *stack[1000]; + int stack_counter = -1; + struct print_args args = { + .prof = prof, + .stack = stack, + .stack_counter = &stack_counter + }; + traverse_event_list(print_an_event, &args); + + // For program that aborts too abruptly ( with STOP ) + // Use the return stack image to recreate EXIT events + for (i=stack_counter; i>-1;i--) { + struct event *cur = stack[i]; + int h = get(cur->function, cur->len); + fwrite_int(prof, h); + fwrite_int(prof, 2); // Explicit ending + fwrite_llint(prof, cur->time); + fwrite_int(prof, cur->stacksize); + } + fclose(prof); +} +void halt_(); +// Utility function for printprofile +static void print_an_event(struct event *ev, void *data) { + struct print_args *args = (struct print_args*)data; + static unsigned long long int last_time = 0; + + int h = get(ev->function, ev->len); + // Keep trace of the return stack depth and values + switch (ev->kind) { + case 1: + *(args->stack_counter) += 1; + args->stack[*(args->stack_counter)] = ev; + break; + case 2: + *(args->stack_counter) -= 1; + break; + } +//DEBUG printf("Time: %llu\n", ev->time - begin_time); + if (last_time && ev->time <= last_time) { + printf("Erreur time <= last_time: %llu <= %llu\n", time, last_time); + halt_(); + } + fwrite_int(args->prof, h); + fwrite_int(args->prof, ev->kind); + fwrite_llint(args->prof, ev->time); + fwrite_int(args->prof, ev->stacksize); + last_time = ev->time; +} + +#include +void halt_() { + kill(getpid(), SIGTRAP); +} diff --git a/tools/TAP_support/ADFirstAidKit/adProfile.h b/tools/TAP_support/ADFirstAidKit/adProfile.h new file mode 100644 index 0000000000..180231236f --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adProfile.h @@ -0,0 +1,5 @@ +#ifndef ADPROFILE_LOADED +#define ADPROFILE_LOADED 1 + + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/adStack.c b/tools/TAP_support/ADFirstAidKit/adStack.c new file mode 100644 index 0000000000..f9a9e5155b --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adStack.c @@ -0,0 +1,1312 @@ +#include +#include +#include +#include "adStack.h" + +#include "adComplex.h" + +// Set to 0 to hide trace. +static int traceOn = 0 ; +static int freeemptyblocks = 1 ; + +char* pushBlock() ; +char* popBlock() ; + +/**************** block sizes for all data types *************/ + +/* The size of a BLOCK in bytes. */ +#define BLOCK_SIZE 65536 +// #define BLOCK_SIZE 17 // A very small BLOCK_SIZE allows for stronger testing! + +/**************** data structures for stack ******************/ + +/* The main stack is a double-chain of DoubleChainedBlock objects. + * Each DoubleChainedBlock holds an array[BLOCK_SIZE] of char. */ +typedef struct _DoubleChainedBlock{ + unsigned int rank ; + struct _DoubleChainedBlock *prev ; + struct _DoubleChainedBlock *next ; + char contents[BLOCK_SIZE] ; +} DoubleChainedBlock ; + +/** Structure keeping the needed info for ONE repetition level. + * As we can have "nested" repetition levels, these structures can be stacked. */ +typedef struct _RepetitionLevel { + int hasBackPop ; + int active ; + DoubleChainedBlock* backPopBlock ; + int backPop ; + DoubleChainedBlock* resumePointBlock ; + int resumePoint ; + DoubleChainedBlock* freePushBlock ; + int freePush ; + unsigned int storedadbitbuf ; + int storedadbitibuf ; + struct _RepetitionLevel *previous ; +} RepetitionLevel ; + +/* A block and an integer to keep the current top in the block. When the block + is full, it is added to the double-chain list and a fresh block is used for + pushing. During popping, empty blocks are replenished with data from the + double-chain list. */ +static int tappos = BLOCK_SIZE ; +static char* tapblock = NULL ; +static DoubleChainedBlock *curStack = NULL ; + +/** The current stack of repetition levels. Initially empty */ +RepetitionLevel *topRepetitionPoint = NULL ; + +/* Pushing single bits is different from the rest: we collect + 32 bits in the integer below, before pushing that to the stack. */ +static unsigned int adbitbuf = 0 ; +static int adbitibuf = 0 ; + +/** Accumulates the number of bytes pushed and popped */ +static unsigned long long int pushPopTraffic = 0 ; + +/** Remembers the maximum number of stack Blocks used */ +static long int maxBlocks = 0 ; + +//[llh] Don't know how to manage pushPopTraffic and maxBlocks in the OpenMP case ? + +/* All data structures must be threadprivate, so that each OpenMP thread has + its own stack. If the stack is compiled with OpenMP support and then used + in a program with no OpenMP parallel regions, the stack will work as + expected without using any extra resources. */ +#pragma omp threadprivate(tappos, tapblock, curStack, adbitbuf, adbitibuf, topRepetitionPoint) + +/***************** repeated access mechanism *************/ + +// Possible improvements: +// - replace tappos with tapblock+tappos, saving a few "+" ? +// - find a faster currentLocationStrictBelowFreePush and currentLocationEqualsFreePush + +// Notice: Algorithm for "nested" repetition level seems wrong (should be corrected) +// when the deeper repetition level is started after new pushes. + +// We call "current location" the pair of +// (DoubleChainedBlock *) curStack // the current top stack block. +// (int) tappos // the offset of the current top in the current top stack block. + +void setBackPopToCurrentLocation(RepetitionLevel *repetitionLevel) { + repetitionLevel->hasBackPop = 1 ; + repetitionLevel->backPopBlock = curStack ; + repetitionLevel->backPop = tappos ; +} + +void setCurrentLocationToBackPop(RepetitionLevel *repetitionLevel) { + curStack = repetitionLevel->backPopBlock ; + tapblock = curStack->contents ; + tappos = repetitionLevel->backPop ; +} + +void setResumePointToCurrentLocation(RepetitionLevel *repetitionLevel) { + repetitionLevel->resumePointBlock = curStack ; + repetitionLevel->resumePoint = tappos ; +} + +void setCurrentLocationToResumePoint(RepetitionLevel *repetitionLevel) { + curStack = repetitionLevel->resumePointBlock ; + tapblock = curStack->contents ; + tappos = repetitionLevel->resumePoint ; +} + +void setFreePushToCurrentLocation(RepetitionLevel *repetitionLevel) { + repetitionLevel->freePushBlock = curStack ; + repetitionLevel->freePush = tappos ; +} + +void setCurrentLocationToFreePush(RepetitionLevel *repetitionLevel) { + curStack = repetitionLevel->freePushBlock ; + tapblock = curStack->contents ; + tappos = repetitionLevel->freePush ; +} + +//TODO: try inline this function for efficiency: +int currentLocationStrictBelowFreePush(RepetitionLevel *repetitionLevel) { + //[llh] I'd prefer to test directly on curStack->rank and tappos directly, + // but it's hard because N;BLOCK_SIZE <=> N+1;0 and both happen due to initial NULL curStack... + long int curL = (curStack->rank -1)*BLOCK_SIZE + tappos ; + long int fpL = (repetitionLevel->freePushBlock->rank -1)*BLOCK_SIZE + repetitionLevel->freePush ; + return (curLrank and tappos directly, + // but it's hard because N;BLOCK_SIZE <=> N+1;0 and both happen due to initial NULL curStack... + long int curL = (curStack->rank -1)*BLOCK_SIZE + tappos ; + long int fpL = (repetitionLevel->freePushBlock->rank -1)*BLOCK_SIZE + repetitionLevel->freePush ; + return (curL==fpL) ; +} + +void showLocation(DoubleChainedBlock *locBlock, int loc) { + printf("%1i.%05i", (locBlock ? locBlock->rank : 0), loc) ; +} + +void showRepetitionLevels() { + RepetitionLevel *repetitionPoint = topRepetitionPoint ; + while (repetitionPoint) { + printf(" REPETITION LEVEL ACTIVE:%i BP?%i", repetitionPoint->active, repetitionPoint->hasBackPop) ; + printf(" BP:") ; showLocation(repetitionPoint->backPopBlock, repetitionPoint->backPop) ; + printf(" RP:") ; showLocation(repetitionPoint->resumePointBlock, repetitionPoint->resumePoint) ; + printf(" FP:") ; showLocation(repetitionPoint->freePushBlock, repetitionPoint->freePush) ; + printf("\n") ; + repetitionPoint = repetitionPoint->previous ; + if (repetitionPoint) printf(" ...in") ; + } +} + +int locstrb_() {return (curStack ? curStack->rank : 0) ;} +int locstro_() {return tappos;} + +/** If we are in a protected, read-only section, + * memorize current location as "backPop" and go to the "freePush" location */ +void checkPushInReadOnly() { + RepetitionLevel *topActive = topRepetitionPoint ; + while (topActive && !topActive->active) { + topActive = topActive->previous ; + } + if (topActive && currentLocationStrictBelowFreePush(topActive)) { + setBackPopToCurrentLocation(topActive) ; + setCurrentLocationToFreePush(topActive) ; + if (traceOn) { + printf("BEFORE PUSH AT ") ; + showLocation(topRepetitionPoint->backPopBlock, topRepetitionPoint->backPop) ; + printf(" WITH REPETITION LEVELS:\n") ; + showRepetitionLevels() ; + printf(" MOVE TO FREE PUSH LOCATION ") ; + showLocation(topRepetitionPoint->freePushBlock, topRepetitionPoint->freePush) ; + printf("\n") ; + } + } +} + +/** If current location is some "freePush" location, + * go back to its "backPop" location, which is in a protected, read-only section */ +void checkPopToReadOnly() { + RepetitionLevel *repetitionPoint = topRepetitionPoint ; + int moves = (repetitionPoint->hasBackPop && currentLocationEqualsFreePush(repetitionPoint)) ; + if (traceOn && moves) { + printf("AFTER POP, LOCATION WAS ") ; + showLocation(curStack, tappos) ; + printf(" WITH REPETITION LEVELS:\n") ; + showRepetitionLevels() ; + } + int canEraseInactive = 1 ; + int canRemoveBackPop = 1 ; + do { + RepetitionLevel *oldCell = repetitionPoint ; + if (oldCell->hasBackPop && oldCell->active && currentLocationEqualsFreePush(oldCell)) { + setCurrentLocationToBackPop(oldCell) ; + if (canRemoveBackPop) oldCell->hasBackPop = 0 ; + } + repetitionPoint = oldCell->previous ; + if (!oldCell->active && canEraseInactive) { + free(oldCell) ; + topRepetitionPoint = repetitionPoint ; + } else { + canEraseInactive = 0 ; + canRemoveBackPop = 0 ; + } + } while (repetitionPoint) ; + if (traceOn && moves) { + printf(" MOVED TO BACK POP LOCATION:") ; + showLocation(curStack, tappos) ; + printf("\n") ; + } +} + +/** From now on, and until the matching closing adStack_endRepeat(), + * the current contents of the push-pop stack are preserved: + * Even if they are popped, any subsequent adStack_resetRepeat() + * will reset the push-pop stack to its current contents of now. */ +void adStack_startRepeat() { + if (traceOn) { + printf("BEFORE START REPEAT AT ") ; + showLocation(curStack, tappos) ; + printf("\n") ; + showRepetitionLevels() ; + } + // Create a new repetition level and push it onto topRepetitionPoint + RepetitionLevel *newRepetitionLevel = (RepetitionLevel *)malloc(sizeof(RepetitionLevel)) ; + newRepetitionLevel->previous = topRepetitionPoint ; + newRepetitionLevel->hasBackPop = 0 ; + newRepetitionLevel->active = 1 ; + // Copy the bits buffer: + newRepetitionLevel->storedadbitbuf = adbitbuf ; + newRepetitionLevel->storedadbitibuf = adbitibuf ; + // In the very weird case where current stack is empty, make it explicit: + if (curStack==NULL) { + tapblock = pushBlock() ; + tappos = 0 ; + } + // Store current location as the "resumePoint" location: + setResumePointToCurrentLocation(newRepetitionLevel) ; + // Set the "freePush" location to current location OR to + // the "freePush" of the "enclosing" repetition level, + // (if there is one and it is higher) + if (topRepetitionPoint && currentLocationStrictBelowFreePush(topRepetitionPoint)) { + newRepetitionLevel->freePushBlock = topRepetitionPoint->freePushBlock ; + newRepetitionLevel->freePush = topRepetitionPoint->freePush ; + } else { + setFreePushToCurrentLocation(newRepetitionLevel) ; + } + // Make this new repetition level the current repetition level: + topRepetitionPoint = newRepetitionLevel ; + if (traceOn) { + printf(">AFTER START REPEAT AT:") ; + showLocation(curStack, tappos) ; + printf("\n") ; + showRepetitionLevels() ; + } +} + +/** Reset the push-pop stack contents to its contents at + * the time of the latest adStack_startRepeat() that has not been + * closed by a subsequent adStack_endRepeat() */ +void adStack_resetRepeat() { + if (traceOn) { + printf("BEFORE RESET REPEAT AT ") ; + showLocation(curStack, tappos) ; + printf("\n") ; + showRepetitionLevels() ; + } + // Remove (pop) all passive deeper repetition levels: + while (topRepetitionPoint && !topRepetitionPoint->active) { + RepetitionLevel *oldTop = topRepetitionPoint ; + topRepetitionPoint = topRepetitionPoint->previous ; + free(oldTop) ; + } + // Reset current location to "resumePoint" location: + setCurrentLocationToResumePoint(topRepetitionPoint) ; + // Reset the bits buffer: + adbitbuf = topRepetitionPoint->storedadbitbuf ; + adbitibuf = topRepetitionPoint->storedadbitibuf ; + if (traceOn) { + printf(">AFTER RESET REPEAT AT ") ; + showLocation(curStack, tappos) ; + printf("\n") ; + showRepetitionLevels() ; + } +} + +/** Close (i.e. remove) the repetition level created by the latest adStack_startRepeat(). */ +void adStack_endRepeat() { + if (traceOn) { + printf("BEFORE END REPEAT AT ") ; + showLocation(curStack, tappos) ; + printf("\n") ; + showRepetitionLevels() ; + } + // Set to inactive the topmost active repetition level: + RepetitionLevel *topActive = topRepetitionPoint ; + while (!topActive->active) { + topActive = topActive->previous ; + } + topActive->active = 0 ; + // current location may have moved back ; check if we must move further back: + if (topRepetitionPoint) checkPopToReadOnly() ; + if (traceOn) { + printf(">AFTER END REPEAT AT ") ; + showLocation(curStack, tappos) ; + printf("\n") ; + showRepetitionLevels() ; + } +} + +/***************** double-linked list management *************/ + +/** add a data block to the double-linked list */ +char* pushBlock() { + if (curStack && curStack->next) { + curStack = curStack->next ; + } else { + DoubleChainedBlock *newStack = (DoubleChainedBlock*)malloc(sizeof(DoubleChainedBlock)) ; + if (newStack == NULL) { + /* We ran out of memory, print an error message and give up. */ + printf("Out of memory in AD Stack.\n") ; + exit(0) ; + } + if(curStack != NULL) { + curStack->next = newStack ; + newStack->rank = curStack->rank + 1 ; + } else { + newStack->rank = 1 ; + } + + newStack->prev = curStack ; + newStack->next = NULL ; + curStack = newStack ; + } +#ifdef _ADSTACKPROFILE + if (curStack->rank > maxBlocks) maxBlocks = curStack->rank ; +#endif + return curStack->contents ; +} + +/** retrieve a data block from the double-linked list */ +char* popBlock() { + DoubleChainedBlock *oldTopStack = curStack ; + curStack = curStack->prev ; + if (freeemptyblocks) { + // Not necessary. Only needed if we want to free when the stack goes down: + // We must not free if we are in a repetition level and below its freePush point. + if (!(topRepetitionPoint && oldTopStack->rank <= topRepetitionPoint->freePushBlock->rank)) { + free(oldTopStack) ; + if (curStack) curStack->next = NULL ; + } + // end "Not necessary" + } + return (curStack ? curStack->contents : NULL) ; +} + +/********************* push/pop arrays ***********************/ + +/* pushNArray/popNArray are used not only to store arrays of various data + types. These functions are also the only ones that interact with the dynamic + memory management, e.g. requesting new blocks. If one of the scalar push/pop + functions (e.g. pushReal4) encounters the end of a block, it will ask + pushNArray to do all the work, i.e. start a new block and push the real4 + value to it. */ +void pushNArray(char *x, int nbChars) { + do { + int wsize = tappos+nbChars 0) { + memcpy(tapblock+tappos,x,wsize) ; + nbChars -= wsize ; + x += wsize ; + tappos += wsize ; + } + else if (nbChars > 0) { + tapblock = pushBlock() ; + tappos = 0 ; + } + } while(nbChars > 0) ; //=> lazy push: if finishes at the top of block contents, does not push a new block. +} + +void popNArray(char *x, int nbChars) { + x += nbChars ; + do { + int wsize = (nbChars 0) { + memcpy(x-wsize,tapblock+tappos-wsize,wsize) ; + nbChars -= wsize ; + x -= wsize ; + tappos -= wsize ; + } + else if (nbChars > 0) { + tapblock = popBlock() ; + tappos = BLOCK_SIZE ; + } + } while(nbChars > 0) ; //=> lazy pop: if finishes at the bottom of block contents, does not pop block. +} + +void pushInteger4Array(int *x, int n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray((char *)x,(int)(n*4)) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*4) ; +#endif +} + +void popInteger4Array(int *x, int n) { + popNArray((char *)x,(int)(n*4)) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*4) ; +#endif +} + +void pushInteger8Array(long *x, int n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray((char *)x,(int)(n*8)) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*8) ; +#endif +} + +void popInteger8Array(long *x, int n) { + popNArray((char *)x,(int)(n*8)) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*8) ; +#endif +} + +void pushReal4Array(float *x, int n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray((char *)x,(int)(n*4)) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*4) ; +#endif +} + +void popReal4Array(float *x, int n) { + popNArray((char *)x,(int)(n*4)) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*4) ; +#endif +} + +void pushReal8Array(double *x, int n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray((char *)x,(int)(n*8)) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*8) ; +#endif +} + +void popReal8Array(double *x, int n) { + popNArray((char *)x,(int)(n*8)) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*8) ; +#endif +} + +void pushComplex8Array(ccmplx *x, int n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray((char *)x,(int)(n*8)) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*8) ; +#endif +} + +void popComplex8Array(ccmplx *x, int n) { + popNArray((char *)x,(int)(n*8)) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*8) ; +#endif +} + +void pushComplex16Array(double complex *x, int n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray((char *)x,(int)(n*16)) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*16) ; +#endif +} + +void popComplex16Array(double complex *x, int n) { + popNArray((char *)x,(int)(n*16)) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)(n*16) ; +#endif +} + +void pushCharacterArray(char *x, int n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray(x,(int)n) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)n ; +#endif +} + +void popCharacterArray(char *x, int n) { + popNArray(x,(int)n) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += (int)n ; +#endif +} + +/***************** scalar push/pop functions *****************/ + +void pushCharacter(char val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 1 > BLOCK_SIZE) { + pushNArray((char*)&val, 1) ; + } + else { + *(char*)(tapblock+tappos) = val; + tappos = tappos + 1 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 1 ; +#endif +} + +void popCharacter(char * val) { + if(tappos - 1 < 0) { + popNArray((char*)val, 1) ; + } + else { + tappos = tappos - 1 ; + *val = *(char*)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 1 ; +#endif +} + +void pushReal4(float val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 4 > BLOCK_SIZE) { + pushNArray((char*)&val, 4) ; + } + else { + *(float*)(tapblock+tappos) = val; + tappos = tappos + 4 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif +} + +void popReal4(float * val) { + if(tappos - 4 < 0) { + popNArray((char*)val, 4) ; + } + else { + tappos = tappos - 4 ; + *val = *(float*)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif +} + +void pushReal8(double val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 8 > BLOCK_SIZE) { + pushNArray((char*)&val, 8) ; + } + else { + *(double*)(tapblock+tappos) = val; + tappos = tappos + 8 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +void popReal8(double * val) { + if(tappos - 8 < 0) { + popNArray((char*)val, 8) ; + } + else { + tappos = tappos - 8 ; + *val = *(double*)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +void pushInteger4(int val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 4 > BLOCK_SIZE) { + pushNArray((char*)&val, 4) ; + } + else { + *(int*)(tapblock+tappos) = val; + tappos = tappos + 4 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif +} + +void popInteger4(int * val) { + if(tappos - 4 < 0) { + popNArray((char*)val, 4) ; + } + else { + tappos = tappos - 4 ; + *val = *(int*)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif +} + +void pushInteger8(long val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 8 > BLOCK_SIZE) { + pushNArray((char*)&val, 8) ; + } + else { + *(long*)(tapblock+tappos) = val; + tappos = tappos + 8 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +void popInteger8(long * val) { + if(tappos - 8 < 0) { + popNArray((char*)val, 8) ; + } + else { + tappos = tappos - 8 ; + *val = *(long*)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +void pushComplex8(ccmplx val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 8 > BLOCK_SIZE) { + pushNArray((char*)&val, 8) ; + } + else { + *(ccmplx*)(tapblock+tappos) = val; + tappos = tappos + 8 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +void popComplex8(ccmplx * val) { + if(tappos - 8 < 0) { + popNArray((char*)val, 8) ; + } + else { + tappos = tappos - 8 ; + *val = *(ccmplx*)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +void pushComplex16(double complex val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 16 > BLOCK_SIZE) { + pushNArray((char*)&val, 16) ; + } + else { + *(double complex *)(tapblock+tappos) = val; + tappos = tappos + 16 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 16 ; +#endif +} + +void popComplex16(double complex *val) { + if(tappos - 16 < 0) { + popNArray((char*)val, 16) ; + } + else { + tappos = tappos - 16 ; + *val = *(double complex *)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 16 ; +#endif +} + +void pushPointer4(void * val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 4 > BLOCK_SIZE) { + pushNArray((char*)&val, 4) ; + } + else { + *(void**)(tapblock+tappos) = val; + tappos = tappos + 4 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif +} + +void popPointer4(void ** val) { + if(tappos - 4 < 0) { + popNArray((char*)val, 4) ; + } + else { + tappos = tappos - 4 ; + *val = *(void**)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif +} + +void pushPointer8(void * val) { + if (topRepetitionPoint) checkPushInReadOnly() ; + if(tappos + 8 > BLOCK_SIZE) { + pushNArray((char*)&val, 8) ; + } + else { + *(void**)(tapblock+tappos) = val; + tappos = tappos + 8 ; + } +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +void popPointer8(void ** val) { + if(tappos - 8 < 0) { + popNArray((char*)val, 8) ; + } + else { + tappos = tappos - 8 ; + *val = *(void**)(tapblock+tappos); + } + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 8 ; +#endif +} + +/******************* bit (hidden primitives) ***************/ + +void pushBit(int x) { + adbitbuf<<=1 ; + if (x) ++adbitbuf ; + if (adbitibuf>=31) { + pushNArray((char *)&adbitbuf, 4) ; + adbitbuf = 0 ; + adbitibuf = 0 ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif + } else + ++adbitibuf ; +} + +int popBit() { + if (adbitibuf<=0) { + popNArray((char *)&adbitbuf, 4) ; + adbitibuf = 31 ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += 4 ; +#endif + } else + --adbitibuf ; + int result = adbitbuf%2 ; + adbitbuf>>=1 ; + return result ; +} + +/*************************** boolean *************************/ + +void pushBoolean(int x) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(x) ; +} + +//[llh] I have a bug here: the boolean returned to Fortran is bizarre! +void popBoolean(int *x) { + *x = popBit() ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +/************************* control ***********************/ + +void pushControl1b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc) ; +} + +void popControl1b(int *cc) { + *cc = popBit() ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +void pushControl2b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl2b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +void pushControl3b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl3b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +void pushControl4b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl4b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +void pushControl5b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl5b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +void pushControl6b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl6b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +void pushControl7b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl7b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +void pushControl8b(int cc) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc%2) ; + cc>>=1 ; + pushBit(cc) ; +} + +void popControl8b(int *cc) { + *cc = (popBit()?2:0) ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + (*cc) <<= 1 ; + if (popBit()) (*cc)++ ; + if (topRepetitionPoint) checkPopToReadOnly() ; +} + +/****************** Profiling and debugging *******************/ + +void adStack_showPeakSize() { + printf("Peak stack size (%1li blocks): %1llu bytes\n", + maxBlocks, maxBlocks*((long long int)BLOCK_SIZE)) ; +} + +void adStack_showTotalTraffic() { + printf("Total push/pop traffic %1llu bytes\n", pushPopTraffic) ; +} + +void adStack_showStackSize(int label) { + printf(" %i--> <",label) ; + showLocation(curStack, tappos) ; + printf(">") ; +} + +void adStack_showStack(char *locationName) { + if (!curStack || (tappos==0 && !curStack->prev)) { + printf ("Stack at %s is empty\n", locationName) ; + } else { + printf ("Stack top at %s is %1i.%05i :\n", locationName, curStack->rank, tappos) ; + int bytesToShow = 20 ; + int blocksToShow = 3 ; + DoubleChainedBlock *inStack = curStack ; + int inPos = tappos ; + while (blocksToShow>0 && inStack) { + printf(" Block %d:", inStack->rank) ; + while (bytesToShow>0 && inPos>0) { + printf(" %02x", (unsigned char)inStack->contents[--inPos]) ; + --bytesToShow ; + } + if (inPos>0) + printf(" ...<%d more bytes>...", inPos) ; + printf(" |\n") ; + --blocksToShow ; + inStack = inStack->prev ; + inPos = BLOCK_SIZE ; + } + if (inStack) + printf(" %d more blocks below\n", inStack->rank) ; + } + if (adbitibuf==0) { + printf("Bit buffer is empty\n") ; + } else { + printf("Bit buffer:%1i in %08x\n", adbitibuf, adbitbuf) ; + } + if (topRepetitionPoint) { + printf("Repetition levels:\n ") ; + showRepetitionLevels() ; + } + printf("----------------\n") ; +} + +/******* query if this stack was compiled with OpenMP ******/ +int stackIsThreadSafe() { + #ifdef _OPENMP + return 1 ; + #else + return 0 ; + #endif +} + +/****************** INTERFACE CALLED FROM FORTRAN *******************/ + +void adstack_startrepeat_() { + adStack_startRepeat() ; +} + +void adstack_resetrepeat_() { + adStack_resetRepeat() ; +} + +void adstack_endrepeat_() { + adStack_endRepeat() ; +} + +void pushinteger4array_(int *ii, int *ll) { + pushInteger4Array(ii, *ll) ; +} + +void popinteger4array_(int *ii, int *ll) { + popInteger4Array(ii, *ll) ; +} + +void pushinteger8array_(long *ii, int *ll) { + pushInteger8Array(ii, *ll) ; +} + +void popinteger8array_(long *ii, int *ll) { + popInteger8Array(ii, *ll) ; +} + +void pushreal4array_(float *ii, int *ll) { + pushReal4Array(ii, *ll) ; +} + +void popreal4array_(float *ii, int *ll) { + popReal4Array(ii, *ll) ; +} + +void pushreal8array_(double *ii, int *ll) { + pushReal8Array(ii, *ll) ; +} + +void popreal8array_(double *ii, int *ll) { + popReal8Array(ii, *ll) ; +} + +void pushcomplex8array_(ccmplx *ii, int *ll) { + pushComplex8Array(ii, *ll) ; +} + +void popcomplex8array_(ccmplx *ii, int *ll) { + popComplex8Array(ii, *ll) ; +} + +void pushcomplex16array_(cdcmplx *ii, int *ll) { + pushComplex16Array((double complex *)ii, *ll) ; +} + +void popcomplex16array_(cdcmplx *ii, int *ll) { + popComplex16Array((double complex *)ii, *ll) ; +} + +void pushcharacterarray_(char *ii, int *ll) { + pushCharacterArray(ii, *ll) ; +} + +void popcharacterarray_(char *ii, int *ll) { + popCharacterArray(ii, *ll) ; +} + +void pushbooleanarray_(char *x, int *n) { + if (topRepetitionPoint) checkPushInReadOnly() ; + pushNArray(x,(*n*4)) ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += *n*4 ; +#endif +} + +void popbooleanarray_(char *x, int *n) { + popNArray(x,(*n*4)) ; + if (topRepetitionPoint) checkPopToReadOnly() ; +#ifdef _ADSTACKPROFILE + pushPopTraffic += *n*4 ; +#endif +} + +void pushcharacter_(char* val) { + pushCharacter(*val) ; +} + +void popcharacter_(char* val) { + popCharacter(val) ; +} + +void pushreal4_(float* val) { + pushReal4(*val) ; +} + +void popreal4_(float* val) { + popReal4(val) ; +} + +void pushreal8_(double* val) { + pushReal8(*val) ; +} + +void popreal8_(double* val) { + popReal8(val) ; +} + +void pushinteger4_(int* val) { + pushInteger4(*val) ; +} + +void popinteger4_(int* val) { + popInteger4(val) ; +} + +void pushinteger8_(long* val) { + pushInteger8(*val) ; +} + +void popinteger8_(long* val) { + popInteger8(val) ; +} + +void pushcomplex8_(ccmplx* val) { + pushComplex8(*val) ; +} + +void popcomplex8_(ccmplx* val) { + popComplex8(val) ; +} + +void pushcomplex16_(cdcmplx *val) { + pushComplex16(*((double complex *)val)) ; +} + +void popcomplex16_(cdcmplx* val) { + popComplex16((double complex *)val) ; +} + +void pushpointer4_(void** val) { + pushPointer4(*val) ; +} + +void poppointer4_(void** val) { + popPointer4(val) ; +} + +void pushpointer8_(void** val) { + pushPointer8(*val) ; +} + +void poppointer8_(void** val) { + popPointer8(val) ; +} + +void pushcontrol1b_(int* cc) { + pushControl1b(*cc) ; +} + +void popcontrol1b_(int *cc) { + popControl1b(cc) ; +} + +void pushcontrol2b_(int *cc) { + pushControl2b(*cc) ; +} + +void popcontrol2b_(int *cc) { + popControl2b(cc) ; +} + +void pushcontrol3b_(int *cc) { + pushControl3b(*cc) ; +} + +void popcontrol3b_(int *cc) { + popControl3b(cc) ; +} + +void pushcontrol4b_(int *cc) { + pushControl4b(*cc) ; +} + +void popcontrol4b_(int *cc) { + popControl4b(cc) ; +} + +void pushcontrol5b_(int *cc) { + pushControl5b(*cc) ; +} + +void popcontrol5b_(int *cc) { + popControl5b(cc) ; +} + +void pushcontrol6b_(int *cc) { + pushControl6b(*cc) ; +} + +void popcontrol6b_(int *cc) { + popControl6b(cc) ; +} + +void pushcontrol7b_(int *cc) { + pushControl7b(*cc) ; +} + +void popcontrol7b_(int *cc) { + popControl7b(cc) ; +} + +void pushcontrol8b_(int *cc) { + pushControl8b(*cc) ; +} + +void popcontrol8b_(int *cc) { + popControl8b(cc) ; +} + +void adstack_showpeaksize_() { + adStack_showPeakSize() ; +} + +void adstack_showtotaltraffic_() { + adStack_showTotalTraffic() ; +} + +void adstack_showstacksize_(int *label) { + adStack_showStackSize(*label) ; +} + +void adstack_showstack_(char *locationName) { + adStack_showStack(locationName) ; +} + +void pushboolean_(int *x) { + pushBoolean(*x) ; +} + +void popboolean_(int *x) { + popBoolean(x) ; +} + +int stackisthreadsafe_() { + return stackIsThreadSafe() ; +} diff --git a/tools/TAP_support/ADFirstAidKit/adStack.h b/tools/TAP_support/ADFirstAidKit/adStack.h new file mode 100644 index 0000000000..c7005a0b03 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/adStack.h @@ -0,0 +1,79 @@ +#ifndef ADSTACK_INCLUDED +#define ADSTACK_INCLUDED + +#include "complex.h" + +void adStack_startRepeat() ; +void adStack_resetRepeat() ; +void adStack_endRepeat() ; + +/* char* pushBlock() ; */ +/* char* popBlock() ; */ +/* void pushNArray(char *x, int nbChars) ; */ +/* void popNArray(char *x, int nbChars) ; */ + +void pushInteger4Array(int *x, int n) ; +void popInteger4Array(int *x, int n) ; +void pushInteger8Array(long *x, int n) ; +void popInteger8Array(long *x, int n) ; +void pushReal4Array(float *x, int n) ; +void popReal4Array(float *x, int n) ; +void pushReal8Array(double *x, int n) ; +void popReal8Array(double *x, int n) ; +/* Commented out because sizeof(complex) == sizeof(double complex) == 16 */ +/* void pushComplex8Array(complex *x, int n) ; */ +/* void popComplex8Array(complex *x, int n) ; */ +void pushComplex16Array(double complex *x, int n) ; +void popComplex16Array(double complex *x, int n) ; +void pushCharacterArray(char *x, int n) ; +void popCharacterArray(char *x, int n) ; + +void pushCharacter(char val) ; +void popCharacter(char* val) ; +void pushReal4(float val) ; +void popReal4(float* val) ; +void pushReal8(double val) ; +void popReal8(double* val) ; +void pushInteger4(int val) ; +void popInteger4(int* val) ; +void pushInteger8(long val) ; +void popInteger8(long* val) ; +/* Commented out because sizeof(complex) == sizeof(double complex) == 16 */ +/* void pushComplex8(complex val) ; */ +/* void popComplex8(complex *val) ; */ +void pushComplex16(double complex val) ; +void popComplex16(double complex *val) ; +void pushPointer4(void* val) ; +void popPointer4(void** val) ; +void pushPointer8(void* val) ; +void popPointer8(void** val) ; +void pushBoolean(int x) ; +void popBoolean(int *x) ; + +void pushBit(int x) ; +int popBit() ; + +void pushControl1b(int cc) ; +void popControl1b(int *cc) ; +void pushControl2b(int cc) ; +void popControl2b(int *cc) ; +void pushControl3b(int cc) ; +void popControl3b(int *cc) ; +void pushControl4b(int cc) ; +void popControl4b(int *cc) ; +void pushControl5b(int cc) ; +void popControl5b(int *cc) ; +void pushControl6b(int cc) ; +void popControl6b(int *cc) ; +void pushControl7b(int cc) ; +void popControl7b(int *cc) ; +void pushControl8b(int cc) ; +void popControl8b(int *cc) ; + +void adStack_showPeakSize() ; +void adStack_showTotalTraffic() ; +void adStack_showStackSize(int label) ; +void adStack_showStack(char *locationName) ; + +int stackIsThreadSafe() ; +#endif diff --git a/tools/TAP_support/ADFirstAidKit/admm.c b/tools/TAP_support/ADFirstAidKit/admm.c new file mode 100644 index 0000000000..987207819a --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/admm.c @@ -0,0 +1,687 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include +#include +#include +#include "admm.h" + +#include + +/* DEBUGGING AND STATISTICS: + * ------------------------- + * Compile with -D ADMM_TRACE to log calls to ADMM + * Compile with -D ADMM_TIME to show the total time spent in ADMM + * Compile with -D ADMM_TIME_SEARCHING to show the total time spent searching in the ADMM table + * Compile with -D ADMM_COUNTS to show the numbers of ADMM operations and objects + * Compile with -D ADMM_LABELS to add a last label argument to ADMM calls + */ + +#ifdef ADMM_COUNTS +int numberOfRegisterings = 0 ; +int numberOfUnregisterings = 0 ; +int numberOfChunks = 0 ; +int peakNumberOfChunks = 0 ; +int numberOfRebases = 0 ; +int numberOfWaitings = 0 ; +int peakNumberOfWaitings = 0 ; +#endif + +#ifdef ADMM_TIME +double timeSpentInADMM = 0.0 ; +clock_t startADMMTime, endADMMTime ; +#endif + +#ifdef ADMM_TIME_SEARCHING +double timeSpentSearching = 0.0 ; +clock_t startSearchTime, endSearchTime ; +#endif + +/** Cell of a chained list of void* */ +typedef struct _ADMM_List { + void* head ; + struct _ADMM_List* tail ; +} ADMM_List ; + +typedef enum {BYBASE, BYOBASE, BYBASEB, BYOBASEB} ADMM_AddrSort ; + +/** All info about one memory chunk */ +typedef struct { + // 0:base, 1:obase, 2:baseb, 3:obaseb + void* bases[4] ; + int sizeInBytes ; + int sizeInBytesb ; + int nbElements ; +} ADMM_ChunkInfo ; + +typedef struct { + void** pp ; + void** ppb ; +} ADMM_WaitingAddress ; + +ADMM_List admm_chunksByBaseCell = {NULL, NULL} ; +ADMM_List admm_chunksByObaseCell = {NULL, NULL} ; +ADMM_List admm_chunksByBasebCell = {NULL, NULL} ; +ADMM_List admm_chunksByObasebCell = {NULL, NULL} ; +ADMM_List* admm_chunksLists[] = + {&admm_chunksByBaseCell, &admm_chunksByObaseCell, &admm_chunksByBasebCell, &admm_chunksByObasebCell}; + +ADMM_List admm_waitingRebasesRoot = {NULL, NULL} ; +ADMM_List *admm_waitingRebases = &admm_waitingRebasesRoot ; + + +void ADMM_insertChunkInfo(ADMM_ChunkInfo* newChunkInfo, void* base, ADMM_AddrSort index) { + ADMM_List *toList = admm_chunksLists[index] ; + // search for the place where to insert the ADMM_ChunkInfo: + while (toList->tail && ((ADMM_ChunkInfo*)toList->tail->head)->bases[index]tail ; + } + // insert at that place: + ADMM_List* newCell = (ADMM_List*)malloc(sizeof(ADMM_List)) ; + newCell->head = newChunkInfo ; + newCell->tail = toList->tail ; + toList->tail = newCell ; +} + +ADMM_ChunkInfo* ADMM_searchBase(void* base, ADMM_AddrSort index) { + ADMM_List *inList = admm_chunksLists[index]->tail ; + ADMM_ChunkInfo* chunk ; + // search for the ADMM_ChunkInfo about the chunk with the given base: + while (inList) { + chunk = (ADMM_ChunkInfo*)inList->head ; + if (chunk->bases[index]==base) return chunk ; + inList = inList->tail ; + } + return NULL ; +} + +ADMM_ChunkInfo* ADMM_searchAddress(void* address, ADMM_AddrSort index) { + ADMM_List *inList = admm_chunksLists[index]->tail ; + ADMM_ChunkInfo* chunk ; + // search for the ADMM_ChunkInfo that contains the address: + while (inList) { + chunk = (ADMM_ChunkInfo*)inList->head ; + if (chunk->bases[index]<=address && + address<(chunk->bases[index]+(indexsizeInBytes:chunk->sizeInBytesb))) + return chunk ; + inList = inList->tail ; + } + return NULL ; +} + +void ADMM_removeChunkInfo(ADMM_ChunkInfo* chunkInfo, ADMM_AddrSort index) { + ADMM_List *toList = admm_chunksLists[index] ; + // search for the ADMM_ChunkInfo in the list: + while (toList->tail) { + if (toList->tail->head==chunkInfo) { + ADMM_List* cell = toList->tail ; + toList->tail = cell->tail ; + free(cell) ; + return ; + } + toList = toList->tail ; + } +} + +void ADMM_findRanksInWaitings(void** pointer, void** pointerb, long* indexInWait, long* numberInWait) { + // Just for tracing ADMM, returns the length of the waitinglist and the rank in it of pointer/pointerb. + ADMM_List* inWaitingRebases = admm_waitingRebases->tail ; + ADMM_WaitingAddress* waitingAddress ; + *indexInWait = 0 ; + *numberInWait = 0 ; + while (inWaitingRebases) { + waitingAddress = (ADMM_WaitingAddress*)inWaitingRebases->head ; + ++(*numberInWait); + if (waitingAddress->pp==pointer && waitingAddress->ppb==pointerb) *indexInWait = *numberInWait ; + inWaitingRebases = inWaitingRebases->tail ; + } +} + +void ADMM_addWaitingRebase(void** pointer, void** pointerb) { + // First, check if the same pointer(s) are maybe already waiting for a rebase, + // (for another, previous address, and rebasing this address has never been possible). + // In that case this waiting rebase can be reused as the new waiting rebase. + ADMM_List* inWaitingRebases = admm_waitingRebases->tail ; + ADMM_WaitingAddress* waitingAddress ; + int found = 0 ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + while (!found && inWaitingRebases) { + waitingAddress = (ADMM_WaitingAddress*)inWaitingRebases->head ; + found = (waitingAddress->pp==pointer && waitingAddress->ppb==pointerb) ; + inWaitingRebases = inWaitingRebases->tail ; + } +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif + // If these pointers were not already waiting, add them into the waiting list: + if (!found) { + ADMM_List *newCell = (ADMM_List*)malloc(sizeof(ADMM_List)) ; + newCell->tail = admm_waitingRebases->tail ; + newCell->head = (ADMM_WaitingAddress*)malloc(sizeof(ADMM_WaitingAddress)) ; +#ifdef ADMM_COUNTS + ++numberOfWaitings ; + if (peakNumberOfWaitingshead)->pp = pointer ; + ((ADMM_WaitingAddress*)newCell->head)->ppb = pointerb ; + admm_waitingRebases->tail = newCell ; + } +} + +/** The given chunk provides for both the primal and its derivative. + * The waitingAddress can expect for a primal or a derivative or for both. */ +int ADMM_chunkInfoShadowedSolvesWaiting(ADMM_ChunkInfo* chunk, ADMM_WaitingAddress* waitingAddress) { + int match = 0 ; + if (waitingAddress->pp && *(waitingAddress->pp)) + match = (chunk->bases[BYOBASE]<=*(waitingAddress->pp) + && *(waitingAddress->pp)<(chunk->bases[BYOBASE]+chunk->sizeInBytes)) ; + else if (waitingAddress->ppb && *(waitingAddress->ppb)) + match = (chunk->bases[BYOBASEB]<=*(waitingAddress->ppb) + && *(waitingAddress->ppb)<(chunk->bases[BYOBASEB]+chunk->sizeInBytesb)) ; + if (match) { + if (waitingAddress->pp && *(waitingAddress->pp)) + *(waitingAddress->pp) = chunk->bases[BYBASE]+(*(waitingAddress->pp)-chunk->bases[BYOBASE]) ; + if (waitingAddress->ppb && *(waitingAddress->ppb)) + *(waitingAddress->ppb) = chunk->bases[BYBASEB]+(*(waitingAddress->ppb)-chunk->bases[BYOBASEB]) ; +#ifdef ADMM_COUNTS + ++numberOfRebases ; +#endif + return 1 ; + } else + return 0 ; +} + +/** The given chunk is only for the primal. + * The waitingAddress can only expect for a primal. If it expects a derivative -> error! */ +int ADMM_chunkInfoSolvesWaiting(ADMM_ChunkInfo* chunk, ADMM_WaitingAddress* waitingAddress) { + int match = (waitingAddress->pp && *(waitingAddress->pp) + && chunk->bases[BYOBASE]<=*(waitingAddress->pp) + && *(waitingAddress->pp)<(chunk->bases[BYOBASE]+chunk->sizeInBytes)) ; + if (match) { + *(waitingAddress->pp) = chunk->bases[BYBASE]+(*(waitingAddress->pp)-chunk->bases[BYOBASE]) ; +#ifdef ADMM_COUNTS + ++numberOfRebases ; +#endif + return 1 ; + } else + return 0 ; +} + +/** Remove waiting addresses and addressesb that will never be solved + * because they are contained in pointers that are beeing freed. */ +void ADMM_cleanDeadWaitingsShadowed(void *base, int size, void *baseb, int sizeb) { + ADMM_List* inWaitingRebases = admm_waitingRebases ; + ADMM_List* waitingCell ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + while (inWaitingRebases->tail) { + waitingCell = inWaitingRebases->tail ; + if ( + (base <= (void*)((ADMM_WaitingAddress*)waitingCell->head)->pp && + (void*)((ADMM_WaitingAddress*)waitingCell->head)->pp < base+size) + || + (baseb && ((ADMM_WaitingAddress*)waitingCell->head)->ppb && + baseb <= (void*)((ADMM_WaitingAddress*)waitingCell->head)->ppb && + (void*)((ADMM_WaitingAddress*)waitingCell->head)->ppb < baseb+sizeb) + ) { +#ifdef ADMM_TRACE + printf(" clean waiting [%li]->%li Shadow:[%li]->%li\n", ((ADMM_WaitingAddress*)waitingCell->head)->pp, (((ADMM_WaitingAddress*)waitingCell->head)->pp?*(((ADMM_WaitingAddress*)waitingCell->head)->pp):NULL), ((ADMM_WaitingAddress*)waitingCell->head)->ppb, (((ADMM_WaitingAddress*)waitingCell->head)->ppb?*(((ADMM_WaitingAddress*)waitingCell->head)->ppb):NULL)) ; + fflush(stdout); +#endif + inWaitingRebases->tail = inWaitingRebases->tail->tail ; + free(waitingCell->head) ; + free(waitingCell) ; +#ifdef ADMM_COUNTS + --numberOfWaitings ; +#endif + } else + inWaitingRebases = inWaitingRebases->tail ; + } +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif +} + +void ADMM_registerShadowed(void *base, void *obase, int sizeInBytes, void *baseb, void **alreadyRebasedb, void *obaseb, int sizeInBytesb, int nbElements +#ifdef ADMM_LABELS +, char *label) { +#else +) {char *label = "" ; +#endif +#ifdef ADMM_TIME + startADMMTime = clock() ; +#endif + int rebasePhase = (obaseb!=0) ; + ADMM_ChunkInfo* newChunkInfo = (ADMM_ChunkInfo*)malloc(sizeof(ADMM_ChunkInfo)) ; +#ifdef ADMM_COUNTS + ++numberOfChunks ; + if (numberOfChunks>peakNumberOfChunks) peakNumberOfChunks = numberOfChunks ; + ++numberOfRegisterings ; +#endif +#ifdef ADMM_TRACE + if (rebasePhase) + printf("ADMM_register (old:%li=>)%li+%i Shadow: (old:%li=>)%li+%i \"%s\"\n", obase, base, sizeInBytes, obaseb, baseb, sizeInBytesb, label); + else + printf("ADMM_register %li+%i Shadow: %li+%i \"%s\"\n", base, sizeInBytes, baseb, sizeInBytesb, label); + fflush(stdout); +#endif + if (!rebasePhase) {obase = base; obaseb = baseb;} + newChunkInfo->bases[0] = base ; + newChunkInfo->bases[1] = obase ; + newChunkInfo->bases[2] = baseb ; + newChunkInfo->bases[3] = obaseb ; + newChunkInfo->sizeInBytes = sizeInBytes ; + newChunkInfo->sizeInBytesb = sizeInBytesb ; + newChunkInfo->nbElements = nbElements ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + ADMM_insertChunkInfo(newChunkInfo, base, BYBASE) ; + ADMM_insertChunkInfo(newChunkInfo, obase, BYOBASE) ; + ADMM_insertChunkInfo(newChunkInfo, baseb, BYBASEB) ; + ADMM_insertChunkInfo(newChunkInfo, obaseb, BYOBASEB) ; + if (rebasePhase) { + /* Now solve waiting pointers and pointerbs with newChunkInfo: */ + ADMM_List* inWaitingRebases = admm_waitingRebases ; + ADMM_List* waitingCell ; + while (inWaitingRebases->tail) { + waitingCell = inWaitingRebases->tail ; +#ifdef ADMM_TRACE + printf(" ...retry rebase [%li]->%li Shadow:[%li]->%li ?", ((ADMM_WaitingAddress*)waitingCell->head)->pp, (((ADMM_WaitingAddress*)waitingCell->head)->pp?*(((ADMM_WaitingAddress*)waitingCell->head)->pp):NULL), ((ADMM_WaitingAddress*)waitingCell->head)->ppb, (((ADMM_WaitingAddress*)waitingCell->head)->ppb?*(((ADMM_WaitingAddress*)waitingCell->head)->ppb):NULL)) ; + fflush(stdout); +#endif + if (alreadyRebasedb==((ADMM_WaitingAddress*)waitingCell->head)->ppb) { +#ifdef ADMM_TRACE + printf(" now done => [%li]->%li Shadow:[%li]->%li !\n", ((ADMM_WaitingAddress*)waitingCell->head)->pp, (((ADMM_WaitingAddress*)waitingCell->head)->pp?*(((ADMM_WaitingAddress*)waitingCell->head)->pp):NULL), ((ADMM_WaitingAddress*)waitingCell->head)->ppb, (((ADMM_WaitingAddress*)waitingCell->head)->ppb?*(((ADMM_WaitingAddress*)waitingCell->head)->ppb):NULL)) ; + fflush(stdout); +#endif + inWaitingRebases->tail = inWaitingRebases->tail->tail ; + free(waitingCell->head) ; + free(waitingCell) ; + } else if (ADMM_chunkInfoShadowedSolvesWaiting(newChunkInfo, (ADMM_WaitingAddress*)waitingCell->head)) { +#ifdef ADMM_TRACE + printf(" yes => [%li]->%li Shadow:[%li]->%li !\n", ((ADMM_WaitingAddress*)waitingCell->head)->pp, (((ADMM_WaitingAddress*)waitingCell->head)->pp?*(((ADMM_WaitingAddress*)waitingCell->head)->pp):NULL), ((ADMM_WaitingAddress*)waitingCell->head)->ppb, (((ADMM_WaitingAddress*)waitingCell->head)->ppb?*(((ADMM_WaitingAddress*)waitingCell->head)->ppb):NULL)) ; + fflush(stdout); +#endif + inWaitingRebases->tail = inWaitingRebases->tail->tail ; + free(waitingCell->head) ; + free(waitingCell) ; +#ifdef ADMM_COUNTS + --numberOfWaitings ; +#endif + } else { +#ifdef ADMM_TRACE + printf(" no, try again later!\n") ; + fflush(stdout); +#endif + inWaitingRebases = inWaitingRebases->tail ; + } + } + } +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif +#ifdef ADMM_TIME + endADMMTime = clock() ; + timeSpentInADMM += ((double)(endADMMTime-startADMMTime))/((double)CLOCKS_PER_SEC) ; +#endif +} + +void ADMM_register(void *base, void **alreadyRebased, void *obase, int sizeInBytes, int nbElements +#ifdef ADMM_LABELS +, char *label) { +#else +) {char *label = "" ; +#endif +#ifdef ADMM_TIME + startADMMTime = clock() ; +#endif + int rebasePhase = (obase!=0) ; + ADMM_ChunkInfo* newChunkInfo = (ADMM_ChunkInfo*)malloc(sizeof(ADMM_ChunkInfo)) ; +#ifdef ADMM_COUNTS + ++numberOfChunks ; + if (numberOfChunks>peakNumberOfChunks) peakNumberOfChunks = numberOfChunks ; + ++numberOfRegisterings ; +#endif +#ifdef ADMM_TRACE + if (rebasePhase) + printf("ADMM_register (old:%li=>)%li+%i \"%s\"\n", obase, base, sizeInBytes, label); + else + printf("ADMM_register %li+%i \"%s\"\n", base, sizeInBytes, label); + fflush(stdout); +#endif + if (!rebasePhase) obase = base ; + newChunkInfo->bases[0] = base ; + newChunkInfo->bases[1] = obase ; + newChunkInfo->bases[2] = NULL ; + newChunkInfo->bases[3] = NULL ; + newChunkInfo->sizeInBytes = sizeInBytes ; + newChunkInfo->sizeInBytesb = 0 ; + newChunkInfo->nbElements = nbElements ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + ADMM_insertChunkInfo(newChunkInfo, base, BYBASE) ; + ADMM_insertChunkInfo(newChunkInfo, obase, BYOBASE) ; + if (rebasePhase) { + /* Now solve waiting pointers with newChunkInfo: + * NOTE: we are in the no-shadow Register case, which means that this + * memory chunk doesn't need a derivative chunk, and therefore we assume + * that there cannot be a shadowed waiting address waiting for this chunk. */ + ADMM_List* inWaitingRebases = admm_waitingRebases ; + ADMM_List* waitingCell ; + while (inWaitingRebases->tail) { + waitingCell = inWaitingRebases->tail ; +#ifdef ADMM_TRACE + printf(" ...retry rebase [%li]->%li ?", ((ADMM_WaitingAddress*)waitingCell->head)->pp, (((ADMM_WaitingAddress*)waitingCell->head)->pp?*(((ADMM_WaitingAddress*)waitingCell->head)->pp):NULL)) ; + fflush(stdout); +#endif + if (alreadyRebased==((ADMM_WaitingAddress*)waitingCell->head)->pp) { +#ifdef ADMM_TRACE + printf(" now done => [%li]->%li !\n", ((ADMM_WaitingAddress*)waitingCell->head)->pp, (((ADMM_WaitingAddress*)waitingCell->head)->pp?*(((ADMM_WaitingAddress*)waitingCell->head)->pp):NULL)) ; + fflush(stdout); +#endif + inWaitingRebases->tail = inWaitingRebases->tail->tail ; + free(waitingCell->head) ; + free(waitingCell) ; + } else if (ADMM_chunkInfoSolvesWaiting(newChunkInfo, (ADMM_WaitingAddress*)waitingCell->head)) { +#ifdef ADMM_TRACE + printf(" yes => [%li]->%li !\n", ((ADMM_WaitingAddress*)waitingCell->head)->pp, (((ADMM_WaitingAddress*)waitingCell->head)->pp?*(((ADMM_WaitingAddress*)waitingCell->head)->pp):NULL)) ; + fflush(stdout); +#endif + inWaitingRebases->tail = inWaitingRebases->tail->tail ; + free(waitingCell->head) ; + free(waitingCell) ; +#ifdef ADMM_COUNTS + --numberOfWaitings ; +#endif + } else { +#ifdef ADMM_TRACE + printf(" no, try again later!\n") ; + fflush(stdout); +#endif + inWaitingRebases = inWaitingRebases->tail ; + } + } + } +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif +#ifdef ADMM_TIME + endADMMTime = clock() ; + timeSpentInADMM += ((double)(endADMMTime-startADMMTime))/((double)CLOCKS_PER_SEC) ; +#endif +} + +void ADMM_unregisterShadowed(void *base, void *baseb, int *nbElements +#ifdef ADMM_LABELS +, char *label) { +#else +) {char *label = "" ; +#endif +#ifdef ADMM_TIME + startADMMTime = clock() ; +#endif +#ifdef ADMM_TRACE + printf("ADMM_unregister %li Shadow: %li \"%s\"\n", base, baseb, label); + fflush(stdout); +#endif + ADMM_ChunkInfo* foundChunkInfo = NULL ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + if (baseb) + foundChunkInfo = ADMM_searchBase(baseb, BYBASEB) ; + if (!foundChunkInfo) + foundChunkInfo = ADMM_searchBase(base, BYBASE) ; +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif + if (foundChunkInfo) { + *nbElements = foundChunkInfo->nbElements ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + ADMM_removeChunkInfo(foundChunkInfo, BYBASE) ; + ADMM_removeChunkInfo(foundChunkInfo, BYOBASE) ; + ADMM_removeChunkInfo(foundChunkInfo, BYBASEB) ; + ADMM_removeChunkInfo(foundChunkInfo, BYOBASEB) ; +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif + ADMM_cleanDeadWaitingsShadowed(base, foundChunkInfo->sizeInBytes, baseb, foundChunkInfo->sizeInBytesb) ; + free(foundChunkInfo) ; +#ifdef ADMM_COUNTS + ++numberOfUnregisterings ; + --numberOfChunks ; +#endif + } +#ifdef ADMM_TIME + endADMMTime = clock() ; + timeSpentInADMM += ((double)(endADMMTime-startADMMTime))/((double)CLOCKS_PER_SEC) ; +#endif +} + +void ADMM_unregister(void *base, int *nbElements +#ifdef ADMM_LABELS +, char *label) { +#else +) {char *label = "" ; +#endif +#ifdef ADMM_TIME + startADMMTime = clock() ; +#endif +#ifdef ADMM_TRACE + printf("ADMM_unregister %li \"%s\"\n", base, label); + fflush(stdout); +#endif +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + ADMM_ChunkInfo* foundChunkInfo = ADMM_searchBase(base, BYBASE) ; +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif + if (foundChunkInfo) { + *nbElements = foundChunkInfo->nbElements ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + ADMM_removeChunkInfo(foundChunkInfo, BYBASE) ; + ADMM_removeChunkInfo(foundChunkInfo, BYOBASE) ; +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif + ADMM_cleanDeadWaitingsShadowed(base, foundChunkInfo->sizeInBytes, NULL, 0) ; + free(foundChunkInfo) ; +#ifdef ADMM_COUNTS + ++numberOfUnregisterings ; + --numberOfChunks ; +#endif + } +#ifdef ADMM_TIME + endADMMTime = clock() ; + timeSpentInADMM += ((double)(endADMMTime-startADMMTime))/((double)CLOCKS_PER_SEC) ; +#endif +} + +void ADMM_rebaseShadowed(void** pointer, void** pointerb +#ifdef ADMM_LABELS +, char *label) { +#else +) {char *label = "" ; +#endif +#ifdef ADMM_TIME + startADMMTime = clock() ; +#endif +#ifdef ADMM_TRACE + printf(" ADMM_rebase [%li]->%li Shadow:[%li]->%li \"%s\" ?", pointer, (pointer?*pointer:NULL), pointerb, (pointerb?*pointerb:NULL), label) ; + fflush(stdout); +#endif + ADMM_ChunkInfo* foundChunkInfo = NULL ; +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + if (*pointerb) + foundChunkInfo = ADMM_searchAddress(*pointerb, BYOBASEB) ; + if (!foundChunkInfo && pointer && *pointer) + foundChunkInfo = ADMM_searchAddress(*pointer, BYOBASE) ; +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif + if (foundChunkInfo) { + if (pointer && *pointer) + *pointer = foundChunkInfo->bases[BYBASE]+(*pointer-foundChunkInfo->bases[BYOBASE]) ; + if (*pointerb) + *pointerb = foundChunkInfo->bases[BYBASEB]+(*pointerb-foundChunkInfo->bases[BYOBASEB]) ; +#ifdef ADMM_TRACE + printf(" yes => [%li]->%li Shadow:[%li]->%li !\n", pointer, (pointer?*pointer:NULL), pointerb, (pointerb?*pointerb:NULL)) ; + printf(" from (old:%li=>)%li+%i Shadow: (old:%li=>)%li+%i\n", foundChunkInfo->bases[BYOBASE], foundChunkInfo->bases[BYBASE], foundChunkInfo->sizeInBytes, foundChunkInfo->bases[BYOBASEB], foundChunkInfo->bases[BYBASEB], foundChunkInfo->sizeInBytesb); + fflush(stdout); +#endif + } else if ((pointer && *pointer) || *pointerb) { + ADMM_addWaitingRebase(pointer, pointerb) ; +#ifdef ADMM_TRACE + long indexInWait, numberInWait ; + ADMM_findRanksInWaitings(pointer, pointerb, &indexInWait, &numberInWait) ; + printf(" no => add to waiting list [%li/%li]\n",indexInWait,numberInWait) ; + fflush(stdout); +#endif + } else { +#ifdef ADMM_TRACE + printf(".\n") ; + fflush(stdout); +#endif + } +#ifdef ADMM_COUNTS + ++numberOfRebases ; +#endif +#ifdef ADMM_TIME + endADMMTime = clock() ; + timeSpentInADMM += ((double)(endADMMTime-startADMMTime))/((double)CLOCKS_PER_SEC) ; +#endif +} + + +void ADMM_rebase(void** pointer +#ifdef ADMM_LABELS +, char *label) { +#else +) {char *label = "" ; +#endif +#ifdef ADMM_TIME + startADMMTime = clock() ; +#endif +#ifdef ADMM_TRACE + printf(" ADMM_rebase [%li]->%li \"%s\" ?", pointer, (pointer?*pointer:NULL), label) ; + fflush(stdout); +#endif + ADMM_ChunkInfo* foundChunkInfo = NULL ; + if (*pointer) { +#ifdef ADMM_TIME_SEARCHING + startSearchTime = clock() ; +#endif + foundChunkInfo = ADMM_searchAddress(*pointer, BYOBASE) ; +#ifdef ADMM_TIME_SEARCHING + endSearchTime = clock() ; + timeSpentSearching += ((double)(endSearchTime-startSearchTime))/((double)CLOCKS_PER_SEC) ; +#endif + if (foundChunkInfo) { + *pointer = foundChunkInfo->bases[BYBASE]+(*pointer-foundChunkInfo->bases[BYOBASE]) ; +#ifdef ADMM_TRACE + printf(" yes => [%li]->%li !\n", pointer, (pointer?*pointer:NULL)) ; + printf(" from (old:%li=>)%li+%i Shadow: (old:%li=>)%li+%i\n", foundChunkInfo->bases[BYOBASE], foundChunkInfo->bases[BYBASE], foundChunkInfo->sizeInBytes, foundChunkInfo->bases[BYOBASEB], foundChunkInfo->bases[BYBASEB], foundChunkInfo->sizeInBytesb); + fflush(stdout); +#endif + } else { + ADMM_addWaitingRebase(pointer, NULL) ; +#ifdef ADMM_TRACE + long indexInWait, numberInWait ; + ADMM_findRanksInWaitings(pointer, NULL, &indexInWait, &numberInWait) ; + printf(" no => add to waiting list [%li/%li]\n",indexInWait,numberInWait) ; + fflush(stdout); +#endif + } + } else { +#ifdef ADMM_TRACE + printf(".\n") ; + fflush(stdout); +#endif + } +#ifdef ADMM_COUNTS + ++numberOfRebases ; +#endif +#ifdef ADMM_TIME + endADMMTime = clock() ; + timeSpentInADMM += ((double)(endADMMTime-startADMMTime))/((double)CLOCKS_PER_SEC) ; +#endif +} + +#ifdef ADMM_COUNTS +void ADMM_showChunks() { + ADMM_List* inChunksByBaseCell = admm_chunksByBaseCell.tail ; + ADMM_ChunkInfo* chunkInfo ; + printf("CHUNKS LIST:\n") ; + while (inChunksByBaseCell) { + chunkInfo = ((ADMM_ChunkInfo*)inChunksByBaseCell->head) ; + printf(" (old:%li=>)%li+%i Shadow: (old:%li=>)%li+%i (%i elements)\n", + chunkInfo->bases[BYOBASE], chunkInfo->bases[BYBASE], chunkInfo->sizeInBytes, + chunkInfo->bases[BYOBASEB], chunkInfo->bases[BYBASEB], chunkInfo->sizeInBytesb, + chunkInfo->nbElements); + inChunksByBaseCell = inChunksByBaseCell->tail ; + } + fflush(stdout); +} +#endif + +#ifdef ADMM_COUNTS +void ADMM_showWaitings() { + ADMM_List* inWaitingRebases = admm_waitingRebases->tail ; + ADMM_WaitingAddress* waitingAddress ; + printf("WAITING LIST:\n") ; + while (inWaitingRebases) { + waitingAddress = (ADMM_WaitingAddress*)inWaitingRebases->head ; + printf(" [%li]->%li Shadow:[%li]->%li %x %x \n", + waitingAddress->pp, (waitingAddress->pp?*(waitingAddress->pp):NULL), + waitingAddress->ppb, (waitingAddress->ppb?*(waitingAddress->ppb):NULL), + waitingAddress->pp, waitingAddress->ppb); + inWaitingRebases = inWaitingRebases->tail ; + } + printf("\n"); + fflush(stdout); +} +#endif + +void ADMM_statistics() { +#ifdef ADMM_TIME + printf("Time spent in ADMM:%lf\n", timeSpentInADMM) ; +#endif +#ifdef ADMM_TIME_SEARCHING + printf("Time spent searching:%lf\n", timeSpentSearching) ; +#endif +#ifdef ADMM_COUNTS + printf("Registerings:%i, Unregisterings:%i, numberOfRebases:%i\n", + numberOfRegisterings, numberOfUnregisterings, numberOfRebases) ; + printf("chunks:%i[peak:%i] waiting:%i[peak:%i]\n", + numberOfChunks, peakNumberOfChunks, numberOfWaitings, peakNumberOfWaitings); + ADMM_showChunks() ; + ADMM_showWaitings() ; +#endif + fflush(stdout); +} diff --git a/tools/TAP_support/ADFirstAidKit/admm.h b/tools/TAP_support/ADFirstAidKit/admm.h new file mode 100644 index 0000000000..df7cceb3a0 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/admm.h @@ -0,0 +1,67 @@ + +//# if defined(__cplusplus) +// extern "C" { +//# endif + +/** Re-base restored pointers *pp (and possibly it adjoint *ppb) from their + * old base from the forward sweep to their new base in the backward sweep. + * When new base is not available yet, schedules this to be done later + * when a new base is allocated. + * Usage: restoring a pointer pp (i.e. declared as T* pp ;) creates in the backward sweep: + * poppointer8((void**)(&pp)) ; + * and/or possibly: + * poppointer8((void**)(&ppb)) ; + * then add after these pop(s): + * ADMM_rebaseShadowed((void**)(&pp), (void**)(&ppb)) ; + * or if no ppb: + * ADMM_rebase((void**)(&pp)) ; + */ +void ADMM_rebaseShadowed(void **pp, void **ppb +#ifdef ADMM_LABELS +, char *label +#endif +); +void ADMM_rebase(void **pp +#ifdef ADMM_LABELS +, char *label +#endif +); + +/** Register a newly allocated memory chunk in the forward sweep (when obase==null or ==base), + * or register a newly allocated memory chunk "base" in the backward sweep relating it + * with its corresponding chunk from the forward sweep "obase". + * "sizeInBytes" is the total size in bytes of the allocated chunk. + * When the corresponding derivative chunks exist separately ("Shadowed" mode), + * then do the same with the info about the derivative + * chunks "baseb", "obaseb" and "sizeInBytesb". + * "nbElements" is the length i.e. the number of elements of the allocated array. */ +void ADMM_registerShadowed(void *base, void *obase, int sizeInBytes, void *baseb, void **alreadyRebasedb, void *obaseb, int sizeInBytesb, int nbElements +#ifdef ADMM_LABELS +, char *label +#endif +) ; +void ADMM_register(void *base, void **alreadyRebased, void *obase, int sizeInBytes, int nbElements +#ifdef ADMM_LABELS +, char *label +#endif +) ; + +/** Unregister a memory chunk, which must be done when this chunk is about to be deallocated. + * Returns in "nbElements" the length i.e. the number of elements of the array + * that is about to be deallocated. */ +void ADMM_unregisterShadowed(void *base, void *baseb, int *nbElements +#ifdef ADMM_LABELS +, char *label +#endif +) ; +void ADMM_unregister(void *base, int *nbElements +#ifdef ADMM_LABELS +, char *label +#endif +) ; + +void ADMM_statistics(); + +//# if defined(__cplusplus) +// } +//# endif diff --git a/tools/TAP_support/ADFirstAidKit/admm_tapenade_interface.f90 b/tools/TAP_support/ADFirstAidKit/admm_tapenade_interface.f90 new file mode 100644 index 0000000000..1305d569a5 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/admm_tapenade_interface.f90 @@ -0,0 +1,72 @@ +MODULE ADMM_TAPENADE_INTERFACE + IMPLICIT NONE + INTERFACE PUSHPOINTER8 + SUBROUTINE PUSHPOINTER8(pp) BIND(c, name='pushPointer8') + USE ISO_C_BINDING + TYPE(C_PTR), VALUE :: pp + END SUBROUTINE PUSHPOINTER8 + END INTERFACE PUSHPOINTER8 + + INTERFACE POPPOINTER8 + SUBROUTINE POPPOINTER8(pp) BIND(c, name='popPointer8') + USE ISO_C_BINDING + TYPE(C_PTR) :: pp + END SUBROUTINE POPPOINTER8 + END INTERFACE POPPOINTER8 + + INTERFACE ADMM_REGISTERSHADOWED + SUBROUTINE ADMM_REGISTERSHADOWED(base, obase, size, baseb, obaseb& +& , sizeb, nbelem) BIND(c, name='ADMM_registerShadowed') + USE ISO_C_BINDING + TYPE(C_PTR), VALUE :: base, obase + TYPE(C_PTR), VALUE :: baseb, obaseb + INTEGER, VALUE :: size, sizeb + INTEGER, VALUE :: nbelem + END SUBROUTINE ADMM_REGISTERSHADOWED + END INTERFACE ADMM_REGISTERSHADOWED + + INTERFACE ADMM_REGISTER + SUBROUTINE ADMM_REGISTER(base, obase, size, nbelem) BIND(c, name=& +& 'ADMM_register') + USE ISO_C_BINDING + TYPE(C_PTR), VALUE :: base, obase + INTEGER, VALUE :: size + INTEGER, VALUE :: nbelem + END SUBROUTINE ADMM_REGISTER + END INTERFACE ADMM_REGISTER + + INTERFACE ADMM_UNREGISTERSHADOWED + SUBROUTINE ADMM_UNREGISTERSHADOWED(base, baseb, nbelem) BIND(c, & +& name='ADMM_unregisterShadowed') + USE ISO_C_BINDING + TYPE(C_PTR), VALUE :: base, baseb + INTEGER :: nbelem + END SUBROUTINE ADMM_UNREGISTERSHADOWED + END INTERFACE ADMM_UNREGISTERSHADOWED + + INTERFACE ADMM_UNREGISTER + SUBROUTINE ADMM_UNREGISTER(base, nbelem) BIND(c, name=& +& 'ADMM_unregister') + USE ISO_C_BINDING + TYPE(C_PTR), VALUE :: base + INTEGER :: nbelem + END SUBROUTINE ADMM_UNREGISTER + END INTERFACE ADMM_UNREGISTER + + INTERFACE ADMM_REBASESHADOWED + SUBROUTINE ADMM_REBASESHADOWED(base, baseb) BIND(c, name=& +& 'ADMM_rebaseShadowed') + USE ISO_C_BINDING + TYPE(C_PTR) :: base, baseb + END SUBROUTINE ADMM_REBASESHADOWED + END INTERFACE ADMM_REBASESHADOWED + + INTERFACE ADMM_REBASE + SUBROUTINE ADMM_REBASE(base) BIND(c, name='ADMM_rebase') + USE ISO_C_BINDING + TYPE(C_PTR) :: base + END SUBROUTINE ADMM_REBASE + END INTERFACE ADMM_REBASE + +END MODULE ADMM_TAPENADE_INTERFACE + diff --git a/tools/TAP_support/ADFirstAidKit/ampi/adTool/support.h b/tools/TAP_support/ADFirstAidKit/ampi/adTool/support.h new file mode 100644 index 0000000000..4d84caa642 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/adTool/support.h @@ -0,0 +1,846 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_ADTOOL_SUPPORT_H_ +#define _AMPI_ADTOOL_SUPPORT_H_ + +#include +#if defined(__cplusplus) +extern "C" { +#endif + +#include "ampi/userIF/request.h" +#include "ampi/userIF/activity.h" +#include "ampi/userIF/modified.h" + +/** + * \file + * \brief methods that an AD tool needs to implement in order to use the implementation in Common + */ + +/** + * The implementation of pushing the required elements for Bcast calls. + * Might rework for conciseness. Wrote this to avoid pushing too much stuff with _pushSRinfo. + */ +void ADTOOL_AMPI_pushBcastInfo(void* buf, + int count, + MPI_Datatype datatype, + int root, + MPI_Comm comm); +typedef void (ADTOOL_AMPI_pushBcastInfoF) (void*,int, MPI_Datatype, int, MPI_Comm); + + +/** + * Popping the required elements for Bcast calls. + */ +void ADTOOL_AMPI_popBcastInfo(void** buf, + int* count, + MPI_Datatype* datatype, + int* root, + MPI_Comm* comm, + void **idx); +typedef void (ADTOOL_AMPI_popBcastInfoF) (void**, int*, MPI_Datatype*, int*, MPI_Comm*, void**); + + +/** + * Pushing and popping a block of double values, specifically for reduction results. + */ +void ADTOOL_AMPI_pushDoubleArray(void* buf, + int count); +typedef void (ADTOOL_AMPI_pushDoubleArrayF) (void*, int); + +void ADTOOL_AMPI_popDoubleArray(double* buf, + int* count); +typedef void (ADTOOL_AMPI_popDoubleArrayF) (double*, int*); + +/** + * The implementation of pushing the required elements for Reduce calls. + * Might rework for conciseness. Note that we require a separate TAPE_AMPI_push_MPI_Op + * function to push the reduce operation. I defined _push_MPI_Op in + * AdjoinableMPI/Tape/support.c w/ header AdjoinableMPI/ampi/tape/support.h. + */ +void ADTOOL_AMPI_pushReduceInfo(void* sbuf, + void* rbuf, + void* resultData, + int pushResultData, + int count, + MPI_Datatype datatype, + MPI_Op op, + int root, + MPI_Comm comm); +typedef void (ADTOOL_AMPI_pushReduceInfoF) (void*, void*, void*, int, int, MPI_Datatype, MPI_Op, int, MPI_Comm); + +/** + * Popping the required elements for Reduce calls. + */ +void ADTOOL_AMPI_popReduceCountAndType(int* count, + MPI_Datatype* datatype); +typedef void (ADTOOL_AMPI_popReduceCountAndTypeF) (int*, MPI_Datatype*); + +void ADTOOL_AMPI_popReduceInfo(void** sbuf, + void** rbuf, + void** prevData, + void** resultData, + int* count, + MPI_Op* op, + int* root, + MPI_Comm* comm, + void **idx); +typedef void (ADTOOL_AMPI_popReduceInfoF) (void**, void**, void**, void**, int*, MPI_Op*, int*, MPI_Comm*, void **); + + +/** + * the implementation of pushing the required elements for send/recv + * to the AD-tool-internal stack; + * For source transformation this may remain unimplemented provided all the parameters + * are recovered by TBR and buf is mapped explicitly. + * the operator overloading implementation maps buf to the adjoint address space. + * The source transformation implementation ignores buf + */ +void ADTOOL_AMPI_pushSRinfo(void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); +typedef void (ADTOOL_AMPI_pushSRinfoF) (void*, int, MPI_Datatype, int, int, AMPI_PairedWith, MPI_Comm); + +/** + * the implementation of popping the required elements for send/recv + * from the AD-tool-internal stack; + * See comments of \ref ADTOOL_AMPI_pushSRinfo. + */ +void ADTOOL_AMPI_popSRinfo(void** buf, + int* count, + MPI_Datatype* datatype, + int* src, + int* tag, + AMPI_PairedWith* pairedWith, + MPI_Comm* comm, + void **idx); +typedef void (ADTOOL_AMPI_popSRinfoF) (void**, int*, MPI_Datatype*, int*, int*, AMPI_PairedWith*, MPI_Comm*, void**); + +/** + * the implementation of pushing the required elements for one-sided + * communication + * to the AD-tool-internal stack; + * For source transformation this may remain unimplemented provided all the parameters + * are recovered by TBR and buf is mapped explicitly. + * the operator overloading implementation maps buf to the adjoint address space. + * The source transformation implementation ignores buf + */ +void ADTOOL_AMPI_pushOSinfo(void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); +typedef void (ADTOOL_AMPI_pushOSinfoF) (void*, int, MPI_Datatype, int, int, AMPI_PairedWith, MPI_Comm); + +/** + * the implementation of popping the required elements for one-sided + * communication + * from the AD-tool-internal stack; + * See comments of \ref ADTOOL_AMPI_pushOSinfo. + */ +void ADTOOL_AMPI_popOSinfo(void** buf, + int* count, + MPI_Datatype* datatype, + int* src, + int* tag, + AMPI_PairedWith* pairedWith, + MPI_Comm* comm, + void **idx); +typedef void (ADTOOL_AMPI_popOSinfoF) (void**, int*, MPI_Datatype*, int*, int*, AMPI_PairedWith*, MPI_Comm*, void**); + +/** + * the implementation of pushing the required elements for gather/scatter + * to the AD-tool-internal stack; + * the implementation rationale follows \ref ADTOOL_AMPI_pushSRinfo + * NOTE: for non-root ranks the root specific parameters are ignored + * which implies in particular that the pointers passed may not be valid + * therefore we use commSizeForRootOrNull to discriminate + * \param commSizeForRootOrNull is the communicator size for rank root or 0 + * \param rbuf the buffer on rank root + * \param rcnt the count on rank root + * \param rtype the data type on rank root + * \param buf the buffer on non-root ranks + * \param count the counter for buf on non-root ranks + * \param type the data type on non-root ranks + * \param root the root rank + * \param comm the communicator + */ +void ADTOOL_AMPI_pushGSinfo(int commSizeForRootOrNull, + void *rbuf, + int rcnt, + MPI_Datatype rtype, + void *buf, + int count, + MPI_Datatype type, + int root, + MPI_Comm comm); +typedef void (ADTOOL_AMPI_pushGSinfoF) (int, void*, int, MPI_Datatype, void*, int, MPI_Datatype, int, MPI_Comm); + +/** + * this must be called before \ref ADTOOL_AMPI_popGSinfo and \ref ADTOOL_AMPI_popGSVinfo + * \param commSizeForRootOrNull this is popped so that we may allocate buffers for + * rcnts and displs in the subsequent call to \ref ADTOOL_AMPI_popGSVinfo + */ +void ADTOOL_AMPI_popGScommSizeForRootOrNull(int *commSizeForRootOrNull); +typedef void (ADTOOL_AMPI_popGScommSizeForRootOrNullF) (int*); + +/** + * the implementation of popping the required elements for gather/scatter + * from the AD-tool-internal stack; + * see comments of \ref ADTOOL_AMPI_pushGSinfo; + * following the note there we will not be setting the values for root specific + * arguments on non-root ranks + * \param commSizeForRootOrNull retrieved via \ref ADTOOL_AMPI_popGScommSizeForRootOrNull + * \param rbuf the buffer on rank rook, set if commSizeForRootOrNull>0 + * \param rcnt the size for rank root, set if commSizeForRootOrNull>0 + * \param rtype the data type for rank root, set if commSizeForRootOrNull>0 + * \param buf the buffer for all ranks + * \param count the count for all ranks + * \param type the type for all ranks + * \param root the root rank + * \param comm the communicator for all ranks + */ +void ADTOOL_AMPI_popGSinfo(int commSizeForRootOrNull, + void **rbuf, + int *rcnt, + MPI_Datatype *rtype, + void **buf, + int *count, + MPI_Datatype *type, + int *root, + MPI_Comm *comm); +typedef void (ADTOOL_AMPI_popGSinfoF) (int, void**, int*, MPI_Datatype*, void**, int*, MPI_Datatype*, int*, MPI_Comm*); + +/** + * the implementation of pushing the required elements for gatherv/scatterv + * to the AD-tool-internal stack; + * the implementation rationale follows \ref ADTOOL_AMPI_pushSRinfo + * NOTE: for non-root ranks the root specific parameters are ignored + * which implies in particular that the pointers passed may not be valid + * therefore we use commSizeForRootOrNull to discriminate + * \param commSizeForRootOrNull is the communicator size for rank root or 0 + * \param rbuf the buffer on rank root + * \param rcnts the counters per rank on rank root + * \param displs the displacements for rbuf on rank root + * \param rtype the data type on rank root + * \param buf the buffer on non-root ranks + * \param count the counter for buf on non-root ranks + * \param type the data type on non-root ranks + * \param root the root rank + * \param comm the communicator + */ +void ADTOOL_AMPI_pushGSVinfo(int commSizeForRootOrNull, + void *rbuf, + int *rcnts, + int *displs, + MPI_Datatype rtype, + void *buf, + int count, + MPI_Datatype type, + int root, + MPI_Comm comm); +typedef void (ADTOOL_AMPI_pushGSVinfoF) (int, void*, int*, int*, MPI_Datatype, void*, int, MPI_Datatype, int, MPI_Comm); + +/** + * the implementation of popping the required elements for gatherv/scatterv + * from the AD-tool-internal stack; + * see comments of \ref ADTOOL_AMPI_pushGSVinfo; + * following the note there we will not be setting the values for root specific + * arguments on non-root ranks + * \param commSizeForRootOrNull retrieved via \ref ADTOOL_AMPI_popGScommSizeForRootOrNull + * \param rbuf the buffer on rank rook, set if commSizeForRootOrNull>0 + * \param rcnts the array of size commSizeForRootOrNull for rank root, set if commSizeForRootOrNull>0 + * \param displs the array of size commSizeForRootOrNull for rank root, set if commSizeForRootOrNull>0 + * \param rtype the data type for rank root, set if commSizeForRootOrNull>0 + * \param buf the buffer for all ranks + * \param count the count for all ranks + * \param type the type for all ranks + * \param root the root rank + * \param comm the communicator for all ranks + */ +void ADTOOL_AMPI_popGSVinfo(int commSizeForRootOrNull, + void **rbuf, + int *rcnts, + int *displs, + MPI_Datatype *rtype, + void **buf, + int *count, + MPI_Datatype *type, + int *root, + MPI_Comm *comm); +typedef void (ADTOOL_AMPI_popGSVinfoF) (int, void**, int*, int*, MPI_Datatype*, void**, int*, MPI_Datatype*, int*, MPI_Comm*); + +/** + * the implementation of pushing an operation code to the + * to the AD-tool-internal stack for an operator overloading tool; + * the source transformation implementation will leave this empty; + * this method is called in the respective FW_ variant + * implemented in Common + */ +void ADTOOL_AMPI_push_CallCode(enum AMPI_CallCode_E thisCall); +typedef void (ADTOOL_AMPI_push_CallCodeF) (enum AMPI_CallCode_E); + +/** + * the implementation of pushing an operation code to the + * to the AD-tool-internal stack for an operator overloading tool where a number + * of locations have to be reserved on the trace, currently only called in + * Scatterv and Gatherv; + * the source transformation implementation will leave this empty; + * this method is called in the respective FW_ variant + * implemented in Common + */ +void ADTOOL_AMPI_push_CallCodeReserve(enum AMPI_CallCode_E thisCall, unsigned int); +typedef void (ADTOOL_AMPI_push_CallCodeReserveF) (enum AMPI_CallCode_E, unsigned int); + +/** + * the implementation of popping an operation code from the + * to the AD-tool-internal stack for an operator overloading tool; + * See comments of \ref ADTOOL_AMPI_push_CallCode. + * the operator overloading tool needs to pop the code from its operation + * stack first and then call (with dummy parameters) the respect BW_ + * variant of the operatiorn represented by thisCall + */ +void ADTOOL_AMPI_pop_CallCode(enum AMPI_CallCode_E *thisCall); +typedef void (ADTOOL_AMPI_pop_CallCodeF) (enum AMPI_CallCode_E*); + + + +/** + * the implementation of pushing the required elements of an \ref AMPI_Request_S + * to the AD-tool-internal stack + */ +void ADTOOL_AMPI_push_AMPI_Request(struct AMPI_Request_S *ampiRequest); +typedef void (ADTOOL_AMPI_push_AMPI_RequestF) (struct AMPI_Request_S*); + +/** + * the implementation of popping the required elements of an \ref AMPI_Request_S + * from the AD-tool-internal stack + */ +void ADTOOL_AMPI_pop_AMPI_Request(struct AMPI_Request_S *ampiRequest); +typedef void (ADTOOL_AMPI_pop_AMPI_RequestF) (struct AMPI_Request_S*); + + +/** + * Push the MPI_Request on the AD tool internal stack. + * This is used as a key to the request bookkeeping + * to keep correspondence between the request Id of the FW sweep + * to the request Id in BW sweep. + * if we need to trace requests for a pure (operator overloading) trace evaluation + * the Common implementation uses this to push the request + * See \ref bookkeeping. + */ +void ADTOOL_AMPI_push_request(MPI_Request request); +typedef void (ADTOOL_AMPI_push_requestF) (MPI_Request); + + +/** + * Push a window request for one-sided communication using a specific window + */ +void ADTOOL_AMPI_push_AMPI_WinRequest(AMPI_WinRequest *winRequest); +typedef void (ADTOOL_AMPI_push_WinRequestF) (AMPI_WinRequest*); + +/** + * Pop a window request for one-sided communication using a specific window + */ +void ADTOOL_AMPI_pop_AMPI_WinRequest(AMPI_WinRequest *winRequest); +typedef void (ADTOOL_AMPI_pop_WinRequestF) (AMPI_WinRequest*); + +/** + * Push a window for one-sided communication using a specific window + */ +void ADTOOL_AMPI_push_AMPI_Win(AMPI_Win *win); +typedef void (ADTOOL_AMPI_push_AMPI_WinF) (AMPI_Win*); + +/** + * Pop a window for one-sided communication using a specific window + */ +void ADTOOL_AMPI_pop_AMPI_Win(AMPI_Win *win); +typedef void (ADTOOL_AMPI_pop_AMPI_WinF) (AMPI_Win*); + +/** + * the companion to \ref ADTOOL_AMPI_push_request. + * See \ref bookkeeping. + */ +MPI_Request ADTOOL_AMPI_pop_request(); +typedef MPI_Request (ADTOOL_AMPI_pop_requestF) (); + +void ADTOOL_AMPI_push_comm(MPI_Comm comm); +typedef void (ADTOOL_AMPI_push_commF) (MPI_Comm); + +/** + * the companion to \ref ADTOOL_AMPI_push_request + */ +MPI_Comm ADTOOL_AMPI_pop_comm(); +typedef MPI_Comm (ADTOOL_AMPI_pop_commF) (); + +/** + * map active data to raw data; this is to be implemented for the forward + * execution by tools using association-by-address; + * for tools using association-by-name the same address should be returned; + */ +void * ADTOOL_AMPI_rawData(void* activeData, int *size); +typedef void* (ADTOOL_AMPI_rawDataF) (void*, int*); + +/** + * map active data to raw data; functionality similar to \ref ADTOOL_AMPI_rawData + * except it is handling vector buffers with arrays of counts and displacements as + * used in MPI_Gatherv or MPI_Scatterv + */ +void * ADTOOL_AMPI_rawDataV(void* activeData, int commSize, int *counts, int* displs); +typedef void * (ADTOOL_AMPI_rawDataVF) (void*, int, int*, int*); + +/** + * serialize user-defined struct for sending in forward execution in + * association-by-address tools + */ +void * ADTOOL_AMPI_packDType(void* indata, void* outdata, int count, int idx); +typedef void * (ADTOOL_AMPI_packDTypeF) (void*, void*, int, int); + +/** + * unpack serialized user-defined struct data into its original form + */ +void * ADTOOL_AMPI_unpackDType(void* indata, void* outdata, int count, int idx); +typedef void * (ADTOOL_AMPI_unpackDTypeF) (void*, void*, int, int); + +/** + * \todo add description + */ +void ADTOOL_AMPI_writeData(void* activeData, int *size); +typedef void (ADTOOL_AMPI_writeDataF) (void*, int*); + +/** + * \todo add description + */ +void ADTOOL_AMPI_writeDataV(void* activeData, int *counts, int* displs); +typedef void (ADTOOL_AMPI_writeDataVF) (void*, int*, int*); + +/** + * map active data to adjoint data; this is to be implemented for the backward + * execution by tools using association-by-address; + * for tools using association-by-name the same address should be returned; + */ +void * ADTOOL_AMPI_rawAdjointData(void* activeData); +typedef void * (ADTOOL_AMPI_rawAdjointDataF) (void*); + +/** + * Declares correspondence between a buffer and its counterpart adjoint buffer + * Adds correspondence into the request-to-buffer association list + * This is necessary for association-by-name transfo tools. + * should be done upon turn from FW sweep to BW sweep. + * \param buf the original, non-differentiated buffer. + * \param adjointBuf the corresponding adjoint buffer. + */ +void ADTOOL_AMPI_Turn(void* buf, void* adjointBuf) ; +typedef void (ADTOOL_AMPI_TurnF) (void*, void*) ; + +/** + * set it on the request; + * \param buf is forward sweep buffer (for source transformation tools) + * \param ampiRequest is the request to be pushed and popped for the adjoint communication + */ +void ADTOOL_AMPI_mapBufForAdjoint(struct AMPI_Request_S *ampiRequest, + void* buf); +typedef void (ADTOOL_AMPI_mapBufForAdjointF) (struct AMPI_Request_S*, void*); + +/** + * Map buffer in a one-sided communication + */ + +void ADTOOL_AMPI_mapWinBufForAdjoint(AMPI_WinRequest *winRequest, + void* buf); +typedef void (ADTOOL_AMPI_mapWinBufForAdjointF) (AMPI_WinRequest*, void*); + +/** + * an operator overloading tool should not do anything in the implementation but see \ref ADTOOL_AMPI_mapBufForAdjoint; + * a source transformation tool would receive the adjoint buffer as an argument + * and set it on the request; + * \param buf is the adjoint buffer (for source transformation tools) + * \param ampiRequest is the request to be used during the adjoint communication + */ +void ADTOOL_AMPI_setBufForAdjoint(struct AMPI_Request_S *ampiRequest, + void* buf); +typedef void (ADTOOL_AMPI_setBufForAdjointF) (struct AMPI_Request_S *, void*); + +/** + * this method resets \param count member to represent the buffer in terms of + * elements of the original MPI \param datatype; this is of particular interest for vector mode; + * \todo needs to be expanded for the case where the adjoint data is not represented by the same MPI data type as the + * original program data + */ +void ADTOOL_AMPI_getAdjointCount(int *count, + MPI_Datatype datatype); +typedef void (ADTOOL_AMPI_getAdjointCountF) (int*, MPI_Datatype); + +/** + * \param ampiRequest in this instance this method resets the adjointCount member; + */ +void ADTOOL_AMPI_setAdjointCount(struct AMPI_Request_S *ampiRequest); +typedef void (ADTOOL_AMPI_setAdjointCountF) (struct AMPI_Request_S *); + +/** + * calls \ref ADTOOL_AMPI_setAdjointCount and sets up a temporary buffer into which the adjoint data is received, see e.g. \ref BW_AMPI_Wait + * \param ampiRequest is the request instance that is modified + */ +void ADTOOL_AMPI_setAdjointCountAndTempBuf(struct AMPI_Request_S *ampiRequest); +typedef void (ADTOOL_AMPI_setAdjointCountAndTempBufF) (struct AMPI_Request_S*); + +/** + * \param winRequest in this instance this method resets the adjointCount member; + */ +void ADTOOL_AMPI_setWinAdjointCount(AMPI_WinRequest *winRequest); +typedef void (ADTOOL_AMPI_setWinAdjointCountF) (AMPI_WinRequest *); + +/** + * calls \ref ADTOOL_AMPI_setAdjointCount and sets up a temporary buffer into which the adjoint data is received, see e.g. \ref BW_AMPI_Win_fence + * \param winRequest is the request instance that is modified + */ +void ADTOOL_AMPI_setWinAdjointCountAndTempBuf(AMPI_WinRequest *winRequest); +typedef void (ADTOOL_AMPI_setWinAdjointCountAndTempBufF) (AMPI_WinRequest *); + +/** + * synchronizes the window with incoming adjoints, applies the corresponding + * increments and nullifies the adjoints in the window. + * \param win is the AMPI_Win instance providing the window for the incoming + * adjoints + */ +void ADTOOL_AMPI_syncAdjointWin(AMPI_Win *win); +typedef void (ADTOOL_AMPI_syncAdjointWinF) (AMPI_Win *); + +/** + * Allocates a temporary buffer needed to receive adjoint + * data before adding it to the adjoint variable + */ +void* ADTOOL_AMPI_allocateTempBuf(int adjointCount, MPI_Datatype dataType, MPI_Comm comm) ; +typedef void* (ADTOOL_AMPI_allocateTempBufF) (int, MPI_Datatype, MPI_Comm) ; + +/** + * releases the temporary buffer (allocated by \ref ADTOOL_AMPI_setAdjointCountAndTempBuf) into which the adjoint data was received + */ +void ADTOOL_AMPI_releaseAdjointTempBuf(void *tempBuf); +typedef void (ADTOOL_AMPI_releaseAdjointTempBufF) (void *); + +/** + * allocates buffer with active variables (needed as a temporary in Reduce) + */ +void* ADTOOL_AMPI_allocateTempActiveBuf(int count, MPI_Datatype datatype, MPI_Comm comm); +typedef void* (ADTOOL_AMPI_allocateTempActiveBufF) (int, MPI_Datatype, MPI_Comm); + +/** + * releases buffer with active variables (used as a temporary in Reduce) + */ +void ADTOOL_AMPI_releaseTempActiveBuf(void *buf, int count, MPI_Datatype datatype); +typedef void (ADTOOL_AMPI_releaseTempActiveBufF) (void *, int, MPI_Datatype); + +/** + * copies contents of buffer including real values of active variables + */ +void * ADTOOL_AMPI_copyActiveBuf(void* source, void* target, int count, MPI_Datatype datatype, MPI_Comm comm); +typedef void* (ADTOOL_AMPI_copyActiveBufF) (void*, void*, int, MPI_Datatype, MPI_Comm); + +/** + * Adjoint of assignment target=source*target + */ +void ADTOOL_AMPI_adjointMultiply(int count, MPI_Datatype datatype, MPI_Comm comm, + void *source, void *adjointSource, + void* target, void* adjointTarget) ; +typedef void (ADTOOL_AMPI_adjointMultiplyF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*, void*); + +/** + * Adjoint of assignment target=MIN(source,target) + */ +void ADTOOL_AMPI_adjointMin(int count, MPI_Datatype datatype, MPI_Comm comm, + void *source, void *adjointSource, + void* target, void* adjointTarget) ; +typedef void (ADTOOL_AMPI_adjointMinF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*, void*); + +/** + * Adjoint of assignment target=MAX(source,target) + */ +void ADTOOL_AMPI_adjointMax(int count, MPI_Datatype datatype, MPI_Comm comm, + void *source, void *adjointSource, + void* target, void* adjointTarget) ; +typedef void (ADTOOL_AMPI_adjointMaxF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*, void*); + +/** + * Multiply the given buffer target, which holds an adjoint, with the given source value + * \param adjointCount is the number of items in the buffer we will increment + * \param datatype the data type of the buffer to be incremented + * \param comm the communicator to be passed to MPI_Abort for failures + * \param target the adjoint buffer to be multiplied + * \param source the value to multiply by. + * \param idx tape index for each element of the non contiguous buffer + */ +void ADTOOL_AMPI_multiplyAdjoint(int adjointCount, MPI_Datatype datatype, MPI_Comm comm, void* target, void *source, void* idx); +typedef void (ADTOOL_AMPI_multiplyAdjointF)(int, MPI_Datatype, MPI_Comm, void*, void*, void*); + +/** + * Divide the given buffer target, which holds an adjoint, with the given source value + * \param adjointCount is the number of items in the buffer we will increment + * \param datatype the data type of the buffer to be incremented + * \param comm the communicator to be passed to MPI_Abort for failures + * \param target the adjoint buffer to be divided + * \param source the value to divide by. + * \param idx tape index for each element of the non contiguous buffer + */ +void ADTOOL_AMPI_divideAdjoint(int adjointCount, MPI_Datatype datatype, MPI_Comm comm, void* target, void *source, void* idx); +typedef void (ADTOOL_AMPI_divideAdjointF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*); + +/** + * Check equality of the given buffers source1 and source2, which hold adjoints, + * and return the result in the given target buffer. + * \param adjointCount is the number of items in the buffer we will increment + * \param datatype the data type of the buffer to be incremented + * \param comm the communicator to be passed to MPI_Abort for failures + * \param target the buffer that will hold the result (0==difference) + * \param source1 the one buffer to compare + * \param source2 the other buffer to compare + * \param idx tape index for each element of the non contiguous buffer + */ +void ADTOOL_AMPI_equalAdjoints(int adjointCount, MPI_Datatype datatype, MPI_Comm comm, void* target, void *source1, void *source2, void* idx); +typedef void (ADTOOL_AMPI_equalAdjointsF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*, void*); + +/** + * Increment the given buffer "target", which holds an adjoint variable, + * with the given additional adjoint value found in "source". + * \param adjointCount is the number of items in the buffer we will increment + * \param datatype the data type of the buffer to be incremented + * \param comm the communicator to be passed to MPI_Abort for failures + * \param target the adjoint buffer to be incremented + * \param source the adjoint value that must be added into the adjoint buffer. + * \param idx tape index for each element of the non contiguous buffer + */ + void ADTOOL_AMPI_incrementAdjoint(int adjointCount, MPI_Datatype datatype, MPI_Comm comm, void* target, void *source, void* idx); + typedef void (ADTOOL_AMPI_incrementAdjointF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*); + +/** + * Reset to zero the given buffer "target", which holds an adjoint variable. + * \param adjointCount is the number of items in the buffer we will nullify + * \param datatype the data type of the buffer to be nullified + * \param comm the communicator to be passed to MPI_Abort for failures + * \param target the adjoint buffer to be nullified + */ +void ADTOOL_AMPI_nullifyAdjoint(int adjointCount, MPI_Datatype datatype, MPI_Comm comm, void* target); +typedef void (ADTOOL_AMPI_nullifyAdjointF) (int, MPI_Datatype, MPI_Comm, void*); + +/** + * create predefined active types; to be cleaned up with \ref ADTOOL_AMPI_cleanupTypes + */ +void ADTOOL_AMPI_setupTypes(); +typedef void (ADTOOL_AMPI_setupTypesF)(); + +/** + * cleanup types created with \ref ADTOOL_AMPI_setupTypes + */ +void ADTOOL_AMPI_cleanupTypes(); +typedef void (ADTOOL_AMPI_cleanupTypesF)(); + +#ifdef AMPI_FORTRANCOMPATIBLE +/** + * Fortran routine to figure out what the proper types are on the Fortran side + * \param adouble returns the integer representation for the Fortran version of AMPI_ADOUBLE_PRECISION + * \param real returns the integer representation for the Fortran version of AMPI_AREAL + */ +void adtool_ampi_fortransetuptypes_(MPI_Fint* adouble, MPI_Fint* areal); +typedef void (adtool_ampi_fortransetuptypes_F) (MPI_Fint*, MPI_Fint*); + +void adtool_ampi_fortrancleanuptypes_(MPI_Fint* adouble, MPI_Fint* areal); +typedef void (adtool_ampi_fortrancleanuptypes_F) (MPI_Fint*, MPI_Fint*); + +/** + * Fortran routine to ask Fortran to tell the C side about the Fortran-side values of the + * "binding" variables i.e. MPI_IN_PLACE, MPI_BOTTOM, etc. + */ +void adtool_ampi_fortransetupbindings_() ; + +#endif + +/** + * Take datatype for forward mode, return datatype for transfer. + */ +MPI_Datatype ADTOOL_AMPI_FW_rawType(MPI_Datatype datatype); +typedef MPI_Datatype (ADTOOL_AMPI_FW_rawTypeF) (MPI_Datatype); + +/** + * Take datatype for reverse mode, return datatype for transfer. + */ +MPI_Datatype ADTOOL_AMPI_BW_rawType(MPI_Datatype datatype); +typedef MPI_Datatype (ADTOOL_AMPI_BW_rawTypeF) (MPI_Datatype); + + +/** + * test types for activity + * \param datatype any data type but particularly also the active data type(s) created by the tool (see \ref AMPI_ADOUBLE etc.) + * \returns the respective enum value based on the type's activity + */ +AMPI_Activity ADTOOL_AMPI_isActiveType(MPI_Datatype datatype); +typedef AMPI_Activity (ADTOOL_AMPI_isActiveTypeF) (MPI_Datatype); + +/** The global MPI_COMM_WORLD_D */ +extern MPI_Comm ADTOOL_AMPI_COMM_WORLD_SHADOW; + +/** + * Maps the active buffer on a mapped buffer for a MPI_Win + */ + +void *ADTOOL_AMPI_createWinMap(void *active_buf, MPI_Aint size); +typedef void *(ADTOOL_AMPI_createWinMapF) (void *active_buf, MPI_Aint size); + +/** + * Maps the active buffer on a mapped buffer for a MPI_Win + */ + +void ADTOOL_AMPI_writeWinData(void *map, void *buf, MPI_Aint size); +typedef void (ADTOOL_AMPI_writeWinDataF) (void *map, void *buf, MPI_Aint size); + +/** + * Gets the size of the mapped buffer for a window at its creation. It returns + * the size of the mapped window (may be equal to the active window). + * \param size of the active window. + */ + +MPI_Aint ADTOOL_AMPI_getWinSize(MPI_Aint size); +typedef MPI_Aint (ADTOOL_AMPI_getWinSizeF) (MPI_Aint size); +/** The functions that perform the tangent of standard reduction operations: */ +void ADTOOL_AMPI_tangentMultiply(int count, MPI_Datatype datatype, MPI_Comm comm, + void* target, void* tangentTarget, + void *source, void *tangentSource) ; +typedef void (ADTOOL_AMPI_tangentMultiplyF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*, void*) ; +void ADTOOL_AMPI_tangentMin(int count, MPI_Datatype datatype, MPI_Comm comm, + void* target, void* tangentTarget, + void *source, void *tangentSource) ; +typedef void (ADTOOL_AMPI_tangentMinF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*, void*) ; +void ADTOOL_AMPI_tangentMax(int count, MPI_Datatype datatype, MPI_Comm comm, + void* target, void* tangentTarget, + void *source, void *tangentSource) ; +typedef void (ADTOOL_AMPI_tangentMaxF) (int, MPI_Datatype, MPI_Comm, void*, void*, void*, void*) ; + +/** + * Push/Pop the contents of buffer somewhere + */ +void ADTOOL_AMPI_pushBuffer(int count, MPI_Datatype datatype, MPI_Comm comm, void* buffer) ; +typedef void (ADTOOL_AMPI_pushBufferF) (int, MPI_Datatype, MPI_Comm, void*) ; +void ADTOOL_AMPI_popBuffer(int count, MPI_Datatype datatype, MPI_Comm comm, void* buffer) ; +typedef void (ADTOOL_AMPI_popBufferF) (int, MPI_Datatype, MPI_Comm, void*) ; + +/** Memo mechanism for the shadow communicators used in tangent ST-AD association-by-name (e.g. Tapenade) */ +void ADTOOL_AMPI_addShadowComm(MPI_Comm comm, MPI_Comm dupComm) ; +typedef void (ADTOOL_AMPI_addShadowCommF) (MPI_Comm, MPI_Comm) ; +MPI_Comm ADTOOL_AMPI_getShadowComm(MPI_Comm comm) ; +typedef MPI_Comm (ADTOOL_AMPI_getShadowCommF) (MPI_Comm) ; +void ADTOOL_AMPI_delShadowComm(MPI_Comm comm); +typedef void (ADTOOL_AMPI_delShadowCommF) (MPI_Comm) ; + +struct ADTOOL_AMPI_FPCollection{ + ADTOOL_AMPI_pushBcastInfoF *pushBcastInfo_fp; + ADTOOL_AMPI_popBcastInfoF *popBcastInfo_fp; + ADTOOL_AMPI_pushDoubleArrayF *pushDoubleArray_fp; + ADTOOL_AMPI_popDoubleArrayF *popDoubleArray_fp; + ADTOOL_AMPI_pushReduceInfoF *pushReduceInfo_fp; + ADTOOL_AMPI_popReduceCountAndTypeF *popReduceCountAndType_fp; + ADTOOL_AMPI_popReduceInfoF *popReduceInfo_fp; + ADTOOL_AMPI_pushSRinfoF *pushSRinfo_fp; + ADTOOL_AMPI_popSRinfoF *popSRinfo_fp; + ADTOOL_AMPI_pushOSinfoF *pushOSinfo_fp; + ADTOOL_AMPI_popOSinfoF *popOSinfo_fp; + ADTOOL_AMPI_pushGSinfoF *pushGSinfo_fp; + ADTOOL_AMPI_popGScommSizeForRootOrNullF *popGScommSizeForRootOrNull_fp; + ADTOOL_AMPI_popGSinfoF *popGSinfo_fp; + ADTOOL_AMPI_pushGSVinfoF *pushGSVinfo_fp; + ADTOOL_AMPI_popGSVinfoF *popGSVinfo_fp; + ADTOOL_AMPI_push_CallCodeF *push_CallCode_fp; + ADTOOL_AMPI_push_CallCodeReserveF *push_CallCodeReserve_fp; + ADTOOL_AMPI_pop_CallCodeF *pop_CallCode_fp; + ADTOOL_AMPI_push_AMPI_RequestF *push_AMPI_Request_fp; + ADTOOL_AMPI_pop_AMPI_RequestF *pop_AMPI_Request_fp; + ADTOOL_AMPI_push_AMPI_WinF *push_AMPI_Win_fp; + ADTOOL_AMPI_pop_AMPI_WinF *pop_AMPI_Win_fp; + ADTOOL_AMPI_push_WinRequestF *push_AMPI_WinRequest_fp; + ADTOOL_AMPI_pop_WinRequestF *pop_AMPI_WinRequest_fp; + ADTOOL_AMPI_push_requestF *push_request_fp; + ADTOOL_AMPI_pop_requestF *pop_request_fp; + ADTOOL_AMPI_push_commF *push_comm_fp; + ADTOOL_AMPI_pop_commF *pop_comm_fp; + ADTOOL_AMPI_rawDataF *rawData_fp; + ADTOOL_AMPI_rawDataVF *rawDataV_fp; + ADTOOL_AMPI_packDTypeF *packDType_fp; + ADTOOL_AMPI_unpackDTypeF *unpackDType_fp; + ADTOOL_AMPI_writeDataF *writeData_fp; + ADTOOL_AMPI_writeDataVF *writeDataV_fp; + ADTOOL_AMPI_rawAdjointDataF *rawAdjointData_fp; + ADTOOL_AMPI_TurnF *Turn_fp; + ADTOOL_AMPI_mapBufForAdjointF *mapBufForAdjoint_fp; + ADTOOL_AMPI_mapWinBufForAdjointF *mapWinBufForAdjoint_fp; + ADTOOL_AMPI_setBufForAdjointF *setBufForAdjoint_fp; + ADTOOL_AMPI_getAdjointCountF *getAdjointCount_fp; + ADTOOL_AMPI_setAdjointCountF *setAdjointCount_fp; + ADTOOL_AMPI_setAdjointCountAndTempBufF *setAdjointCountAndTempBuf_fp; + ADTOOL_AMPI_setWinAdjointCountF *setWinAdjointCount_fp; + ADTOOL_AMPI_setWinAdjointCountAndTempBufF *setWinAdjointCountAndTempBuf_fp; + ADTOOL_AMPI_allocateTempBufF *allocateTempBuf_fp; + ADTOOL_AMPI_releaseAdjointTempBufF *releaseAdjointTempBuf_fp; + ADTOOL_AMPI_allocateTempActiveBufF *allocateTempActiveBuf_fp; + ADTOOL_AMPI_releaseTempActiveBufF *releaseTempActiveBuf_fp; + ADTOOL_AMPI_copyActiveBufF *copyActiveBuf_fp; + ADTOOL_AMPI_adjointMultiplyF *adjointMultiply_fp ; + ADTOOL_AMPI_adjointMinF *adjointMin_fp ; + ADTOOL_AMPI_adjointMaxF *adjointMax_fp ; + ADTOOL_AMPI_multiplyAdjointF *multiplyAdjoint_fp; + ADTOOL_AMPI_divideAdjointF *divideAdjoint_fp; + ADTOOL_AMPI_equalAdjointsF *equalAdjoints_fp; + ADTOOL_AMPI_incrementAdjointF *incrementAdjoint_fp; + ADTOOL_AMPI_nullifyAdjointF *nullifyAdjoint_fp; + ADTOOL_AMPI_setupTypesF *setupTypes_fp; + ADTOOL_AMPI_cleanupTypesF *cleanupTypes_fp; + ADTOOL_AMPI_FW_rawTypeF *FW_rawType_fp; + ADTOOL_AMPI_BW_rawTypeF *BW_rawType_fp; + ADTOOL_AMPI_createWinMapF *createWinMap_fp; + ADTOOL_AMPI_writeWinDataF *writeWinData_fp; + ADTOOL_AMPI_getWinSizeF *getWinSize_fp; + ADTOOL_AMPI_syncAdjointWinF *syncAdjointWin_fp; + ADTOOL_AMPI_isActiveTypeF *isActiveType_fp ; + ADTOOL_AMPI_tangentMultiplyF *tangentMultiply_fp ; + ADTOOL_AMPI_tangentMinF *tangentMin_fp ; + ADTOOL_AMPI_tangentMaxF *tangentMax_fp ; + ADTOOL_AMPI_pushBufferF *pushBuffer_fp ; + ADTOOL_AMPI_popBufferF *popBuffer_fp ; + ADTOOL_AMPI_addShadowCommF *addShadowComm_fp ; + ADTOOL_AMPI_getShadowCommF *getShadowComm_fp ; + ADTOOL_AMPI_delShadowCommF *delShadowComm_fp ; +#ifdef AMPI_FORTRANCOMPATIBLE + adtool_ampi_fortransetuptypes_F *fortransetuptypes__fp; + adtool_ampi_fortrancleanuptypes_F *fortrancleanuptypes__fp; +#endif +}; + +/** + * the single instance of ADTOOL_AMPI_FPCollection + */ +extern struct ADTOOL_AMPI_FPCollection ourADTOOL_AMPI_FPCollection; + +/** The type required for TANGENT user-given reduction functions, + * that are passed e.g. to TLM_AMPI_Reduce in Tapenade-style diff AMPI code. */ +typedef void (TLM_userFunctionF) (void*, void*, void*, void*, int*, MPI_Datatype*, MPI_Datatype*) ; + +/** The type required for ADJOINT user-given reduction functions, + * that are passed e.g. to BW_AMPI_Reduce in Tapenade-style diff AMPI code. */ +typedef void (ADJ_userFunctionF) (void*, void*, void*, void*, int*, MPI_Datatype*, MPI_Datatype*) ; + + +#if defined(__cplusplus) +} +#endif + +#endif + diff --git a/tools/TAP_support/ADFirstAidKit/ampi/ampi.h b/tools/TAP_support/ADFirstAidKit/ampi/ampi.h new file mode 100644 index 0000000000..2a30f540e5 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/ampi.h @@ -0,0 +1,541 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_AMPI_H_ +#define _AMPI_AMPI_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * One-stop header file for all AD-tool-independent AMPI routines; this is the file to replace mpi.h in the user code. + */ + +/** + * \defgroup UserInterfaceHeaders User-Interface header files + * This set contains all the header files with declarations relevant to the user; header files not listed in this group + * are internal to AdjoinableMPI or relate to support to be provided by a given AD tool. + */ + +/** + * \defgroup UserInterfaceDeclarations User-Interface declarations + * This set contains all declarations relevant to the user; anything in the source files not listed in this group + * is internal to AdjoinableMPI or relates to support to be provided by a given AD tool. + */ + +/** \mainpage + * The Adjoinable MPI (AMPI) library provides a modified set if MPI subroutines + * that are constructed such that an adjoint in the context of algorithmic + * differentiation (AD) can be computed. The library is designed to be supported + * by a variety of AD tools and to enable also the computation of (higher-order) + * forward derivatives. + * \authors Laurent Hascoët + * (currently at INRIA Sophia-Antipolis; LinkedIn - e-mail) + * \authors Michel Schanen + * (currently at RWTH Aachen; home page - e-mail) + * \authors Jean Utke + * (until March 2014 at Argonne National Laboratory; LinkedIn - e-mail) + * + * Contributions informing the approach implemented in AMPI were made by the co-authors of \cite Utke2009TAM P. Heimbach, C. Hill, U. Naummann. + * + * Significant contributions were made by Anton Bovin (summer student at Argonne National Laboratory in 2013;LinkedIn). + * + * Please refer to the \ref UserGuide for information regarding the use of the library in a given application. + * + * Information regarding the library design, library internal functionality and the interfaces of methods to + * be supported by a given AD tool are given in \ref LibraryDevelopmentGuide + * + * \section links Links to Ressources + * + * - TRAC page for bug and feature tracking, links to presentations + * - mercurial repository for source code and change history + * - regression tests + * + */ + +/** + * \page UserGuide User Guide + * \tableofcontents + * \section Introduction + * + * The Adjoinable MPI (AMPI) library provides a modified set of MPI subroutines + * that are constructed such that: + * - an adjoint in the context of algorithmic differentiation (AD) can be computed, + * - it can be supported by a variety of AD tools, + * - it enable also the computation of (higher-order) forward derivatives, + * - it provides an implementation for a straight pass-through to MPI such that the switch to AMPI can be made permanent + * without forcing compile dependencies on any AD tool. + * + * There are principal recipes for the construction of the adjoint of + * a given communication, see \cite Utke2009TAM . + * The practical implementation of these recipes, however, faces the following + * challenges. + * - the target language may prevent some implementation options + * - exposing an MPI_Request augmented with extra information as a structured type (not supported by Fortran 77) + * - passing an array of buffers (of different length), e.g. to \ref AMPI_Waitall, as an additional argument to (not supported in any Fortran version) + * - the AD tool implementation could be based on + * - operator overloading + * - original data and (forward) derivatives co-located (e.g. Rapsodia,dco) + * - original data and (forward) derivatives referenced (e.g. Adol-C) + * - source transformation + * - association by address (e.g. OpenAD) + * - association by name (e.g. Tapenade) + * + * The above choices imply certain consequences on the complexity for implementing + * the adjoint (and forward derivative) action and this could imply differences in the AMPI design. + * However, from a user's perspective it is a clear advantage to present a single, AD tool implementation independent + * AMPI library such that switching AD tools is not hindered by AMPI while also promoting a common understanding of the + * differentiation through MPI calls. + * We assume the reader is familiar with MPI and AD concepts. + * + * \section sources Getting the library sources + * + * The sources can be accessed through the AdjoinableMPI mercurial repository. Bug tracking, feature requests + * etc. are done via trac. + * In the following we assume the sources are cloned (cf mercurial web site for details about mercurial) + * into a directory `AdjoinableMPI` by invoking + * \code + * hg clone http://mercurial.mcs.anl.gov/ad/AdjoinableMPI + * \endcode + * + * \section configure Library - Configure, Build, and Install + * + * Configuration, build, and install follows the typical GNU autotools chain. Go to the source directory + * \code + * cd AdjoinableMPI + * \endcode + * If the sources were obtained from the mercurial repository, then one first needs to run the autotools via invoking + * \code + * ./autogen.sh + * \endcode + * In the typical `autoconf` fashion invoke + * \code + * configure --prefix= ... + * \endcode + * in or outside the source tree. + * The AD tool supporting AMPI should provide information which detailed AMPI + * configure settings are required if any. + * Build the libaries with + * \code + * make + * \endcode + * Optionally, before installing, one can do a sanity check by running: `make check` . + * + * To install the header files and compiled libraries follow with + * \code + * make install + * \endcode + * after which in the installation directory one should find under \ the following. + * - header files: see also \ref dirStruct + * - libraries: + * - libampiPlainC - for pass through to MPI, no AD functionality + * - libampiCommon - implementation of AD functionality shared between all AD tools supporting AMPI + * - libampiBookkeeping - implementation of AD functionality needed by some AD tools (see the AD tool documentation) + * - libampiTape - implementation of AD functionality needed by some AD tools (see the AD tool documentation) + * + * Note, the following libraries are AMPI internal: + * - libampiADtoolStubsOO - stubs for operator overloading AD tools not needed by the user + * - libampiADtoolStubsST - stubs for source transformation AD tools not needed by the user + * + * \section mpiToAmpi Switching from MPI to Adjoinable MPI + * + * For a given MPI-parallelized source code the user will replace all calls to MPI_... routines with the respective AMPI_... + * equivalent provided in \ref UserInterfaceDeclarations. + * To include the declarations replace + * - in C/C++: includes of mpi.h with + * \code + * #include + * \endcode + * - in Fortran: includes of mpif.h with + * \code + * #include + * \endcode + * + * respectively. + * + * Because in many cases certain MPI calls (e.g. for initialization and finalization) take place outside the scope of + * the original computation and its AD-derivatives and therefore do not themselves become part of the AD process, + * see the explanations in \ref differentiableSection. + * Each routine in this documentation lists to the changes to the parameters + * relative to the MPI standard. These changes impact parameters specifying + * - MPI_Datatype parameters, see \ref datatypes + * - MPI_Request parameters, see \ref requests + * + * Some routines require new parameters specifying the pairing two-sided communications, see \ref pairings. + * Similarly to the various approaches (preprocessing, templating, using typedef) + * employed to effect a change to an active type for overloading-based AD tools, this switch + * from MPI to AMPI routines should be done as a one-time effort. + * Because AMPI provides an implementation for a straight pass-through to MPI it is possible to make this switch + * permanent and retain builds that are completely independent of any AD tool and use AMPI as a thin wrapper library to AMPI. + * + * \section appCompile Application - compile and link + * + * After the switch described in \ref mpiToAmpi is done, the application should be recompiled with the include path addition + * \code + * -I/include + * \endcode + * and linked with the link path extension + * \code + * -L/lib[64] + * \endcode + * Note, the name of the subdirectory (lib or lib64 ) depends on the system; + * the appropriate set of libraries, see \ref configure; the optional ones in square brackets depend on the AD tool: + * \code + * -libampicommon [ -libampiBookkeeping -lampiTape ] + * \endcode + * OR if instead of differentiation by AD a straight pass-through to MPI is desired, then + * \code + * -libampiPlainC + * \endcode + * instead. + * + * \section dirStruct Directory and File Structure + * All locations discussed below are relative to the top level source directory. + * The top level header file to be included in place of the usual "mpi.h" is located in + * ampi/ampi.h + * + * It references the header files in ampi/userIF , see also \ref UserInterfaceHeaders which are organized to contain + * - unmodified pass through to MPI in ampi/userIF/passThrough.h which exists to give the extent of the original MPI we cover + * - variants of routines that in principle need adjoint logic but happen to be called outside of the code section that is adjoined and therefore + * are not transformed / not traced (NT) in ampi/userIF/nt.h + * - routines that are modified from the original MPI counterparts because their behavior in the reverse sweep differs from their behavior in the + * forward sweep and they also may have a modified signatyre; in ampi/userIF/modified.h + * - routines that are specific for some variants of source transformation (ST) approaches in ampi/userIF/st.h; + * while these impose a larger burden for moving from MPI to AMPI on the user, they also enable a wider variety of transformations + * currently supported by the tools; we anticipate that the ST specific versions may become obsolete as the source transformation tools evolve to + * support all transformations via the routines in ampi/userIF/modified.h + * + * Additional header files contain enumerations used as arguments to AMPI routines. All declarations that are part of the user + * interface are grouped in \ref UserInterfaceDeclarations. All other declarations in header files in the library are not to be used directly in the user code. + * + * A library that simply passes through all AMPI calls to their MPI counterparts for a test compilation and execution without any involvement of + * and AD tool is implemented in the source files in the PlainC directory. + * + * \section differentiableSection Using subroutine variants NT vs non-NT relative to the differentiable section + * + * The typical assumption of a program to be differentiated is that there is some top level routine head which does the numerical computation + * and communication which is called from some main driver routine. The driver routine would have to be manually adjusted to initiate + * the derivative computation, retrieve, and use the derivative values. + * Therefore only head and everything it references would be adjoined while driver would not. Typically, the driver + * routine also includes the basic setup and teardown with MPI_Init and MPI_Finalize and consequently these calls (for consistency) should be replaced + * with their AMPI "no trace/transformation" (NT) counterparts \ref AMPI_Init_NT and \ref AMPI_Finalize_NT. + * The same approach should be taken for all resource allocations/deallocations (e.g. \ref AMPI_Buffer_attach_NT and \ref AMPI_Buffer_detach_NT) + * that can exist in the scope enclosing the adjointed section alleviating + * the need for the AD tool implementation to tackle them. + * For cases where these routines have to be called within the adjointed code section the variants without the _NT suffix will ensure the + * correct adjoint behavior. + * + * \section general General Assumptions on types and Communication Patterns + * + * \subsection datatypes Datatype consistency + * + * Because the MPI standard passes buffers as void* (aka choice) the information about the type of + * the buffer and in particular the distinction between active and passive data (in the AD sense) must be + * conveyed via the datatype parameters and be consistent with the type of the buffer. To indicate buffers of + * active type the library predefines the following + * - for C/C++ + * - \ref AMPI_ADOUBLE as the active variant of the passive MPI_DOUBLE + * - \ref AMPI_AFLOAT as the active variant of the passive MPI_FLOAT + * - for Fortran + * - \ref AMPI_ADOUBLE_PRECISION as the active variant of the passive MPI_DOUBLE_PRECISION + * - \ref AMPI_AREAL as the active variant of the passive MPI_REAL + * + * Passive buffers can be used as parameters to the AMPI interfaces with respective passive data type values. + * + * \subsection requests Request Type + * + * Because additional information has to be attached to the MPI_Request instances used in nonblocking communications, there + * is an expanded data structure to hold this information. Even though in some contexts (F77) this structure cannot be exposed + * to the user code the general approach is to declare variables that are to hold requests as \ref AMPI_Request (instead of + * MPI_Request). + * + * \subsection pairings Pairings + * + * Following the explanations in \cite Utke2009TAM it is clear that context information about the + * communication pattern, that is the pairing of MPI calls, is needed to achieve + * -# correct adjoints, i.e. correct send and receive end points and deadlock free + * -# if possible retain the efficiency advantages present in the original MPI communication for the adjoint. + * + * In AMPI pairings are conveyed via additional pairedWith parameters which may be set to \ref AMPI_PairedWith enumeration values , see e.g. \ref AMPI_Send or \ref AMPI_Recv. + * The need to convey the pairing imposes restrictions because in a given code the pairing may not be static. + * For a example a given MPI_Recv may be paired with + * \code{.cpp} + * if (doBufferedSends) + * MPI_Bsend(...); + * else + * MPI_Ssend(...); + * \endcode + * + * but the AD tool has to decide on the send mode once the reverse sweep needs to adjoin the orginal MPI_Recv. + * Tracing such information in a global data structure is not scalable and piggybacking the send type onto the message + * so it can be traced on the receiving side is conceivable but not trivial and currently not implemented. + * + * \restriction Pairing of send and receive modes must be static. + * + * Note that this does not prevent the use of wild cards for source, or tag. + * + * \section examples Examples + * A set of examples organized to illustrate the uses of AMPI together with setups for AD tools that also serve as + * regression tests are collected in `AdjoinableMPIexamples` that can be obtained similarly to the AMPI sources themselves + * by cloning + *\code + * hg clone http://mercurial.mcs.anl.gov/ad/AdjoinableMPIexamples + * \endcode + * The daily regression tests based on these examples report the results on the page linked via the main page of this documentation. + * + */ + +/** + * \page LibraryDevelopmentGuide Library Development Guide + * \tableofcontents + * \section naming Naming Conventions - Code Organization + * Directories and libraries are organized as follows: + * - user interface header files, see \ref dirStruct; should not contain anything else (e.g. no internal helper functions) + * - `PlainC` : pass through to MPI implementations of the user interface; no reference to ADTOOL interfaces; to be renamed + * - `Tape` : sequential access storage mechanism default implementation (implemented as doubly linked list) to enable forward/reverse + * reading; may not reference ADTOOL or AMPI symbols/types; may reference MPI + * - `Bookkeeping` : random access storage for AMPI_Requests (but possibly also other objects that could be opaque) + * - `Common` : the AD enabled workhorse; here we have all the common functionality for MPI differentiation; + * + * Symbol prefixes: + * - `AMPI_` to be used for anything in MPI replacing the `MPI_` prefix; not to be used for symbols outside of the user interface + * - `TAPE_AMPI_` to be used for the `Tape` sequential access storage mechanism declared in ampi/tape/support.h + * - `BK_AMPI_`: `Bookkeeping` random access storage mechanism declared in ampi/bookkeeping/support.h + * - `ADTOOL_AMPI_` to be + * + * + * + * \section nonblocking Nonblocking Communication and Fortran Compatibility + * + * A central concern is the handling of non-blocking sends and receives in combination with their respective completion, + * e.g. wait, waitall, test. + * Taking as an example + * \code{.cpp} + * MPI_Irecv(&b,...,&r); + * // some other code in between + * MPI_Wait(&r,MPI_STATUS_IGNORE); + * \endcode + * The adjoint action for MPI_Wait will have to be the MPI_Isend of the adjoint data associated with + * the data in buffer b. + * The original MPI_Wait does not have any of the parameters required for the send and in particular it does not + * have the buffer. The latter, however, is crucial in particular in a source transformation context because, absent a correct syntactic + * representation for the buffer at the MPI_Wait call site one has to map the address &b valid during the forward + * sweep to the address of the associated adjoint buffer during the reverse sweep. + * In some circumstances, e.g. when the buffer refers to stack variable and the reversal mode follows a strict joint scheme + * where one does not leave the stack frame of a given subroutine until the reverse sweep has completed, it is possible to predetermine + * the address of the respective adjoint buffer even in the source transformation context. + * In the general case, e.g. allowing for split mode reversal + * or dynamic memory deallocation before the adjoint sweep commences such predetermination + * requires a more elaborate mapping algorithm. + * This mapping is subject of ongoing research and currently not supported. + * + * On the other hand, for operator overloading based tools, the mapping to a reverse sweep address space is an integral part of the + * tool because there the reverse sweep is executed as interpretation of a trace of the execution that is entirely separate from the original program + * address space. Therefore all addresses have to be mapped to the new adjoint address space to begin with and no association to some + * adjoint program variable is needed. Instead, the buffer address can be conveyed via the request parameter (and AMPI-userIF bookkeeping) + * to the MPI_Wait call site, traced there and is then recoverable during the reverse sweep. + * Nevertheless, to allow a common interface this version of the AMPI library has the buffer as an additional argument to in the source-transformation-specific \ref AMPI_Wait_ST + * variant of \ref AMPI_Wait. + * In later editions, when source transformation tools can fully support the address mapping, the of the AMPI library the \ref AMPI_Wait_ST variant may be dropped. + * + * Similarly to conveying the buffer address via userIF bookkeeping associated with the request being passed, all other information such as source or destination, tag, + * data type, or the distinction if a request originated with a send or receive will be part of the augmented information attached to the request and be subject to the trace and recovery as the buffer address itself. + * In the source transformation context, for cases in which parameter values such as source, destination, or tag are constants or loop indices the question could be asked if these values couldn't be easily recovered in + * the generated adjoint code without having to store them. + * Such recovery following a TBR-like approach would, however, require exposing the augmented request instance as a structured data type to the TBR analysis in the languages other than Fortran77. + * This necessitates the introduction of the \ref AMPI_Request, which in Fotran77 still maps to just an integer address. + * The switching between these variants is done via configure flags, see \ref configure. + * + * \section bookkeeping Bookkeeping of Requests + * + * As mentioned in \ref nonblocking the target language may prevent the augmented request from being used directly. + * In such cases the augmented information has to be kept internal to the library, that is we do some bookkeeping to convey the necessary information between the nonblocking sends or receives and + * the and respective completion calls. Currently the bookkeeping has a very simple implementation as a doubly-linked list implying linear search costs which is acceptable only as long as the + * number of icomplete nonblocking operations per process remains moderate. + * + * Whenever internal handles are used to keep trace (or correspondence) of a given internal object + * between two distant locations in the source code (e.g. file identifier to keep trace of an opened/read/closed file, + * or address to keep trace of a malloc/used/freed dynamic memory, or request ID to keep trace of a Isend/Wait...) + * we may have to arrange the same correspondence during the backward sweep. + * Keeping the internal identifier in the AD stack is not sufficient because there is no guarantee that + * the mechanism in the backward sweep will use the same values for the internal handle. + * The bookkeeping we use to solve this problem goes as follows: + * - standard TBR mechanism makes sure that variables that are needed in the BW sweep and are overwritten + * are pushed onto the AD stack before they are overwritten + * - At the end of its life in the forward sweep, the FW handle is pushed in the AD stack + * - At the beginning of its backward life, we obtain a BW handle, we pop the FW handle, + * and we keep the pair of those in a table (if an adjoint handle is created too, we keep the triplet). + * - When a variable is popped from the AD stack, and it is an internal handle, + * the popped handle is re-based using the said table. + * + * Simple workaround for the "request" case: + * This method doesn't rely on TBR. + * - Push the FW request upon acquisition (e.g. just after the Isend) + * - Push the FW request upon release (e.g. just before the Wait) + * - Pop the FW request upon adjoint of release, and get the BW request from the adjoint of release + * - Add the BW request into the bookkeeping, with the FW request as a key. + * - Upon adjoint of acquisition, pop the FW request, lookup in the bookkeeping to get the BW request. + * + * \section bundling Tangent-linear mode bundling the derivatives or shadowing the communication + * A central question for the implementation of tangent-linear mode becomes + * whether to bundle the original buffer b with the derivative b_d as pair and communicate the pair + * or to send separate messages for the derivatives. + * - shadowing messages avoid the bundling/unbundling if b and b_d + * are already given as separate entities as is the case in association by name, see \ref Introduction. + * - for one-sided passive communications there is no hook to do the bundling/unbundling on the target side; therefore + * it would be inherently impossible to achieve semantically correct behavior with any bundling/unbundling scheme. + * The example here is a case where a put on the origin side and subsequent computations on the target side are synchronized + * via a barrier which by itself does not have any obvious link to the target window by which one could trigger an unbundling. + * - the bundling operation itself may incur nontrivial overhead for large buffers + * + * An earlier argument against message shadowing was the difficulty of correctly associating message pairs while using wildcards. + * This association can, however, be ensured when a the shadowing message for the b_d is received on a communicator + * comm_d that duplicates the original communicator comm and uses the + * actual src and tag values obtained from the receive of the shadowed message as in the following example: + * + * \code{.cpp} + * if ( myRank==1) { + * send(x,...,0,tag1,comm); // send of the original data + * send(x_d,...,0,tag1,comm_d); // shadowing send of the derivatives + * else if ( myRank==2) { + * send(y,...,0,tag2,comm); + * send(y_d,...,0,tag2,comm_d); + * else if ( myRank==0) { + * do { + * recv(t,...,ANY_SOURCE, ANY_TAG,comm,&status); // recv of the original data + * recv(t_d,...,status.SOURCE,status.TAG,comm_d,STATUS_IGNORE); // shadowing recv with wildcards disambiguated + * z+=t; // original operation + * z_d+=t_d; // corresponding derivative operation + * } + * } + * \endcode + * + * This same approach can be applied to (user-defined) reduction operations, see \ref reduction, in that the binomial + * tree traversal for the reduction is shadowed in the same way and a user defined operation with derivatives can be invoked + * by passing the derivatives as separate arguments. + * + * The above approach is to be taken by any tool in which b and b_d are not already paired in consecutive + * memory such as association by name as in Tapenade or by implementation choice such as forward interpreters in Adol-C where + * the 0-th order Taylor coefficients live in a separate array from the first- and higher-order Taylor coefficients. + * Tools with association by address (OpenAD, Rapsodia) would have the data already given in paired form and therefore not + * need messsage shadowing but communicate the paired data. + * + * \section badOptions Rejected design options + * About MPI_Types and the "active" boolean: + * One cannot get away with just an "active" boolean to indicate the structure of + * the MPI_Type of the bundle. Since the MPI_Type definition of the bundle type + * has to be done anyway in the differentiated application code, and is passed + * to the communication call, the AMPI communication implementation will + * check this bundle MPI_Type to discover activity and trace/not trace accordingly. + * + * For the operator overloading, the tool needs to supply the active MPI types + * for the built-in MPI_datatypes and using the active types, one can achieve + * type conformance between the buffer and the type parameter passed. + * + * \section onesided One-Sided Active Targets + * Idea - use an AMPI_Win instance (similar to the \ref AMPI_Request ) to attach more + * information about the things that are applied to the window and completed on the fence; + * we execute/trace/collect-for-later-execution operations on the window in the following fashion + * + * forward: + * - MPI_Get record op/args on the window (buffer called 'x') + * - MPI_Put/MPI_Accumulate(z,,...): record op/args on the window; during forward: replace with MPI_Get of the remote target value into temporary 't' ; postpone to the fence; + * + * upon hitting a fence in the forward sweep: + * 1. put all ops on the stack + * 2. run the fence + * 3. for earch accum/put: + * 3.1: push 't' + * 3.2: do the postponed accumulate/put + * 4. run a fence for 3.2 + * 5. for each accum*: + * 5.1 get accumlation result 'r' + * 6. run a fence for 5.1 + * 7. for each accum*: + * 7.1 push 'r' + * + * for the adjoint of a fence : + * 0. for each operation on the window coming from the previous fence: + * 0.1 op isa GET then x_bar=0.0 + * 0.2 op isa PUT/accum= then x_bar+=t21 + * 0.3 op isa accum+ then x_bar+=t22 + * 1. run a fence + * 2. pop op from the stack and put onto adjoint window + * 2.1 op isa PUT/accum=: then GET('t21') + * 2.2 op isa accum+; then get('t22') from adjoint target + * 2.3 op isa accum*, then pop('r'), GET('t23') from adjoint target + * 3. run a fence + * 4. for each op on the adjoint window + * 4.1 op isa GET, then accum+ into remote + * 4.2 op isa PUT/accum: pop(t); accu(t,'=') to the value in the target + * 4.3 op isa PUT/accum=; then acc(0.0,'=') to adjoint target + * 4.4 op isa accum*: then accumulate( r*t23/t,'=', to the target) AND do z_bar+=r*t23/z (this is the old local z ); + * + * \section derived Handling of Derived Types + * (Written mostly in the context of ADOL-C.) MPI allows the user to create typemaps for arbitrary structures in terms of a block + * count and arrays of block lengths, block types, and displacements. For sending an array of active variables, we could get by with + * a pointer to their value array; in the case of a struct, we may want to send an arbitrary collection of data as well as some active + * variables which we'll need to "dereference". If a struct contains active data, we must manually pack it into a new array because + * -# the original datamap alignment is destroyed when we convert active data to real values + * -# we would like to send completely contiguous messages + * + * When received, the struct is unpacked again. + * + * When the user calls the \ref AMPI_Type_create_struct_NT wrapper with a datamap, the map is stored in a structure of type + * \ref derivedTypeData; the wrapper also generates an internal typemap that describes the packed data. The packed typemap is used + * whenver a derived type is sent and received; it's also used in conjunction with the user-provided map to pack and unpack data. + * This typemap is invisible to the user, so the creation of derived datatypes is accomplished entirely with calls to the + * \ref AMPI_Type_create_struct and \ref AMPI_Type_commit_NT wrappers. + * + * \image html dtype_illustration.png + * \image latex dtype_illustration.png + * + * AMPI currently supports sending structs with active elements and structs with embedded structs. Packing is called recursively. + * Functions implemented are \ref AMPI_Type_create_struct_NT and \ref AMPI_Type_contiguous_NT. A wrapper for _Type_vector can't be + * implemented now because the point of that function is to send noncontiguous data and, for simplicity and efficiency, we're assuming + * that the active variables we're sending are contiguous. + * + * Worth noting: if we have multiple active variables in a struct and we want to send an array of these structs, we have to send every + * active element to ensure that our contiguity checks don't assert false. + * + * \section reduction Reduction operations + * + * Since operator overloading can't enter MPI routines, other AMPI functions extract the double values from active variables, + * transfer those, and have explicit adjoint code that replaces the automated transformation. This is possible because we know the + * partial derivative of the result. For reductions, we can also do this with built-in reduction ops (e.g., sum, product). But + * we can't do this for user-defined ops because we don't know the partial derivative of the result. + * + * (Again explained in the context of ADOL-C.) So we have to make the tracing machinery enter the Reduce and perform taping every + * time the reduction op is applied. As it turns out, MPICH implements Reduce for derived types as a binary tree of Send/Recv pairs, + * so we can make our own Reduce by replicating the code with AMPI_Send/Recv functions. (Note that derived types are necessarily + * reduced with user-defined ops because MPI doesn't know how to accumulate them with its built-in ops.) So AMPI_Reduce is implemented + * for derived types as the aforementioned binary tree with active temporaries used between steps for applying the reduction op. + * See \ref AMPI_Op_create_NT. + * + * + */ + + + + +#include +#if defined(__cplusplus) +extern "C" { +#endif + +#include "ampi/userIF/passThrough.h" +#include "ampi/userIF/nt.h" +#include "ampi/userIF/modified.h" +#include "ampi/userIF/st.h" + +#include "ampi/libCommon/modified.h" + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/ampif.h b/tools/TAP_support/ADFirstAidKit/ampi/ampif.h new file mode 100644 index 0000000000..dd88e5cb7c --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/ampif.h @@ -0,0 +1,54 @@ +!########################################################## +!# This file is part of the AdjoinableMPI library # +!# released under the MIT License. # +!# The full COPYRIGHT notice can be found in the top # +!# level directory of the AdjoinableMPI distribution. # +!########################################################## + + include 'mpif.h' + + INTEGER AMPI_ACTIVE + PARAMETER (AMPI_ACTIVE=1) + + INTEGER AMPI_TO_RECV + PARAMETER (AMPI_TO_RECV=0) + INTEGER AMPI_FROM_SEND + PARAMETER (AMPI_FROM_SEND=1) + INTEGER AMPI_TO_IRECV_WAIT + PARAMETER(AMPI_TO_IRECV_WAIT=2) + INTEGER AMPI_TO_IRECV_WAITALL + PARAMETER(AMPI_TO_IRECV_WAITALL=3) + INTEGER AMPI_FROM_ISEND_WAIT + PARAMETER(AMPI_FROM_ISEND_WAIT=4) + INTEGER AMPI_FROM_ISEND_WAITALL + PARAMETER(AMPI_FROM_ISEND_WAITALL=5) + INTEGER AMPI_FROM_BSEND + PARAMETER(AMPI_FROM_BSEND=6) + INTEGER AMPI_FROM_RSEND + PARAMETER(AMPI_FROM_RSEND=7) +! The following commented out because of clash with Fortran AMPI subroutine names +! INTEGER AMPI_ISEND +! PARAMETER(AMPI_ISEND=8) +! INTEGER AMPI_IRECV +! PARAMETER(AMPI_IRECV=9) +! INTEGER AMPI_WAIT +! PARAMETER(AMPI_WAIT=10) + + COMMON /ACTIVE_TYPES/ AMPI_ADOUBLE_PRECISION, AMPI_AREAL + + INTEGER AMPI_ADOUBLE_PRECISION, AMPI_AREAL + + EXTERNAL AMPI_INIT_NT, AMPI_COMM_RANK, AMPI_FINALIZE_NT + EXTERNAL ADTOOL_AMPI_TURN + EXTERNAL AMPI_SEND, AMPI_RECV + EXTERNAL AMPI_ISEND, AMPI_IRECV, AMPI_WAIT + EXTERNAL AMPI_BARRIER, AMPI_REDUCE + EXTERNAL TLS_AMPI_SEND, TLS_AMPI_RECV + EXTERNAL TLS_AMPI_ISEND, TLS_AMPI_IRECV, TLS_AMPI_WAIT + EXTERNAL TLS_AMPI_BARRIER, TLS_AMPI_REDUCE + EXTERNAL FW_AMPI_SEND, FW_AMPI_RECV + EXTERNAL FW_AMPI_ISEND, FW_AMPI_IRECV, FW_AMPI_WAIT + EXTERNAL FW_AMPI_BARRIER, FWS_AMPI_REDUCE + EXTERNAL BW_AMPI_SEND, BW_AMPI_RECV + EXTERNAL BW_AMPI_ISEND, BW_AMPI_IRECV, BW_AMPI_WAIT + EXTERNAL BW_AMPI_BARRIER, BWS_AMPI_REDUCE diff --git a/tools/TAP_support/ADFirstAidKit/ampi/bookkeeping/support.h b/tools/TAP_support/ADFirstAidKit/ampi/bookkeeping/support.h new file mode 100644 index 0000000000..19f9d67116 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/bookkeeping/support.h @@ -0,0 +1,66 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_BOOKKEEPING_SUPPORT_H_ +#define _AMPI_BOOKKEEPING_SUPPORT_H_ + +#include "ampi/userIF/request.h" +#include "ampi/userIF/window.h" + +/** + * \file + * methods needed for internal request bookkeeping + */ + +/** + * \param ampiRequest is added (by deep copy) to the internal bookkeeping using the already set valueu of member plainRequest as key + */ +void BK_AMPI_put_AMPI_Request(struct AMPI_Request_S *ampiRequest); + +/** + * \param request is used as key to look up the associated AMPI_Request_S instance which then is deep copied + * \param ampiRequest pointer to the structure into which the values are copied + * \param traced if non-zero indicates one should match tracedReques instead of plainRequest + * the information is removed from the internal bookkeeping data + */ +void BK_AMPI_get_AMPI_Request(MPI_Request *request, struct AMPI_Request_S *ampiRequest, int traced); + +/** + * \param request is used as key to look up the associated AMPI_Request_S instance which then is deep copied + * \param ampiRequest pointer to the structure into which the values are copied + * \param traced if non-zero indicates one should match tracedReques instead of plainRequest + * the information is retained in the internal bookkeeping data + */ +void BK_AMPI_read_AMPI_Request(MPI_Request *request, struct AMPI_Request_S *ampiRequest, int traced); + +/** + * \file + * methods needed for internal window bookkeeping + */ + +/** + * \param ampiWin is added (by deep copy) to the internal bookkeeping using the already set valueu of member plainRequest as key + */ +void BK_AMPI_put_AMPI_Win(AMPI_Win *ampiWin); + +/** + * \param win is used as key to look up the associated AMPI_Win instance which then is deep copied + * \param ampiWin pointer to the structure into which the values are copied + * the information is removed from the internal bookkeeping data + */ +void BK_AMPI_get_AMPI_Win(MPI_Win *win, AMPI_Win *ampiWin); + +/** + * \param win is used as key to look up the associated AMPI_Win instance which then is deep copied + * \param ampiWin pointer to the structure into which the values are copied + * the information is retained in the internal bookkeeping data + */ +void BK_AMPI_read_AMPI_Win(MPI_Win *win, AMPI_Win *ampiWin); + +#endif + diff --git a/tools/TAP_support/ADFirstAidKit/ampi/libCommon/modified.h b/tools/TAP_support/ADFirstAidKit/ampi/libCommon/modified.h new file mode 100644 index 0000000000..d86f86364e --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/libCommon/modified.h @@ -0,0 +1,816 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_LIBCOMMON_MODIFIED_H_ +#define _AMPI_LIBCOMMON_MODIFIED_H_ + +/** + * \file + * common AD implementation portion of AMPI routines from ampi/userIF/modifief.h + */ + +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +#include "ampi/userIF/pairedWith.h" +#include "ampi/userIF/request.h" +#include "ampi/userIF/window.h" +#include "ampi/adTool/support.h" + +/** + * forward sweep variant of \ref AMPI_Recv + */ +int FW_AMPI_Recv(void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + MPI_Status* status); + +/** + * backward sweep variant of \ref AMPI_Recv + */ +int BW_AMPI_Recv(void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + MPI_Status* status); + +/** + * TLM variant of \ref AMPI_Recv + */ +int TLM_AMPI_Recv(void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + MPI_Status* status); + +/** + * Tangent Recv, with separate shadow (i.e. tangent) buffer. + */ +int TLS_AMPI_Recv(void* buf, void* shadowbuf, + int count, + MPI_Datatype datatype, MPI_Datatype shadowdatatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + MPI_Status* status) ; + +/** + * forward sweep variant of \ref AMPI_Irecv + */ +int FW_AMPI_Irecv (void* buf, + int count, + MPI_Datatype datatype, + int source, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * backward sweep variant of \ref AMPI_Irecv + */ +int BW_AMPI_Irecv (void* buf, + int count, + MPI_Datatype datatype, + int source, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * TLM variant of \ref AMPI_Irecv + */ +int TLM_AMPI_Irecv (void* buf, + int count, + MPI_Datatype datatype, + int source, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * Tangent Irecv, with separate shadow (i.e. tangent) buffer. + */ +int TLS_AMPI_Irecv (void* buf, void* shadowbuf, + int count, + MPI_Datatype datatype, MPI_Datatype shadowdatatype, + int source, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request) ; + +/** + * forward sweep variant of \ref AMPI_Send + */ +int FW_AMPI_Send (void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Send + */ +int BW_AMPI_Send (void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Send + */ +int TLM_AMPI_Send (void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); + +/** + * Tangent Send, with separate shadow (i.e. tangent) buffer. + */ +int TLS_AMPI_Send (void* buf, void* shadowbuf, + int count, + MPI_Datatype datatype, MPI_Datatype shadowdatatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); + +/** + * forward sweep variant of \ref AMPI_Isend + */ +int FW_AMPI_Isend (void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * backward sweep variant of \ref AMPI_Isend + */ +int BW_AMPI_Isend (void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * TLM variant of \ref AMPI_Isend + */ +int TLM_AMPI_Isend (void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * Tangent Isend, with separate shadow (i.e. tangent) buffer. + */ +int TLS_AMPI_Isend (void* buf, void* shadowbuf, + int count, + MPI_Datatype datatype, MPI_Datatype shadowdatatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * forward sweep variant of \ref AMPI_Wait + */ +int FW_AMPI_Wait(AMPI_Request *request, + MPI_Status *status); + +/** + * backward sweep variant of \ref AMPI_Wait + */ +int BW_AMPI_Wait(AMPI_Request *request, + MPI_Status *status); + +/** + * TLM variant of \ref AMPI_Wait + */ +int TLM_AMPI_Wait(AMPI_Request *request, + MPI_Status *status); + +/** + * Tangent Wait, with separate shadow (i.e. tangent) buffer. + */ +int TLS_AMPI_Wait(AMPI_Request *request, + MPI_Status *status); + +/** + * forward sweep variant of \ref AMPI_Barrier + */ +int FW_AMPI_Barrier(MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Barrier + */ +int BW_AMPI_Barrier(MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Barrier + */ +int TLM_AMPI_Barrier(MPI_Comm comm); + +/** + * TLS variant of \ref AMPI_Barrier + */ +int TLS_AMPI_Barrier(MPI_Comm comm); + +/** + * forward sweep variant of \ref AMPI_Gather + */ +int FW_AMPI_Gather(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Gather + */ +int BW_AMPI_Gather(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Gather. Bundled (Association-by-Address). + */ +int TLM_AMPI_Gather(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * Tangent diff variant of \ref AMPI_Gather. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Gather(void *sendbuf, void *shadowsendbuf, + int sendcnt, + MPI_Datatype sendtype, MPI_Datatype shadowsendtype, + void *recvbuf, void *shadowrecvbuf, + int recvcnt, + MPI_Datatype recvtype, MPI_Datatype shadowrecvtype, + int root, + MPI_Comm comm); + +/** + * forward sweep variant of \ref AMPI_Scatter + */ +int FW_AMPI_Scatter(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Scatter + */ +int BW_AMPI_Scatter(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Scatter. Bundled (Association-by-Address) + */ +int TLM_AMPI_Scatter(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * Tangent diff variant of \ref AMPI_Scatter. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Scatter(void *sendbuf, void *shadowsendbuf, + int sendcnt, + MPI_Datatype sendtype, MPI_Datatype shadowsendtype, + void *recvbuf, void *shadowrecvbuf, + int recvcnt, + MPI_Datatype recvtype, MPI_Datatype shadowrecvtype, + int root, + MPI_Comm comm); + +/** + * forward sweep variant of \ref AMPI_Allgather + */ +int FW_AMPI_Allgather(void *sendbuf, + int sendcount, + MPI_Datatype sendtype, + void *recvbuf, + int recvcount, + MPI_Datatype recvtype, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Allgather + */ +int BW_AMPI_Allgather(void *sendbuf, + int sendcount, + MPI_Datatype sendtype, + void *recvbuf, + int recvcount, + MPI_Datatype recvtype, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Allgather. Bundled (Association-by-Address) + */ +int TLM_AMPI_Allgather(void *sendbuf, + int sendcount, + MPI_Datatype sendtype, + void *recvbuf, + int recvcount, + MPI_Datatype recvtype, + MPI_Comm comm); + +/** + * Tangent diff variant of \ref AMPI_Allgather. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Allgather(void *sendbuf, void *shadowsendbuf, + int sendcount, + MPI_Datatype sendtype, MPI_Datatype shadowsendtype, + void *recvbuf, void *shadowrecvbuf, + int recvcount, + MPI_Datatype recvtype, MPI_Datatype shadowrecvtype, + MPI_Comm comm); + +/** + * forward sweep variant of \ref AMPI_Gatherv + */ +int FW_AMPI_Gatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Gatherv + * NOTE: recvcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size + */ +int BW_AMPI_Gatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Gatherv. Bundled (Association-by-Address) + */ +int TLM_AMPI_Gatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * Tangent diff variant of \ref AMPI_Gatherv. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Gatherv(void *sendbuf, void *shadowsendbuf, + int sendcnt, + MPI_Datatype sendtype, MPI_Datatype shadowsendtype, + void *recvbuf, void *shadowrecvbuf, + int *recvcnts, + int *displs, int *shadowdispls, + MPI_Datatype recvtype, MPI_Datatype shadowrecvtype, + int root, + MPI_Comm comm) ; + +/** + * forward sweep variant of \ref AMPI_Scatterv + */ +int FW_AMPI_Scatterv(void *sendbuf, + int *sendcnts, + int *displs, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Scatterv + * NOTE: sendcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size + */ +int BW_AMPI_Scatterv(void *sendbuf, + int *sendcnts, + int *displs, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Scatterv. Bundled (Association-by-Address) + * NOTE: sendcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size + */ +int TLM_AMPI_Scatterv(void *sendbuf, + int *sendcnts, + int *displs, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, MPI_Comm comm); + +/** + * Tangent diff variant of \ref AMPI_Scatterv. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Scatterv(void *sendbuf, void *shadowsendbuf, + int *sendcnts, + int *displs, int *shadowdispls, + MPI_Datatype sendtype, MPI_Datatype shadowsendtype, + void *recvbuf, void *shadowrecvbuf, + int recvcnt, + MPI_Datatype recvtype, MPI_Datatype shadowrecvtype, + int root, MPI_Comm comm); + +/** + * forward sweep variant of \ref AMPI_Allgatherv + */ +int FW_AMPI_Allgatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Allgatherv + * NOTE: recvcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size + */ +int BW_AMPI_Allgatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Allgatherv. Bundled (Association-by-Address) + * NOTE: recvcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size + */ +int TLM_AMPI_Allgatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + MPI_Comm comm); + +/** + * Tangent diff variant of \ref AMPI_Allgatherv. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Allgatherv(void *sendbuf, void *shadowsendbuf, + int sendcnt, + MPI_Datatype sendtype, MPI_Datatype shadowsendtype, + void *recvbuf, void *shadowrecvbuf, + int *recvcnts, + int *displs, int *shadowdispls, + MPI_Datatype recvtype, MPI_Datatype shadowrecvtype, + MPI_Comm comm); + +/** + * forward sweep variant of \ref AMPI_Bcast + */ +int FW_AMPI_Bcast(void* buf, + int count, + MPI_Datatype datatype, + int root, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Bcast + */ +int BW_AMPI_Bcast(void* buf, + int count, + MPI_Datatype datatype, + int root, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Bcast. Bundled (Association-by-Address) + */ +int TLM_AMPI_Bcast(void* buf, + int count, + MPI_Datatype datatype, + int root, + MPI_Comm comm); + +/** + * Tangent diff variant of \ref AMPI_Bcast. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Bcast(void* buf, void* shadowbuf, + int count, + MPI_Datatype datatype, MPI_Datatype shadowdatatype, + int root, + MPI_Comm comm); + +/** + * Adjoint forward sweep of \ref AMPI_Reduce. Bundled (Association-by-Address) + */ +int FWB_AMPI_Reduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + int root, + MPI_Comm comm); + +/** + * Adjoint forward sweep of \ref AMPI_Reduce. Shadowed (Association-by-Name). + * NOTE: in the forward sweep, shadowed mode passes only the primal values. + */ +int FW_AMPI_Reduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + int root, + MPI_Comm comm) ; + + +/** + * Adjoint backward sweep of \ref AMPI_Reduce. Bundled (Association-by-Address) + */ +int BWB_AMPI_Reduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + int root, + MPI_Comm comm); + +/** + * Adjoint backward sweep of \ref AMPI_Reduce. Shadowed (Association-by-Name) + */ +int BWS_AMPI_Reduce(void* sbuf, void* sbufb, + void* rbuf, void* rbufb, + int count, + MPI_Datatype datatype, MPI_Datatype datatypeb, + MPI_Op op, TLM_userFunctionF* uopd, + int root, + MPI_Comm comm) ; + +/** + * Tangent diff of \ref AMPI_Reduce. Bundled (Association-by-Address) + */ +int TLB_AMPI_Reduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + int root, + MPI_Comm comm); + +/** + * Tangent diff of \ref AMPI_Reduce. Shadowed (Association-by-Name) + */ +int TLS_AMPI_Reduce(void* sbuf, void* sbufd, + void* rbuf, void* rbufd, + int count, + MPI_Datatype datatype, MPI_Datatype datatyped, + MPI_Op op, TLM_userFunctionF* uopd, + int root, + MPI_Comm comm) ; + +/** + * forward sweep variant of \ref AMPI_Allreduce + */ +int FWB_AMPI_Allreduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + MPI_Comm comm); + +/** + * Adjoint forward sweep of \ref AMPI_Allreduce, shadowed (i.e. Association-by-Name) + * NOTE: in the forward sweep, shadowed mode passes only the primal values. + */ +int FW_AMPI_Allreduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + MPI_Comm comm); + +/** + * backward sweep variant of \ref AMPI_Allreduce + */ +int BWB_AMPI_Allreduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + MPI_Comm comm); + +/** + * Adjoint forward sweep of \ref AMPI_Allreduce, shadowed (i.e. Association-by-Name) + */ +int BWS_AMPI_Allreduce(void* sbuf, void* sbufb, + void* rbuf, void* rbufb, + int count, + MPI_Datatype datatype, MPI_Datatype datatypeb, + MPI_Op op, TLM_userFunctionF* uopb, + MPI_Comm comm); + +/** + * TLM variant of \ref AMPI_Allreduce + */ +int TLB_AMPI_Allreduce(void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + MPI_Comm comm); + +/** + * Adjoint forward sweep of \ref AMPI_Allreduce, shadowed (i.e. Association-by-Name) + */ +int TLS_AMPI_Allreduce(void* sbuf, void* sbufd, + void* rbuf, void* rbufd, + int count, + MPI_Datatype datatype, MPI_Datatype datatyped, + MPI_Op op, TLM_userFunctionF* uopd, + MPI_Comm comm) ; + +/** + * create struct, calls MPI_Type_create_struct twice (second time for packed typemap) and stores info + */ +int AMPI_Type_create_struct (int count, + int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype array_of_types[], + MPI_Datatype *newtype); + +int AMPI_Type_create_resized (MPI_Datatype oldtype, + MPI_Aint lb, + MPI_Aint extent, + MPI_Datatype *newtype); + +/** + * create reduction op, calls MPI_Op_create, stores info + */ +int AMPI_Op_create(MPI_User_function *function, + int commute, + MPI_Op *op); + +/** + * One-sided MPI + */ + + +int FW_AMPI_Win_create( void *base, + MPI_Aint size, + int disp_unit, + MPI_Info info, + MPI_Comm comm, + AMPI_Win *win + ); + +int BW_AMPI_Win_create( void *base, + MPI_Aint size, + int disp_unit, + MPI_Info info, + MPI_Comm comm, + AMPI_Win *win + ); + +int FW_AMPI_Win_free( AMPI_Win *win ); + +int BW_AMPI_Win_free( AMPI_Win *win ); + +int FW_AMPI_Get( void *origin_addr, + int origin_count, + MPI_Datatype origin_datatype, + int target_rank, + MPI_Aint target_disp, + int target_count, + MPI_Datatype target_datatype, + AMPI_Win win + ); + +int BW_AMPI_Get( void *origin_addr, + int origin_count, + MPI_Datatype origin_datatype, + int target_rank, + MPI_Aint target_disp, + int target_count, + MPI_Datatype target_datatype, + AMPI_Win win + ); + +int FW_AMPI_Get( void *origin_addr, + int origin_count, + MPI_Datatype origin_datatype, + int target_rank, + MPI_Aint target_disp, + int target_count, + MPI_Datatype target_datatype, + AMPI_Win win + ); + +int BW_AMPI_Put( void *origin_addr, + int origin_count, + MPI_Datatype origin_datatype, + int target_rank, + MPI_Aint target_disp, + int target_count, + MPI_Datatype target_datatype, + AMPI_Win win + ); + +int FW_AMPI_Win_fence( int assert, + AMPI_Win win ); + +int BW_AMPI_Win_fence( int assert, + AMPI_Win win ); + + + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/libCommon/st.h b/tools/TAP_support/ADFirstAidKit/ampi/libCommon/st.h new file mode 100644 index 0000000000..d6d39cfb3f --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/libCommon/st.h @@ -0,0 +1,43 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_LIBCOMMON_ST_H_ +#define _AMPI_LIBCOMMON_ST_H_ + +/** + * \file + * common AD implementation portion of AMPI routines from ampi/userIF/st.h + */ + +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +#include "ampi/userIF/request.h" + +/** + * forward sweep variant of \ref AMPI_Wait_ST + */ +int FW_AMPI_Wait_ST(AMPI_Request *request, + void *buf, + MPI_Status *status); + +/** + * backward sweep variant of \ref AMPI_Wait_ST + */ +int BW_AMPI_Wait_ST(AMPI_Request *request, + void *buf, + MPI_Status *status); + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/tape/support.h b/tools/TAP_support/ADFirstAidKit/ampi/tape/support.h new file mode 100644 index 0000000000..967ed58c92 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/tape/support.h @@ -0,0 +1,69 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_TAPE_SUPPORT_H_ +#define _AMPI_TAPE_SUPPORT_H_ + +#include +#if defined(__cplusplus) +extern "C" { +#endif + +#include "ampi/userIF/request.h" + +/** + * \file + * \brief interface to a reusable tape to read and write in particular the opaque MPI types + */ + +void TAPE_AMPI_init(); +void TAPE_AMPI_resetBottom(); +void TAPE_AMPI_resetTop(); + +void TAPE_AMPI_push_int(int an_int); +void TAPE_AMPI_pop_int(int *an_int); +void TAPE_AMPI_read_int(int* an_int); + +void TAPE_AMPI_push_MPI_Aint(MPI_Aint an_MPI_Aint); +void TAPE_AMPI_pop_MPI_Aint(MPI_Aint *an_MPI_Aint); +void TAPE_AMPI_read_MPI_Aint(MPI_Aint* an_MPI_Aint); + +void TAPE_AMPI_push_ptr(void *ptr); +void TAPE_AMPI_pop_ptr(void **ptr); +void TAPE_AMPI_read_ptr(void **ptr); + +void TAPE_AMPI_push_MPI_Datatype(MPI_Datatype an_MPI_Datatype); +void TAPE_AMPI_pop_MPI_Datatype(MPI_Datatype *an_MPI_Datatype); +void TAPE_AMPI_read_MPI_Datatype(MPI_Datatype* an_MPI_Datatype); + +void TAPE_AMPI_push_MPI_Comm(MPI_Comm an_MPI_Comm); +void TAPE_AMPI_pop_MPI_Comm(MPI_Comm *an_MPI_Comm); +void TAPE_AMPI_read_MPI_Comm(MPI_Comm* an_MPI_Comm); + +void TAPE_AMPI_push_MPI_Request(MPI_Request an_MPI_Request); +void TAPE_AMPI_pop_MPI_Request(MPI_Request *an_MPI_Request); +void TAPE_AMPI_read_MPI_Request(MPI_Request* an_MPI_Request); + +void TAPE_AMPI_push_MPI_Op(MPI_Op an_MPI_Op); +void TAPE_AMPI_pop_MPI_Op(MPI_Op *an_MPI_Op); +void TAPE_AMPI_read_MPI_Op(MPI_Op* an_MPI_Op); + +void TAPE_AMPI_push_double(double a_double); +void TAPE_AMPI_pop_double(double *a_double); +void TAPE_AMPI_read_double(double* a_double); + +void TAPE_AMPI_push_MPI_Win(MPI_Win an_MPI_Win); +void TAPE_AMPI_pop_MPI_Win(MPI_Win *an_MPI_Win); +void TAPE_AMPI_read_MPI_Win(MPI_Win* an_MPI_Win); + +#if defined(__cplusplus) +} +#endif + +#endif + diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/activity.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/activity.h new file mode 100644 index 0000000000..853b0b4db5 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/activity.h @@ -0,0 +1,34 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_ACTIVITY_H_ +#define _AMPI_ACTIVITY_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * enumeration to distinguish between active and passive variants of MPI_Datatype parameters passed to AMPI routines + */ + +#include "ampi/userIF/libConfig.h" + +/** \ingroup UserInterfaceDeclarations + * @{ + */ +enum AMPI_Activity_E { + AMPI_PASSIVE=0, + AMPI_ACTIVE=1 +}; + +#ifdef AMPI_FORTRANCOMPATIBLE +typedef int AMPI_Activity; +#else +typedef enum AMPI_Activity_E AMPI_Activity; +#endif +/** @} */ +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/libConfig.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/libConfig.h new file mode 100644 index 0000000000..398de71103 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/libConfig.h @@ -0,0 +1,20 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef AMPI_LIBCONFIG_H +#define AMPI_LIBCONFIG_H + + +/* Defined when configured with --enable-fortranCompatible . */ +#define AMPI_FORTRANCOMPATIBLE + +/* Defined when configured with --enable-requestOnTrace . */ +#undef AMPI_REQUESTONTRACE + +#endif + diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/modified.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/modified.h new file mode 100644 index 0000000000..3074d63d78 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/modified.h @@ -0,0 +1,649 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_MODIFIED_H_ +#define _AMPI_MODIFIED_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * AMPI routines that have adjoint functionality and do no merely pass through to the MPI originals; the routines may signatures with additional parameters compared to their original MPI counterparts + */ + +#include "ampi/userIF/pairedWith.h" +#include "ampi/userIF/request.h" +#include "ampi/userIF/window.h" + +/** + * \todo move out of userIF + * user-defined type data + * only one instance of derivedTypeData exists at once + * get pointer from getDTypeData, add new stuff with addDTypeData + */ +typedef struct { + int size; + int preAlloc; + int* num_actives; + /* displacements of first/last active blocks */ + MPI_Aint* first_active_blocks; + MPI_Aint* last_active_blocks; + /* need to know last active block length to find last active element */ + int* last_active_block_lengths; + MPI_Datatype* derived_types; + int* counts; + int** arrays_of_blocklengths; + MPI_Aint** arrays_of_displacements; + MPI_Datatype** arrays_of_types; + MPI_Aint* lbs; + MPI_Aint* extents; + /* corresponding typemaps packed for sending */ + MPI_Datatype* packed_types; + int** arrays_of_p_blocklengths; + MPI_Aint** arrays_of_p_displacements; + MPI_Datatype** arrays_of_p_types; + MPI_Aint* p_extents; +} derivedTypeData; + +/** + * \todo move out of userIF + * + */ +derivedTypeData* getDTypeData(); + +/** + * \todo move out of userIF + * + */ +void releaseDTypeData(); +/** + * \todo move out of userIF + * + * @param dat + * @param count + * @param array_of_blocklengths + * @param array_of_displacements + * @param array_of_types + * @param lower_bound + * @param extent + * @param array_of_p_blocklengths + * @param array_of_p_displacements + * @param array_of_p_types + * @param p_extent + * @param newtype + * @param packed_type + * addDTypeData takes derived type data and adds a new entry; returns + * position of new type in data struct; returns -1 if struct contains no active types; + * doubles data struct size every time there's overflow + */ +void addDTypeData(derivedTypeData* dat, + int count, + int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype array_of_types[], + MPI_Aint lower_bound, + MPI_Aint extent, + int array_of_p_blocklengths[], + MPI_Aint array_of_p_displacements[], + MPI_Datatype array_of_p_types[], + MPI_Aint p_extent, + MPI_Datatype* newtype, + MPI_Datatype* packed_type); +int derivedTypeIdx(MPI_Datatype datatype); +/** + * \todo move out of userIF + * @param dt_idx + * @return + */ +int isDerivedType(int dt_idx); + +/** + * \todo move out of userIF + * user-defined reduction op data + * only one instance of userDefinedOpData exists at once + * get pointer from getUOpData, add new stuff with addUOpData + */ +typedef struct { + int size; + int preAlloc; + MPI_Op* ops; + MPI_User_function** functions; + int* commutes; +} userDefinedOpData; + +/** + * \todo move out of userIF + * @return + */ +userDefinedOpData* getUOpData(); + +/** + * \todo move out of userIF + * @param dat + * @param op a user-defined operation + * @param function + * @param commute + * takes user-defined op and adds a new entry; + * doubles data struct size every + * time there's overflow + */ +void addUOpData(userDefinedOpData* dat, + MPI_Op* op, + MPI_User_function* function, + int commute); +/** + * \todo move out of userIF + * @param op + * @return + */ +int userDefinedOpIdx(MPI_Op op); +/** + * \todo move out of userIF + * @param uop_idx + * @return + */ +int isUserDefinedOp(int uop_idx); +/** + * \todo move out of userIF + */ +void releaseUOpData(); + +/** \ingroup UserInterfaceDeclarations + * @{ + */ + +/** + * active variant of the predefined MPI_DOUBLE + */ +extern MPI_Datatype AMPI_ADOUBLE; + +/** + * active variant of the predefined MPI_FLOAT + */ +extern MPI_Datatype AMPI_AFLOAT; + +#ifdef AMPI_FORTRANCOMPATIBLE + +/** + * active variant of the predefined MPI_DOUBLE_PRECISION + */ +extern MPI_Datatype AMPI_ADOUBLE_PRECISION; + +/** + * active variant of the predefined MPI_REAL + */ +extern MPI_Datatype AMPI_AREAL; + +#endif + +/** + * adjoint needs to MPI_Finalize; signature identical to original MPI call + */ +int AMPI_Init(int* argc, + char*** argv); + +/** + * adjoint needs to MPI_Init; signature identical to AMPI_Init (adjoint symmetry) + */ +int AMPI_Finalize(int* argc, + char*** argv); + +/** + * adjoint needs to detach; signature identical to original MPI call + */ +int AMPI_Buffer_attach(void *buffer, + int size); + +/** + * adjoint needs to attach; signature identical to original MPI call + */ +int AMPI_Buffer_detach(void *buffer, + int *size); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param buf + * @param count + * @param datatype see \ref datatypes + * @param dest + * @param tag + * @param pairedWith see \ref pairings + * @param comm + * @return + */ +int AMPI_Send(void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param buf + * @param count + * @param datatype see \ref datatypes + * @param src + * @param tag + * @param pairedWith see \ref pairings + * @param comm + * @param status + * @return + */ +int AMPI_Recv(void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + MPI_Status* status); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param buf + * @param count + * @param datatype see \ref datatypes + * @param dest + * @param tag + * @param pairedWith see \ref pairings + * @param comm + * @param request see \ref requests + * @return + */ +int AMPI_Isend (void* buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param buf + * @param count + * @param datatype see \ref datatypes + * @param src + * @param tag + * @param pairedWith see \ref pairings + * @param comm + * @param request see \ref requests + * @return + */ +int AMPI_Irecv (void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm, + AMPI_Request* request); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param buf + * @param count + * @param datatype see \ref datatypes + * @param dest + * @param tag + * @param pairedWith see \ref pairings + * @param comm + * @return + */ +int AMPI_Bsend(void *buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param buf + * @param count + * @param datatype see \ref datatypes + * @param dest + * @param tag + * @param pairedWith see \ref pairings + * @param comm + * @return + */ +int AMPI_Rsend(void *buf, + int count, + MPI_Datatype datatype, + int dest, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param buf + * @param count + * @param datatype see \ref datatypes + * @param root + * @param comm + * @return + */ +int AMPI_Bcast (void* buf, + int count, + MPI_Datatype datatype, + int root, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sbuf + * @param rbuf + * @param count + * @param datatype see \ref datatypes + * @param op + * @param root + * @param comm + * @return + */ +int AMPI_Reduce (void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + int root, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sbuf + * @param rbuf + * @param count + * @param datatype see \ref datatypes + * @param op + * @param comm + * @return + */ +int AMPI_Allreduce (void* sbuf, + void* rbuf, + int count, + MPI_Datatype datatype, + MPI_Op op, + MPI_Comm comm); + + +/** + * before we start reverse we need to make sure there are no pending requests in our userIF bookkeeping + */ +int AMPI_Wait(AMPI_Request *request, + MPI_Status *status); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param count + * @param requests see \ref requests + * @param statuses + * @return + */ +int AMPI_Waitall (int count, + AMPI_Request requests[], + MPI_Status statuses[]); + +/** + * @param count + * @param requests see \ref requests + * @param statuses + * @return + */ +int AMPI_Awaitall (int count, + AMPI_Request requests[], + MPI_Status statuses[]); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param comm + * @return + */ +int AMPI_Barrier(MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sendbuf + * @param sendcnt + * @param sendtype see \ref datatypes + * @param recvbuf + * @param recvcnt + * @param recvtype see \ref datatypes + * @param root + * @param comm + * @return + */ +int AMPI_Gather(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sendbuf + * @param sendcnt + * @param sendtype see \ref datatypes + * @param recvbuf + * @param recvcnt + * @param recvtype see \ref datatypes + * @param root + * @param comm + * @return + */ +int AMPI_Scatter(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sendbuf + * @param sendcount + * @param sendtype see \ref datatypes + * @param recvbuf + * @param recvcount + * @param recvtype see \ref datatypes + * @param comm + * @return + */ +int AMPI_Allgather(void *sendbuf, + int sendcount, + MPI_Datatype sendtype, + void *recvbuf, + int recvcount, + MPI_Datatype recvtype, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sendbuf + * @param sendcnt + * @param sendtype see \ref datatypes + * @param recvbuf + * @param recvcnts + * @param displs + * @param recvtype see \ref datatypes + * @param root + * @param comm + * @return + */ +int AMPI_Gatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + int root, + MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sendbuf + * @param sendcnts + * @param displs + * @param sendtype see \ref datatypes + * @param recvbuf + * @param recvcnt + * @param recvtype see \ref datatypes + * @param root + * @param comm + * @return + */ +int AMPI_Scatterv(void *sendbuf, + int *sendcnts, + int *displs, + MPI_Datatype sendtype, + void *recvbuf, + int recvcnt, + MPI_Datatype recvtype, + int root, MPI_Comm comm); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param sendbuf + * @param sendcnt + * @param sendtype see \ref datatypes + * @param recvbuf + * @param recvcnts + * @param displs + * @param recvtype see \ref datatypes + * @param comm + * @return + */ +int AMPI_Allgatherv(void *sendbuf, + int sendcnt, + MPI_Datatype sendtype, + void *recvbuf, + int *recvcnts, + int *displs, + MPI_Datatype recvtype, + MPI_Comm comm); + + +int AMPI_Comm_dup(MPI_Comm comm, MPI_Comm *dupComm) ; + +/** + * Same as \ref AMPI_Comm_dup but manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade) + */ +int TLS_AMPI_Comm_dup(MPI_Comm comm, MPI_Comm *dupComm) ; + +int AMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *dupComm) ; + +/** + * Same as \ref AMPI_Comm_split but manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade) + */ +int TLS_AMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *dupComm) ; + +int AMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *dupComm) ; + +/** + * Same as \ref AMPI_Comm_create but manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade) + */ +int TLS_AMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *dupComm) ; + +int AMPI_Comm_free(MPI_Comm *comm) ; + +/** + * Same as \ref AMPI_Comm_free but manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade) + */ +int TLS_AMPI_Comm_free(MPI_Comm *comm) ; + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param base + * @param size + * @param disp_unit + * @param info + * @param comm + * @param win active window + * + * @return + */ +int AMPI_Win_create( void *base, + MPI_Aint size, + int disp_unit, + MPI_Info info, + MPI_Comm comm, + AMPI_Win *win ); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param assert + * @param win active window + * + * @return + */ +int AMPI_Win_fence( int assert, + AMPI_Win win ); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param win active window + * + * @return + */ +int AMPI_Win_free( AMPI_Win *win ); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param origin_addr + * @param origin_count + * @param origin_datatype see \ref datatypes + * @param target_rank + * @param target_disp + * @param target_count + * @param target_datatype see \ref datatypes + * @param win active window + * + * @return + */ +int AMPI_Get( void *origin_addr, + int origin_count, + MPI_Datatype origin_datatype, + int target_rank, + MPI_Aint target_disp, + int target_count, + MPI_Datatype target_datatype, + AMPI_Win win ); + +/** + * all parameters as in the MPI standard with exceptions as listed + * @param origin_addr + * @param origin_count + * @param origin_datatype see \ref datatypes + * @param target_rank + * @param target_disp + * @param target_count + * @param target_datatype see \ref datatypes + * @param win active window + * + * @return + */ +int AMPI_Put( void *origin_addr, + int origin_count, + MPI_Datatype origin_datatype, + int target_rank, + MPI_Aint target_disp, + int target_count, + MPI_Datatype target_datatype, + AMPI_Win win ); + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/nt.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/nt.h new file mode 100644 index 0000000000..3842a8649d --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/nt.h @@ -0,0 +1,106 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_NT_H_ +#define _AMPI_NT_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * NT= "no tansformation" or "no trace" prototypes for wrapper routines that could have an adjoint action but in particular contexts do not because they are called outside of the transformed or traced section of the source code; the signatures are identical to their MPI originals and they pass the parameters through to the MPI routines + */ + +/** \ingroup UserInterfaceDeclarations + * @{ + */ + + +/** + * this wrapper variant of \ref AMPI_Init has no adjoint transformation / trace functionality; to be used outside of the transformed/traced code section + */ +int AMPI_Init_NT(int* argc, + char*** argv); + +/** + * this wrapper variant of \ref AMPI_Finalize has no adjoint transformation / trace functionality; to be used outside of the transformed/traced code section + */ +int AMPI_Finalize_NT(void); + +/** + * this wrapper variant of \ref AMPI_Buffer_attach has no adjoint transformation / trace functionality; to be used outside of the transformed/traced code section + */ +int AMPI_Buffer_attach_NT(void *buffer, + int size); + +/** + * this wrapper variant of \ref AMPI_Buffer_detach has no adjoint transformation / trace functionality; to be used outside of the transformed/traced code section + */ +int AMPI_Buffer_detach_NT(void *buffer, + int *size); + +int AMPI_Type_contiguous_NT(int count, + MPI_Datatype oldtype, + MPI_Datatype* newtype); + +int AMPI_Type_create_struct_NT(int count, + int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype array_of_types[], + MPI_Datatype *newtype); + +int AMPI_Type_create_resized_NT(MPI_Datatype oldtype, + MPI_Aint lb, + MPI_Aint extent, + MPI_Datatype *newtype); + +int AMPI_Type_commit_NT(MPI_Datatype *datatype); + +int AMPI_Op_create_NT(MPI_User_function *function, + int commute, + MPI_Op *op); + +int AMPI_Type_free_NT(MPI_Datatype *datatype); + +int AMPI_Op_free_NT(MPI_Op *op); + +int AMPI_Comm_dup_NT(MPI_Comm comm, MPI_Comm *dupComm) ; + +/** + * this wrapper variant of \ref AMPI_Comm_dup manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade); to be used outside of the transformed/traced code section + */ +int TLS_AMPI_Comm_dup_NT(MPI_Comm comm, MPI_Comm *dupComm) ; + +int AMPI_Comm_split_NT(MPI_Comm comm, int color, int key, MPI_Comm *dupComm) ; + +/** + * this wrapper variant of \ref AMPI_Comm_split manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade); to be used outside of the transformed/traced code section + */ +int TLS_AMPI_Comm_split_NT(MPI_Comm comm, int color, int key, MPI_Comm *dupComm) ; + +int AMPI_Comm_create_NT(MPI_Comm comm, MPI_Group group, MPI_Comm *dupComm) ; + +/** + * this wrapper variant of \ref AMPI_Comm_create manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade); to be used outside of the transformed/traced code section + */ +int TLS_AMPI_Comm_create_NT(MPI_Comm comm, MPI_Group group, MPI_Comm *dupComm) ; + +int AMPI_Comm_free_NT(MPI_Comm *comm) ; + +/** + * this wrapper variant of \ref AMPI_Comm_free manages the shadow communicators if code is differentiated in tangent mode with ST-AD with shadow variables (e.g. Tapenade); to be used outside of the transformed/traced code section + */ +int TLS_AMPI_Comm_free_NT(MPI_Comm *comm) ; + +#ifdef AMPI_FORTRANCOMPATIBLE +/** Must be defined in the fortranSupport.F of the particular AD tool */ +void adtool_ampi_fortransetuptypes_(MPI_Fint* adouble, MPI_Fint* areal); +#endif + +/** @} */ + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/pairedWith.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/pairedWith.h new file mode 100644 index 0000000000..e5d450f7b3 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/pairedWith.h @@ -0,0 +1,82 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_PAIREDWITH_H_ +#define _AMPI_PAIREDWITH_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * enumeration to distinguish between active and passive variants of MPI_Datatype parameters passed to AMPI routines + */ + +#include "ampi/userIF/libConfig.h" + +/** \ingroup UserInterfaceDeclarations + * @{ + */ +/** + * the enumeration for communication pairings as explained in \ref pairings + */ +enum AMPI_PairedWith_E { + AMPI_TO_RECV, + AMPI_FROM_SEND, + AMPI_TO_IRECV_WAIT, + AMPI_TO_IRECV_WAITALL, + AMPI_FROM_ISEND_WAIT, + AMPI_FROM_ISEND_WAITALL, + AMPI_FROM_BSEND, + AMPI_FROM_RSEND, +}; + +#ifdef AMPI_FORTRANCOMPATIBLE +typedef int AMPI_PairedWith; +#else +typedef enum AMPI_PairedWith_E AMPI_PairedWith; +#endif + +/** + * the enumeration for call codes as explained in \ref pairings + */ +enum AMPI_CallCode_E { + AMPI_RECV, + AMPI_SEND, + AMPI_IRECV_WAIT, + AMPI_IRECV_WAITALL, + AMPI_ISEND_WAIT, + AMPI_ISEND_WAITALL, + AMPI_BSEND, + AMPI_RSEND, + AMPI_ISEND, + AMPI_IRECV, + AMPI_WAIT, + AMPI_GATHER, + AMPI_SCATTER, + AMPI_ALLGATHER, + AMPI_GATHERV, + AMPI_SCATTERV, + AMPI_ALLGATHERV, + AMPI_BCAST, + AMPI_REDUCE, + AMPI_ALLREDUCE, + AMPI_BARRIER, + AMPI_GET, + AMPI_PUT, + AMPI_WIN_CREATE, + AMPI_WIN_FENCE, + AMPI_WIN_FREE +}; + +#ifdef AMPI_FORTRANCOMPATIBLE +typedef int AMPI_CallCode; +#else +typedef enum AMPI_CallCode_E AMPI_CallCode; +#endif +/** @} */ + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/passThrough.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/passThrough.h new file mode 100644 index 0000000000..2f2f09b71a --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/passThrough.h @@ -0,0 +1,50 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_PASSTHOURGH_H_ +#define _AMPI_PASSTHOURGH_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * prototypes for wrapper routines with identical signatures that pass the parameters through to the MPI routines; we do this to gave a consistent AMPI naming scheme and avoid having to mix AMPI and MPI calls + */ + +/** \ingroup UserInterfaceDeclarations + * @{ + */ + +/** + * simple wrapper; signature is identical to MPI original + */ +int AMPI_Comm_size(MPI_Comm comm, + int *size); + +/** + * simple wrapper; signature is identical to MPI original + */ +int AMPI_Comm_rank(MPI_Comm comm, + int *rank); + +/** + * simple wrapper; signature is identical to MPI original + */ +int AMPI_Get_processor_name(char *name, + int *resultlen ); + +/** + * simple wrapper; signature is identical to MPI original + */ +int AMPI_Pack_size(int incount, + MPI_Datatype datatype, + MPI_Comm comm, + int *size); + +/** @} */ + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/request.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/request.h new file mode 100644 index 0000000000..a50f0d98ba --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/request.h @@ -0,0 +1,134 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_REQUEST_H_ +#define _AMPI_REQUEST_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * \brief definitions for an AMPI_Request which is an MPI_Request augmented with additional information + * + * the request in the AMPI context need to be used to track extra information; + * the extra information cannot be exposed in Fortran77 but there can be a + * Fortran90 equivalent and it can be exposed in C to allow source transformation + * tools to use TBR analysis on the tracked information. + */ + +#include "ampi/userIF/pairedWith.h" + +/** \ingroup UserInterfaceDeclarations + * @{ + */ +/** + * does the request originate with a send or a receive + */ +enum AMPI_Request_origin_E { + AMPI_SEND_ORIGIN, + AMPI_RECV_ORIGIN +}; + +#ifdef AMPI_FORTRANCOMPATIBLE +typedef int AMPI_Request_origin; +#else +typedef enum AMPI_Request_origin_E AMPI_Request_origin; +#endif + +/** + * MPI_Request augmented with extra information + */ +struct AMPI_Request_S { + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv buf parameter + */ + void *buf; + + /** + * The corresponding adjoint buffer + */ + void *adjointBuf ; + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv count parameter + */ + int count; + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv datatype parameter + */ + MPI_Datatype datatype; + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv dst or src parameter + */ + int endPoint; + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv tag parameter + */ + int tag; + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv sets this + */ + enum AMPI_PairedWith_E pairedWith; + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv comm parameter + */ + MPI_Comm comm; + + /** + * temporary adjoint buffer; not to be traced + */ + void *adjointTempBuf; + + /** + * the count of the adjoint buffer size in terms of the original data type; not to be traced; + */ + int adjointCount; + + /** + * the "plain" request returned by MPI_Isend or MPI_Irecv resp; not to be traced + */ + MPI_Request plainRequest; + + /** + * the "plain" request returned in the bw sweep by the MPI_Send/Recv in the BW_AMPI_Wait + */ + MPI_Request bwRequest; + + /** + * the "plain" request returned by MPI_Isend or MPI_Irecv resp; + */ + MPI_Request tracedRequest; + + /** + * the "plain" request returned by the shadow MPI_Isend or MPI_Irecv resp (TLS mode); + */ + MPI_Request shadowRequest; + + /** + * \ref AMPI_Isend / \ref AMPI_Irecv sets this + */ + enum AMPI_Request_origin_E origin; + + void *idx; + +}; + +#ifdef AMPI_FORTRANCOMPATIBLE +typedef MPI_Request AMPI_Request; +#else +typedef struct AMPI_Request_S AMPI_Request; +#endif + +/** @} */ + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/st.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/st.h new file mode 100644 index 0000000000..1cabb358d5 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/st.h @@ -0,0 +1,37 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_ST_H_ +#define _AMPI_ST_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * ST = "source tansformation" specific versions of routines that exist because generic memory mapping is not yet implemented in any source transformation tool + */ + +#include "ampi/userIF/request.h" + +/** \ingroup UserInterfaceDeclarations + * @{ + */ + +/** + * variant of \ref AMPI_Wait with an extra parameter + * \param request follows the semantics of MPI_Wait + * \param buf is the buffer that was passed to the corresponding \ref AMPI_Isend or \ref AMPI_Irecv call; + * see \ref nonblocking for a discussion of the necessity of the buf parameter. + * \param status follows the semantics of MPI_Wait + */ +int AMPI_Wait_ST(AMPI_Request *request, + void *buf, + MPI_Status *status); + +/** @} */ + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampi/userIF/window.h b/tools/TAP_support/ADFirstAidKit/ampi/userIF/window.h new file mode 100644 index 0000000000..042bfafb38 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampi/userIF/window.h @@ -0,0 +1,89 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ +#ifndef _AMPI_WINDOW_H_ +#define _AMPI_WINDOW_H_ + +/** + * \file + * \ingroup UserInterfaceHeaders + * The windows in the AMPI context need to be used to track extra information + * simlilarly to the requests. Each window has a stack that is used to trace the + * one-sided communication. We do not resort to the ampi tape since the + * structures differ. + */ + +#include +#include "ampi/userIF/libConfig.h" +/** + * \def Number of traced communications in a stack chunk + */ +#define AMPI_WINDOW_STACK_CHUNK_SIZE 1000 +/* + * @{ + * \name Structures and functions related to the tracing of one-sided + * communication. + */ + +typedef struct { + void *origin_addr; + int origin_count; + MPI_Datatype origin_datatype; + int target_rank; + MPI_Aint target_disp; + int target_count; + MPI_Datatype target_datatype; + void *adjointTempBuf; + void *adjointBuf; + int adjointCount; + void *idx; +} AMPI_WinRequest; + +typedef struct { + AMPI_WinRequest *v; + int top; + size_t size; + MPI_Aint num_reqs; +} AMPI_Win_stack; + + +void AMPI_WIN_STACK_push(AMPI_Win_stack *s, AMPI_WinRequest req); +AMPI_WinRequest AMPI_WIN_STACK_pop(AMPI_Win_stack *s); +void AMPI_WIN_STACK_stack_init(AMPI_Win_stack *s); +void AMPI_WIN_STACK_destroy(AMPI_Win_stack *s); +int AMPI_WIN_STACK_full(AMPI_Win_stack *s); +void AMPI_WIN_STACK_expand(AMPI_Win_stack *s); +void AMPI_WIN_STACK_shrink(AMPI_Win_stack *s); +int AMPI_WIN_STACK_empty(AMPI_Win_stack *s); + + + +/** + * AMPI_Win augmented with extra information + */ +typedef struct { + void **map; /**< The mapped window for interleaved types */ + void *base; /**< The base of the original window */ + void *idx; /**< Tape indices for the adjoint computation */ + MPI_Aint size; /**< Size of the window */ + AMPI_Win_stack *req_stack; /**< Bookkeeping of the executed one-sided communications */ + MPI_Win **plainWindow; /**< original MPI_Win */ + int num_reqs; + MPI_Comm comm; + MPI_Aint disp; +} AMPI_Win; + + +/** + * Synchronzation of the window + */ +void AMPI_WIN_sync(AMPI_Win win); +/** @} */ + + +#endif diff --git a/tools/TAP_support/ADFirstAidKit/ampiSupport.c b/tools/TAP_support/ADFirstAidKit/ampiSupport.c new file mode 100644 index 0000000000..c19181dde3 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/ampiSupport.c @@ -0,0 +1,937 @@ +/* +########################################################## +# This file is part of the AdjoinableMPI library # +# released under the MIT License. # +# The full COPYRIGHT notice can be found in the top # +# level directory of the AdjoinableMPI distribution. # +########################################################## +*/ + +/* The following to set the AMPI_FORTRANCOMPATIBLE + * if it was placed in the configure command. */ +#include "ampi/userIF/libConfig.h" + +#include +#include +#include +#include +#include "ampi/adTool/support.h" +#include +#include "ampi/ampi.h" +#include "ampi/libCommon/modified.h" + +struct AMPI_ShadowComm_list { + struct AMPI_ShadowComm_list *next_p; + MPI_Comm comm ; + MPI_Comm shadowComm ; +} ; + +struct AMPI_ShadowComm_list * ADTOOL_AMPI_SHADOWCOMM_LIST = NULL ; + +struct AMPI_Request_stack { + struct AMPI_Request_stack *next_p; + void *buf ; + void *adjointBuf ; + int count ; + MPI_Datatype datatype ; + int endPoint ; + int tag ; + enum AMPI_PairedWith_E pairedWith; + MPI_Comm comm; + enum AMPI_Activity_E isActive; + enum AMPI_Request_origin_E origin; +} ; + +int AMPI_Init_NT(int* argc, char*** argv) { + int rc = MPI_Init(argc, argv); + ADTOOL_AMPI_setupTypes() ; + MPI_Comm worldDup ; + int rc2 = MPI_Comm_dup(MPI_COMM_WORLD, &worldDup) ; + assert(rc2==MPI_SUCCESS); + ADTOOL_AMPI_SHADOWCOMM_LIST = NULL ; + ADTOOL_AMPI_addShadowComm(MPI_COMM_WORLD, worldDup) ; + ourADTOOL_AMPI_FPCollection.pushBcastInfo_fp=&ADTOOL_AMPI_pushBcastInfo; + ourADTOOL_AMPI_FPCollection.popBcastInfo_fp=&ADTOOL_AMPI_popBcastInfo; + ourADTOOL_AMPI_FPCollection.pushDoubleArray_fp=&ADTOOL_AMPI_pushDoubleArray; + ourADTOOL_AMPI_FPCollection.popDoubleArray_fp=&ADTOOL_AMPI_popDoubleArray; + ourADTOOL_AMPI_FPCollection.pushReduceInfo_fp=&ADTOOL_AMPI_pushReduceInfo; + ourADTOOL_AMPI_FPCollection.popReduceCountAndType_fp=&ADTOOL_AMPI_popReduceCountAndType; + ourADTOOL_AMPI_FPCollection.popReduceInfo_fp=&ADTOOL_AMPI_popReduceInfo; + ourADTOOL_AMPI_FPCollection.pushSRinfo_fp=&ADTOOL_AMPI_pushSRinfo; + ourADTOOL_AMPI_FPCollection.popSRinfo_fp=&ADTOOL_AMPI_popSRinfo; + ourADTOOL_AMPI_FPCollection.pushGSinfo_fp=&ADTOOL_AMPI_pushGSinfo; + ourADTOOL_AMPI_FPCollection.popGScommSizeForRootOrNull_fp=&ADTOOL_AMPI_popGScommSizeForRootOrNull; + ourADTOOL_AMPI_FPCollection.popGSinfo_fp=&ADTOOL_AMPI_popGSinfo; + ourADTOOL_AMPI_FPCollection.pushGSVinfo_fp=&ADTOOL_AMPI_pushGSVinfo; + ourADTOOL_AMPI_FPCollection.popGSVinfo_fp=&ADTOOL_AMPI_popGSVinfo; + ourADTOOL_AMPI_FPCollection.push_CallCode_fp=&ADTOOL_AMPI_push_CallCode; + ourADTOOL_AMPI_FPCollection.pop_CallCode_fp=&ADTOOL_AMPI_pop_CallCode; + ourADTOOL_AMPI_FPCollection.push_AMPI_Request_fp=&ADTOOL_AMPI_push_AMPI_Request; + ourADTOOL_AMPI_FPCollection.pop_AMPI_Request_fp=&ADTOOL_AMPI_pop_AMPI_Request; + ourADTOOL_AMPI_FPCollection.push_request_fp=&ADTOOL_AMPI_push_request; + ourADTOOL_AMPI_FPCollection.pop_request_fp=&ADTOOL_AMPI_pop_request; + ourADTOOL_AMPI_FPCollection.push_comm_fp=&ADTOOL_AMPI_push_comm; + ourADTOOL_AMPI_FPCollection.pop_comm_fp=&ADTOOL_AMPI_pop_comm; + ourADTOOL_AMPI_FPCollection.rawData_fp=&ADTOOL_AMPI_rawData; + ourADTOOL_AMPI_FPCollection.rawDataV_fp=&ADTOOL_AMPI_rawDataV; + ourADTOOL_AMPI_FPCollection.packDType_fp=&ADTOOL_AMPI_packDType; + ourADTOOL_AMPI_FPCollection.unpackDType_fp=&ADTOOL_AMPI_unpackDType; + ourADTOOL_AMPI_FPCollection.writeData_fp=&ADTOOL_AMPI_writeData; + ourADTOOL_AMPI_FPCollection.writeDataV_fp=&ADTOOL_AMPI_writeDataV; + ourADTOOL_AMPI_FPCollection.rawAdjointData_fp=&ADTOOL_AMPI_rawAdjointData; + ourADTOOL_AMPI_FPCollection.Turn_fp=&ADTOOL_AMPI_Turn; + ourADTOOL_AMPI_FPCollection.mapBufForAdjoint_fp=&ADTOOL_AMPI_mapBufForAdjoint; + ourADTOOL_AMPI_FPCollection.setBufForAdjoint_fp=&ADTOOL_AMPI_setBufForAdjoint; + ourADTOOL_AMPI_FPCollection.getAdjointCount_fp=&ADTOOL_AMPI_getAdjointCount; + ourADTOOL_AMPI_FPCollection.setAdjointCount_fp=&ADTOOL_AMPI_setAdjointCount; + ourADTOOL_AMPI_FPCollection.setAdjointCountAndTempBuf_fp=&ADTOOL_AMPI_setAdjointCountAndTempBuf; + ourADTOOL_AMPI_FPCollection.allocateTempBuf_fp=&ADTOOL_AMPI_allocateTempBuf; + ourADTOOL_AMPI_FPCollection.releaseAdjointTempBuf_fp=&ADTOOL_AMPI_releaseAdjointTempBuf; + ourADTOOL_AMPI_FPCollection.adjointMultiply_fp=&ADTOOL_AMPI_adjointMultiply; + ourADTOOL_AMPI_FPCollection.adjointMin_fp=&ADTOOL_AMPI_adjointMin; + ourADTOOL_AMPI_FPCollection.adjointMax_fp=&ADTOOL_AMPI_adjointMax; + ourADTOOL_AMPI_FPCollection.multiplyAdjoint_fp=&ADTOOL_AMPI_multiplyAdjoint; + ourADTOOL_AMPI_FPCollection.divideAdjoint_fp=&ADTOOL_AMPI_divideAdjoint; + ourADTOOL_AMPI_FPCollection.equalAdjoints_fp=&ADTOOL_AMPI_equalAdjoints; + ourADTOOL_AMPI_FPCollection.incrementAdjoint_fp=&ADTOOL_AMPI_incrementAdjoint; + ourADTOOL_AMPI_FPCollection.nullifyAdjoint_fp=&ADTOOL_AMPI_nullifyAdjoint; + ourADTOOL_AMPI_FPCollection.setupTypes_fp=&ADTOOL_AMPI_setupTypes; + ourADTOOL_AMPI_FPCollection.cleanupTypes_fp=&ADTOOL_AMPI_cleanupTypes; + ourADTOOL_AMPI_FPCollection.FW_rawType_fp=&ADTOOL_AMPI_FW_rawType; + ourADTOOL_AMPI_FPCollection.BW_rawType_fp=&ADTOOL_AMPI_BW_rawType; + ourADTOOL_AMPI_FPCollection.isActiveType_fp=&ADTOOL_AMPI_isActiveType; + ourADTOOL_AMPI_FPCollection.allocateTempActiveBuf_fp=&ADTOOL_AMPI_allocateTempActiveBuf; + ourADTOOL_AMPI_FPCollection.releaseTempActiveBuf_fp=&ADTOOL_AMPI_releaseTempActiveBuf; + ourADTOOL_AMPI_FPCollection.copyActiveBuf_fp=&ADTOOL_AMPI_copyActiveBuf; + ourADTOOL_AMPI_FPCollection.tangentMultiply_fp=&ADTOOL_AMPI_tangentMultiply ; + ourADTOOL_AMPI_FPCollection.tangentMin_fp=&ADTOOL_AMPI_tangentMin ; + ourADTOOL_AMPI_FPCollection.tangentMax_fp=&ADTOOL_AMPI_tangentMax ; + ourADTOOL_AMPI_FPCollection.pushBuffer_fp=&ADTOOL_AMPI_pushBuffer ; + ourADTOOL_AMPI_FPCollection.popBuffer_fp=&ADTOOL_AMPI_popBuffer ; + ourADTOOL_AMPI_FPCollection.addShadowComm_fp=&ADTOOL_AMPI_addShadowComm ; + ourADTOOL_AMPI_FPCollection.getShadowComm_fp=&ADTOOL_AMPI_getShadowComm ; + ourADTOOL_AMPI_FPCollection.delShadowComm_fp=&ADTOOL_AMPI_delShadowComm ; +#ifdef AMPI_FORTRANCOMPATIBLE + ourADTOOL_AMPI_FPCollection.fortransetuptypes__fp=&adtool_ampi_fortransetuptypes_; + ourADTOOL_AMPI_FPCollection.fortrancleanuptypes__fp=&adtool_ampi_fortrancleanuptypes_; +#endif + return rc ; +} + +static struct AMPI_Request_stack* requestStackTop=0 ; +void ADTOOL_AMPI_pushBcastInfo(void* buf, + int count, + MPI_Datatype datatype, + int root, + MPI_Comm comm) { +} + +void ADTOOL_AMPI_popBcastInfo(void** buf, + int* count, + MPI_Datatype* datatype, + int* root, + MPI_Comm* comm, + void **idx) { +} + +void ADTOOL_AMPI_pushDoubleArray(void* buf, + int count) { +} + +void ADTOOL_AMPI_popDoubleArray(double* buf, + int* count) { +} + +void ADTOOL_AMPI_pushReduceInfo(void* sbuf, + void* rbuf, + void* resultData, + int pushResultData, /* push resultData if true */ + int count, + MPI_Datatype datatype, + MPI_Op op, + int root, + MPI_Comm comm) { +} + +void ADTOOL_AMPI_popReduceCountAndType(int* count, + MPI_Datatype* datatype) { +} + +void ADTOOL_AMPI_popReduceInfo(void** sbuf, + void** rbuf, + void** prevData, + void** resultData, + int* count, + MPI_Op* op, + int* root, + MPI_Comm* comm, + void **idx) { +} + +extern void pushInteger4Array(int *x, int n) ; +extern void popInteger4Array(int *x, int n) ; + +void ADTOOL_AMPI_pushSRinfo(void* buf, + int count, + MPI_Datatype datatype, + int src, + int tag, + AMPI_PairedWith pairedWith, + MPI_Comm comm) { + /* [llh] TODO: this is not nice: we should call pushInteger4() instead ! */ + pushInteger4Array(&src,1) ; + pushInteger4Array(&tag,1) ; +} + +void ADTOOL_AMPI_popSRinfo(void** buf, + int* count, + MPI_Datatype* datatype, + int* src, + int* tag, + AMPI_PairedWith* pairedWith, + MPI_Comm* comm, + void **idx) { + /* [llh] TODO: this is not nice: we should call popInteger4() instead ! */ + popInteger4Array(tag,1) ; + popInteger4Array(src,1) ; +} + +void ADTOOL_AMPI_pushGSinfo(int commSizeForRootOrNull, + void *rbuf, + int rcnt, + MPI_Datatype rtype, + void *buf, + int count, + MPI_Datatype type, + int root, + MPI_Comm comm) { + pushInteger4Array(&commSizeForRootOrNull,1) ; +} + +void ADTOOL_AMPI_popGScommSizeForRootOrNull(int *commSizeForRootOrNull) { + popInteger4Array(commSizeForRootOrNull,1) ; +} + +void ADTOOL_AMPI_popGSinfo(int commSizeForRootOrNull, + void **rbuf, + int *rcnt, + MPI_Datatype *rtype, + void **buf, + int *count, + MPI_Datatype *type, + int *root, + MPI_Comm *comm) { +} + +void ADTOOL_AMPI_pushGSVinfo(int commSizeForRootOrNull, + void *rbuf, + int *rcnts, + int *displs, + MPI_Datatype rtype, + void *buf, + int count, + MPI_Datatype type, + int root, + MPI_Comm comm) { + pushInteger4Array(&commSizeForRootOrNull,1) ; +} + +void ADTOOL_AMPI_popGSVinfo(int commSizeForRootOrNull, + void **rbuf, + int *rcnts, + int *displs, + MPI_Datatype *rtype, + void **buf, + int *count, + MPI_Datatype *type, + int *root, + MPI_Comm *comm) { +} + +void ADTOOL_AMPI_push_CallCode(enum AMPI_CallCode_E thisCall) { +} + +void ADTOOL_AMPI_pop_CallCode(enum AMPI_CallCode_E *thisCall) { +} + +void ADTOOL_AMPI_push_AMPI_Request(struct AMPI_Request_S *ampiRequest) { + struct AMPI_Request_stack* newTop = + (struct AMPI_Request_stack*)malloc(sizeof(struct AMPI_Request_stack)) ; + newTop->next_p = requestStackTop ; + newTop->buf = ampiRequest->buf ; + newTop->adjointBuf = ampiRequest->adjointBuf ; + newTop->count = ampiRequest->count ; + newTop->datatype = ampiRequest->datatype ; + newTop->endPoint = ampiRequest->endPoint ; + newTop->tag = ampiRequest->tag ; + newTop->pairedWith = ampiRequest->pairedWith ; + newTop->comm = ampiRequest->comm ; + newTop->origin = ampiRequest->origin ; + requestStackTop = newTop ; +} + +void ADTOOL_AMPI_pop_AMPI_Request(struct AMPI_Request_S *ampiRequest) { + struct AMPI_Request_stack* oldTop = requestStackTop ; + ampiRequest->buf = oldTop->buf ; + ampiRequest->adjointBuf = oldTop->adjointBuf ; + ampiRequest->count = oldTop->count ; + ampiRequest->datatype = oldTop->datatype ; + ampiRequest->endPoint = oldTop->endPoint ; + ampiRequest->tag = oldTop->tag ; + ampiRequest->pairedWith = oldTop->pairedWith ; + ampiRequest->comm = oldTop->comm ; + ampiRequest->origin = oldTop->origin ; + requestStackTop = oldTop->next_p ; + free(oldTop) ; +} + +void ADTOOL_AMPI_push_request(MPI_Request request) { +} + +MPI_Request ADTOOL_AMPI_pop_request() { + return 0; +} + +void ADTOOL_AMPI_push_AMPI_WinRequest(AMPI_WinRequest *winRequest) { +} + +void ADTOOL_AMPI_pop_AMPI_WinRequest(AMPI_WinRequest *winRequest) { +} + +void ADTOOL_AMPI_push_comm(MPI_Comm comm) { +} + +MPI_Comm ADTOOL_AMPI_pop_comm() { + return 0; +} + +/** + * Register the info that the shadow communicator "dupComm" + * has been created for the new communicator "comm" + */ +void ADTOOL_AMPI_addShadowComm(MPI_Comm comm, MPI_Comm dupComm) { + struct AMPI_ShadowComm_list *newCell = + (struct AMPI_ShadowComm_list *)malloc(sizeof(struct AMPI_ShadowComm_list)) ; + newCell->next_p = ADTOOL_AMPI_SHADOWCOMM_LIST ; + newCell->comm = comm; + newCell->shadowComm = dupComm; + ADTOOL_AMPI_SHADOWCOMM_LIST = newCell; +} + +/** + * Get the shadow communicator used to separate the communication graph of + * (tangent-)diff variables from the communication graph of original variables + */ +MPI_Comm ADTOOL_AMPI_getShadowComm(MPI_Comm comm) { + struct AMPI_ShadowComm_list * inShadowCommList = ADTOOL_AMPI_SHADOWCOMM_LIST ; + while (inShadowCommList!=NULL && inShadowCommList->comm!=comm) { + inShadowCommList = inShadowCommList->next_p ; + } + if (inShadowCommList) { + return inShadowCommList->shadowComm ; + } else { + /* Nothing found about "comm": this is wrong!! fallback return comm */ + return comm ; + } +} + +/** + * Removes the info about the shadow communicator associated to "comm". + */ +void ADTOOL_AMPI_delShadowComm(MPI_Comm comm) { + struct AMPI_ShadowComm_list ** toinShadowCommList = &ADTOOL_AMPI_SHADOWCOMM_LIST ; + while (*toinShadowCommList!=NULL && (*toinShadowCommList)->comm!=comm) { + toinShadowCommList = &((*toinShadowCommList)->next_p) ; + } + if (*toinShadowCommList!=NULL) { + struct AMPI_ShadowComm_list *cell = *toinShadowCommList ; + toinShadowCommList = &(cell->next_p) ; + free(cell); + } +} + +/** Returns the non-diff part of a communication buffer + * passed to AMPI send or recv. For Tapenade, this is + * the communication buffer itself (association by name) */ +void* ADTOOL_AMPI_rawData(void* activeData, int *size) { + return activeData ; +} + +/** + * see \ref ADTOOL_AMPI_rawData + */ +void* ADTOOL_AMPI_rawDataV(void* activeData, int commSize, int *counts, int* displs) { + return activeData; +} + +/** + * returns contiguous data from indata + */ +void * ADTOOL_AMPI_packDType(void* indata, void* outdata, int count, int idx) { + return indata; +} + +/** + * unpacks contiguous data back into structure + */ +void * ADTOOL_AMPI_unpackDType(void* indata, void* outdata, int count, int idx) { + return indata; +} + +/** Returns the diff part of the adjoint of a communication buffer + * passed to AMPI send or recv. For Tapenade, this is + * the adjoint communication buffer itself (association by name) */ +void* ADTOOL_AMPI_rawAdjointData(void* activeData) { + return activeData ; +} + +/** Remembers the association from a request ampiRequest to its + * associated non-diff buffer buf */ +void ADTOOL_AMPI_mapBufForAdjoint(struct AMPI_Request_S *ampiRequest, + void* buf) { + ampiRequest->buf = buf ; + ampiRequest->adjointBuf = NULL ; +} + +/** Adds into the request-to-buffer association list the associated + * adjoint buffer adjointBuf of non-diff buffer buf + * This should be done upon turn from FW sweep to BW sweep. */ +void ADTOOL_AMPI_Turn(void* buf, void* adjointBuf) { + struct AMPI_Request_stack* inStack = requestStackTop ; + while (inStack!=NULL) { + if (inStack->buf==buf) { + inStack->adjointBuf = adjointBuf ; + } + inStack = inStack->next_p ; + } +} + +/*[llh] not used ? redundant with mapBufForAdjoint? */ +void ADTOOL_AMPI_setBufForAdjoint(struct AMPI_Request_S *ampiRequest, + void* buf) { + /* an overloading tool would not do this but rather leave the buffer as traced + because the memory mapping happens already at FW time */ + ampiRequest->buf=buf; +} + +void ADTOOL_AMPI_getAdjointCount(int *count, + MPI_Datatype datatype) { + /* for now we keep the count as is but for example in vector mode one would have to multiply by vector length */ +} + +void ADTOOL_AMPI_setAdjointCount(struct AMPI_Request_S *ampiRequest) { + ampiRequest->adjointCount=ampiRequest->count; + ADTOOL_AMPI_getAdjointCount(&(ampiRequest->adjointCount),ampiRequest->datatype); +} + +void ADTOOL_AMPI_setAdjointCountAndTempBuf(struct AMPI_Request_S *ampiRequest) { + ADTOOL_AMPI_setAdjointCount(ampiRequest); + ampiRequest->adjointTempBuf = + ADTOOL_AMPI_allocateTempBuf(ampiRequest->adjointCount, + ampiRequest->datatype, + ampiRequest->comm) ; + assert(ampiRequest->adjointTempBuf); +} + +void* ADTOOL_AMPI_allocateTempBuf(int adjointCount, MPI_Datatype datatype, MPI_Comm comm) { + size_t s=0; + int dt_idx = derivedTypeIdx(datatype); + if (datatype==MPI_DOUBLE || datatype==MPI_DOUBLE_PRECISION) + s=sizeof(double); + else if (datatype==MPI_FLOAT || datatype==MPI_REAL) + s=sizeof(float); + else if (isDerivedType(dt_idx)) + s = getDTypeData()->p_extents[dt_idx]; + else + MPI_Abort(comm, MPI_ERR_TYPE); + return (void*)malloc(adjointCount*s); +} + +void ADTOOL_AMPI_releaseAdjointTempBuf(void *tempBuf) { + free(tempBuf) ; +} + +void* ADTOOL_AMPI_allocateTempActiveBuf(int count, + MPI_Datatype datatype, + MPI_Comm comm) { +/* void* ptr = NULL; */ +/* if (datatype==MPI_DOUBLE) */ +/* ptr = malloc(count*sizeof(MPI_DOUBLE)); */ +/* else if (datatype==MPI_FLOAT) */ +/* ptr = malloc(count*sizeof(MPI_FLOAT)); */ + MPI_Aint lb, extent ; + int rc = MPI_Type_get_extent(datatype, &lb, &extent) ; + assert(rc==MPI_SUCCESS); + void* ptr = NULL ; + int size = ((char*)extent)-((char*)lb) ; + ptr = malloc(count*size) ; + assert(ptr); + return ptr; +} + +void ADTOOL_AMPI_releaseTempActiveBuf(void *buf, + int count, + MPI_Datatype datatype) { + free(buf); +} + +void *ADTOOL_AMPI_copyActiveBuf(void* source, + void* target, + int count, + MPI_Datatype datatype, + MPI_Comm comm) { + MPI_Aint lb,extent ; + int rc = MPI_Type_get_extent(datatype, &lb, &extent) ; + assert(rc==MPI_SUCCESS); + int size = extent - lb ; + memcpy(target, source, count*size) ; + return source; +} + +/** This is the tangent of assignment target=source*target. + * If targetd is NULL, does only the original assignment */ +void ADTOOL_AMPI_tangentMultiply(int count, MPI_Datatype datatype, MPI_Comm comm, + void *source, void *tangentSource, + void* target, void* tangentTarget) { + int i ; + if (datatype==MPI_DOUBLE || datatype==MPI_DOUBLE_PRECISION) { + double* tgt = (double*)target ; + double* tgtd = (double*)tangentTarget ; + double* src = (double*)source ; + double* srcd = (double*)tangentSource ; + for (i=0 ; i src[i]) { + if (tgtd) tgtd[i] = srcd[i] ; + tgt[i] = src[i] ; + } + } + } else if (datatype==MPI_FLOAT || datatype==MPI_REAL) { + float* tgt = (float*)target ; + float* tgtd = (float*)tangentTarget ; + float* src = (float*)source ; + float* srcd = (float*)tangentSource ; + for (i=0 ; i src[i]) { + if (tgtd) tgtd[i] = srcd[i] ; + tgt[i] = src[i] ; + } + } + } else + MPI_Abort(comm, MPI_ERR_TYPE); +} + +/** This is the tangent of assignment target=MAX(source,target). + * If targetd is NULL, does only the original assignment */ +void ADTOOL_AMPI_tangentMax(int count, MPI_Datatype datatype, MPI_Comm comm, + void *source, void *tangentSource, + void* target, void* tangentTarget) { + int i ; + if (datatype==MPI_DOUBLE || datatype==MPI_DOUBLE_PRECISION) { + double* tgt = (double*)target ; + double* tgtd = (double*)tangentTarget ; + double* src = (double*)source ; + double* srcd = (double*)tangentSource ; + for (i=0 ; itgt[i]) { + srcb[i] += tgtb[i] ; + tgtb[i] = 0.0 ; + } + } + } else if (datatype==MPI_FLOAT || datatype==MPI_REAL) { + float* tgt = (float*)target ; + float* tgtb = (float*)adjointTarget ; + float* src = (float*)source ; + float* srcb = (float*)adjointSource ; + for (i=0 ; itgt[i]) { + srcb[i] += tgtb[i] ; + tgtb[i] = 0.0 ; + } + } + } else + MPI_Abort(comm, MPI_ERR_TYPE); +} + +/** + * Multiply the given buffer target, which holds an adjoint, with the given source value + */ +void ADTOOL_AMPI_multiplyAdjoint(int adjointCount, MPI_Datatype datatype, MPI_Comm comm, void* target, void *source, void *idx) { + if (datatype==MPI_DOUBLE || datatype==MPI_DOUBLE_PRECISION) { + double *vb = (double *)target ; + double *nb = (double *)source ; + int i ; + for (i=0 ; iarrays_of_displacements[dt_idx] ; + int* fieldBlocklengths = dat->arrays_of_blocklengths[dt_idx] ; + MPI_Datatype* fieldTypes = dat->arrays_of_types[dt_idx] ; + int nbfields = dat->counts[dt_idx] ; + int i,j ; + for (i=0 ; iarrays_of_displacements[dt_idx] ; + int* fieldBlocklengths = dat->arrays_of_blocklengths[dt_idx] ; + MPI_Datatype* fieldTypes = dat->arrays_of_types[dt_idx] ; + int nbfields = dat->counts[dt_idx] ; + int i,j ; + for (i=0 ; ipacked_types[dt_idx]; + else return datatype; +} + +MPI_Datatype ADTOOL_AMPI_BW_rawType(MPI_Datatype datatype) { + int dt_idx = derivedTypeIdx(datatype); + if (datatype==AMPI_ADOUBLE) return MPI_DOUBLE; + else if (datatype==AMPI_AFLOAT) return MPI_FLOAT; + else if (isDerivedType(dt_idx)) return MPI_DOUBLE; + else return datatype; +} + +AMPI_Activity ADTOOL_AMPI_isActiveType(MPI_Datatype datatype) { + if (datatype==AMPI_ADOUBLE + || + datatype==AMPI_AFLOAT +#ifdef AMPI_FORTRANCOMPATIBLE + || + datatype==AMPI_ADOUBLE_PRECISION + || + datatype==AMPI_AREAL +#endif + ) return AMPI_ACTIVE; + return AMPI_PASSIVE; +} + +void *ADTOOL_AMPI_createWinMap(void *active_buf, MPI_Aint size){ + return NULL; +} + +void ADTOOL_AMPI_writeWinData(void *map, void *buf, MPI_Aint size){ +} + +MPI_Aint ADTOOL_AMPI_getWinSize(MPI_Aint size) { + return 0; +} diff --git a/tools/TAP_support/ADFirstAidKit/contextAD.sh b/tools/TAP_support/ADFirstAidKit/contextAD.sh new file mode 100755 index 0000000000..a2978b71cf --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/contextAD.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +if [ ! $# -eq 1 ] +then +echo "contextAD.sh: missing file operand" +exit 1 +fi + +TRACE=$1 + +if [ ! -f $TRACE ] +then +echo "contextAD.sh: "$TRACE": No such file " +exit 1 +fi + +INITVAR=`grep init $TRACE | sort -u | grep of | awk '{print $3}' | awk 'BEGIN{FS=","} {print $1}' ` +CONCVAR=`grep conclude $TRACE | sort -u | awk '{print $3}' | awk 'BEGIN{FS=":"} {print $1}' ` + +PERTURBED_RESULT=`grep "Condensed perturbed result" $TRACE | tail -1 | awk '{print $6}' ` +RESULT=`grep "Condensed result" $TRACE | tail -1 | awk '{print $5}' ` +TANGENT=`grep "Condensed tangent" $TRACE | tail -1 | awk '{print $4}' ` +ADJOINT=`grep "Condensed adjoint" $TRACE | tail -1 | awk '{print $4}' ` + + +echo "RESULT " $RESULT +echo "PERTURBED_RESULT" $PERTURBED_RESULT +echo "TANGENT " $TANGENT +echo "ADJOINT " $ADJOINT + +EPSILON=`grep run $TRACE | tail -1 | grep epsilon | awk 'BEGIN{FS="="} {print $3}'` + +FEP=${PERTURBED_RESULT/[eE][+]/*10^} +FEP=${FEP/[eE][-]/*10^-} +F=${RESULT/[eE][+]/*10^} +F=${F/[eE][-]/*10^-} +TGT=${TANGENT/[eE][+]/*10^} +TGT=${TGT/[eE][-]/*10^-} +ADJ=${ADJOINT/[eE][+]/*10^} +ADJ=${ADJ/[eE][-]/*10^-} + +EPS_INV=${EPSILON/[eE][-][0]/*10^} + +echo "Derivatives of " $CONCVAR " with respect to " $INITVAR +echo -n "Divided differences " +echo "(("$FEP - $F")" "*" $EPS_INV ")" | bc -l + +echo -n "Condensed tangent " +echo $TGT | bc -l + +echo -n "Condensed adjoint " +echo $ADJ | bc -l diff --git a/tools/TAP_support/ADFirstAidKit/fortranSupport.F b/tools/TAP_support/ADFirstAidKit/fortranSupport.F new file mode 100644 index 0000000000..ea8080f1a6 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/fortranSupport.F @@ -0,0 +1,31 @@ +C The following to set the AMPI_FORTRANCOMPATIBLE +C if it was placed in the configure command. +#include "ampi/userIF/libConfig.h" + +#ifdef AMPI_FORTRANCOMPATIBLE + subroutine ADTOOL_AMPI_fortranSetupTypes(adouble, areal) +#include "ampi/ampif.h" + INTEGER adouble + INTEGER areal +C for now just set this to be scalars of the matching type + AMPI_ADOUBLE_PRECISION=MPI_DOUBLE_PRECISION + adouble=AMPI_ADOUBLE_PRECISION + AMPI_AREAL=MPI_REAL + areal=AMPI_AREAL + end subroutine + + subroutine ADTOOL_AMPI_fortranCleanupTypes(adouble, areal) +#include "ampi/ampif.h" + INTEGER adouble + INTEGER areal +C for now do nothing + end subroutine + + subroutine ADTOOL_AMPI_fortranSetupBindings() +#include "ampi/ampif.h" + call ADTOOL_AMPI_sendfortranbindings( + + MPI_BOTTOM, MPI_IN_PLACE, + + MPI_STATUS_IGNORE, MPI_STATUSES_IGNORE, + + MPI_ERRCODES_IGNORE, MPI_ARGV_NULL, MPI_ARGVS_NULL) + end subroutine +#endif diff --git a/tools/TAP_support/ADFirstAidKit/testMemSizec.c b/tools/TAP_support/ADFirstAidKit/testMemSizec.c new file mode 100644 index 0000000000..b25f146197 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/testMemSizec.c @@ -0,0 +1,92 @@ +/* + * TAPENADE Automatic Differentiation Engine + * Copyright (C) 1999-2021 Inria + * See the LICENSE.md file in the project root for more information. + * + */ + +#include + +void allzero_(int *array) { + int *inArray = array ; + int i = 0 ; + while (i<1000) { + *inArray = 0 ; + inArray++ ; + i++ ; + } +} + +void allones_(int *array) { + int *inArray = array ; + int i = 0 ; + while (i<1000) { + *inArray = ~0 ; + inArray++ ; + i++ ; + } +} + +void all226s_(int *array) { + int *inArray = array ; + int i = 0 ; + while (i<1000) { + *inArray = 226 ; + inArray++ ; + i++ ; + } +} + +void displaybits_(int *array, int *n) { + int *inArray = array ; + int i = 0 ; + int mask, j, bitone ; + printf("\n") ; + while (i<*n) { + mask = (int)1 ; + j = 0 ; + while (j<32) { + if (!mask) printf("mask is zero !\n") ; + bitone = *inArray & mask ; + if (bitone) + printf("1") ; + else + printf("0") ; + mask = mask<<1 ; + j++ ; + } + printf("\n") ; + if (mask) printf("mask is not zero !\n") ; + inArray++ ; + i++ ; + } +} + +int countsetbits_(int *array0, int *array1, int *repeat, int *n) { + int nbBytes = -1; + int *inArray0 = array0 ; + int *inArray1 = array1 ; + int i = 0 ; + int mask, j, bitone0, bitone1 ; + int count = 0 ; + while (i<*n && nbBytes==-1) { + mask = (int)1 ; + j = 0 ; + while (j<32 && nbBytes==-1) { + bitone0 = *inArray0 & mask ; + bitone1 = *inArray1 & mask ; + if ((bitone0 && bitone1) || (!bitone0 && !bitone1)) { + count++ ; + } else { + /* printf(" %f bits\n",((float)count)/((float)(*repeat))) ;*/ + nbBytes = (int)((float)count)/((float)(*repeat*8)) ; + } + mask = mask<<1 ; + j++ ; + } + inArray0++ ; + inArray1++ ; + i++ ; + } + return nbBytes ; +} diff --git a/tools/TAP_support/ADFirstAidKit/testMemSizef.f b/tools/TAP_support/ADFirstAidKit/testMemSizef.f new file mode 100644 index 0000000000..01231bc504 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/testMemSizef.f @@ -0,0 +1,249 @@ +C$Id$ + program testmemsize + external countsetbits + integer countsetbits + integer i, j, ti(10), ci0(10), ci1(10) + integer*8 i8, ti8(10), ci80(10), ci81(10) + real r, tr(10), cr0(10), cr1(10) + real*4 r4, tr4(10), cr40(10), cr41(10) + real(4) rp4, trp4(10), crp40(10), crp41(10) + real*8 r8, tr8(10), cr80(10), cr81(10) + real(8) rp8, trp8(10), crp80(10), crp81(10) +c real*16 r16, tr16(10), cr160(10), cr161(10) + double precision d, td(10), cd0(10), cd1(10) + complex cx, tcx(10), ccx0(10), ccx1(10) + complex*8 cx8, tcx8(10), ccx80(10), ccx81(10) + complex(8) cxp8, tcxp8(10), ccxp80(10), ccxp81(10) + complex*16 cx16, tcx16(10), ccx160(10), ccx161(10) + double complex cxd, tcxd(10), ccxd0(10), ccxd1(10) + logical l, tl(10), cl0(10), cl1(10) + character c, tc(10), cc0(10), cc1(10) +c + integer tci0(10000) + common /cbuf0/ tci0 + equivalence (tci0(1),ci0(1)) + equivalence (tci0(1),ci80(1)) + equivalence (tci0(1),cr0(1)) + equivalence (tci0(1),cr40(1)) + equivalence (tci0(1),crp40(1)) + equivalence (tci0(1),cr80(1)) + equivalence (tci0(1),crp80(1)) +c equivalence (tci0(1),cr160(1)) + equivalence (tci0(1),cd0(1)) + equivalence (tci0(1),ccx0(1)) + equivalence (tci0(1),ccx80(1)) + equivalence (tci0(1),ccxp80(1)) + equivalence (tci0(1),ccx160(1)) + equivalence (tci0(1),ccxd0(1)) + equivalence (tci0(1),cl0(1)) + equivalence (tci0(1),cc0(1)) +c + integer tci1(10000) + common /cbuf1/ tci1 + equivalence (tci1(1),ci1(1)) + equivalence (tci1(1),ci81(1)) + equivalence (tci1(1),cr1(1)) + equivalence (tci1(1),cr41(1)) + equivalence (tci1(1),crp41(1)) + equivalence (tci1(1),cr81(1)) + equivalence (tci1(1),crp81(1)) +c equivalence (tci1(1),cr161(1)) + equivalence (tci1(1),cd1(1)) + equivalence (tci1(1),ccx1(1)) + equivalence (tci1(1),ccx81(1)) + equivalence (tci1(1),ccxp81(1)) + equivalence (tci1(1),ccx161(1)) + equivalence (tci1(1),ccxd1(1)) + equivalence (tci1(1),cl1(1)) + equivalence (tci1(1),cc1(1)) +c + integer nb +c + do i = 1,10 + ti(i) = (i-1)*i*i*i*i*i*i*i*i*i + ti8(i) = (i-1)*i*i*i*i*i*i*i*i*i + tr(i) = (i-1)*i*exp(2.0*i+0.001) + tr4(i) = (i-1)*i*exp(2.0*i+0.001) + trp4(i) = (i-1)*i*exp(2.0*i+0.001) + tr8(i) = (i-1)*i*exp(2.0*i+0.001) + trp8(i) = (i-1)*i*exp(2.0*i+0.001) +c tr16(i) = (i-1)*i*exp(2.0*i+0.001) + td(i) = (i-1)*i*exp(2.d0*i+1.d-3) + tcx(i) = cmplx(tr(i),tr(i)+12.3) + tcxp8(i) = cmplx(trp8(i),tr(i)+12.3) + tcx8(i) = cmplx(tr8(i),tr(i)+12.3) + tcx16(i) = cmplx(tr8(i),tr(i)+12.3) + tcxd(i) = cmplx(td(i),td(i)+12.3d0) + tl(i) = (((i/3)*3).eq.i) + enddo + tc(1) = 'a' + tc(2) = 'b' + tc(3) = 'c' + tc(4) = 'd' + tc(5) = 'e' + tc(6) = 'f' + tc(7) = 'g' + tc(8) = 'h' + tc(9) = 'i' + tc(10) = 'j' + + i = 12345 + i8 = 12345 + r = sqrt(12345.0) + r4 = sqrt(12345.0) + rp4 = sqrt(12345.0) + r8 = sqrt(12345.0) + rp8 = sqrt(12345.0) +c r16 = sqrt(12345.0) + d = sqrt(12345.d0) + cx = cmplx(-12.34,56.78) + cx8 = cmplx(-12.34,56.78) + cxp8 = cmplx(-12.34,56.78) + cx16 = cmplx(-12.34,56.78) + cxd = cmplx(-12.34d0,56.78d0) + l = .true. + c = 'z' +c + call allzero(tci0(1)) + call allones(tci1(1)) +c call displaybits(tci0(1), 3) +c call displaybits(tci1(1), 3) + print *, ' ' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + ci0(j) = ti(j+2) + ci1(j) = ti(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'INTEGER:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + ci80(j) = ti8(j+2) + ci81(j) = ti8(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'INTEGER*8:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + cr0(j) = tr(j+2) + cr1(j) = tr(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'REAL:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + cr40(j) = tr4(j+2) + cr41(j) = tr4(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'REAL*4:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + crp40(j) = trp4(j+2) + crp41(j) = trp4(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'REAL(4):', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + cr80(j) = tr8(j+2) + cr81(j) = tr8(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'REAL*8:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + crp80(j) = trp8(j+2) + crp81(j) = trp8(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'REAL(8):', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + cd0(j) = td(j+2) + cd1(j) = td(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'DOUBLE PRECISION:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + ccx0(j) = tcx(j+2) + ccx1(j) = tcx(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'COMPLEX:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + ccx80(j) = tcx8(j+2) + ccx81(j) = tcx8(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'COMPLEX*8:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + ccxp80(j) = tcxp8(j+2) + ccxp81(j) = tcxp8(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'COMPLEX(8):', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + ccx160(j) = tcx16(j+2) + ccx161(j) = tcx16(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'COMPLEX*16:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + ccxd0(j) = tcxd(j+2) + ccxd1(j) = tcxd(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'DOUBLE COMPLEX:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + cl0(j) = tl(j+2) + cl1(j) = tl(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'LOGICAL:', nb, ' bytes' +c + call allzero(tci0(1)) + call allones(tci1(1)) + do j=1,8 + cc0(j) = tc(j+2) + cc1(j) = tc(j+2) + enddo + nb = countsetbits(tci0(1), tci1(1), 8, 100) + print 100, 'CHARACTER:', nb, ' bytes' +c + 100 format(a18,i3,a6) + end diff --git a/tools/TAP_support/ADFirstAidKit/testpushpop.f90 b/tools/TAP_support/ADFirstAidKit/testpushpop.f90 new file mode 100644 index 0000000000..b636e44a8b --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/testpushpop.f90 @@ -0,0 +1,959 @@ +! TESTING TAPENADE PUSH/POP MECHANISM +! =========================================================== +! +! Tests randomly chosen sequences of PUSH/POP, on randomly chosen +! scalars and arrays of random types. Tests PUSH/POP sequences that +! happen during checkpointing. Tests the "repeated access" mechanism +! that is necessary for snapshot-LOOK and for Fixed-point adjoints. +! +! Does not test pointer PUSH/POP. Anyway, here we are only concerned +! with sizes, so testing on int*8 and int*4 should test just as well. +! +! This test is random: generates PUSH/POP of random sequences of variables. +! The sequence of variables corresponding to a "*" or a "(" in the +! CODE structure string depends only on the SEED and on the position of the +! symbol in the CODE string. +! The test will be identical for identical CODE string and SEED. +! +! Syntax: $> testpushpop F "*(* 3[* (*) 5[* (*)]]*) * L(*) *" 49 +! -- 1st arg is F or C to test with adBuffer.f or adBuffer.c +! -- 3rd arg is the SEED for random +! -- 2nd arg is the CODE structure string +! -- * is a plain code portion, causing PUSH and POP of a sequence of variables +! -- (CODE) is a checkpointed CODE, implying a snapshot +! -- L(CODE) is a checkpointed CODE with a bwd and a fwd snapshots +! * fwd snapshot sequence depends on the position of the "(" +! * bwd snapshot sequence depends on the position of the "L" +! -- n[CODE] tells that the bwd sweep of CODE will be accessed repeatedly n times, +! thus reading n times each pushed value. +! +! Compiling: $> gfortran testpushpop.f90 adStack.c -o testpushpop +! +! Running (see testpushpop.sh): $> testpushpop.sh | grep Error + +MODULE TESTPUSHPOPUTILS + + LOGICAL :: TRACEON = .false. + + INTEGER*4 :: ARRAYI4(5000), RECVARRAYI4(5000) + INTEGER*8 :: ARRAYI8(5000), RECVARRAYI8(5000) + REAL*4 :: ARRAYR4(5000), RECVARRAYR4(5000) + REAL*8 :: ARRAYR8(5000), RECVARRAYR8(5000) + COMPLEX*8 :: ARRAYC8(5000), RECVARRAYC8(5000) + COMPLEX*16 :: ARRAYC16(5000), RECVARRAYC16(5000) + CHARACTER(len=5000) :: ARRAYCHAR, RECVARRAYCHAR + INTEGER*4 :: FLOWDIRECTION, RECVFLOWDIRECTION + LOGICAL :: BOOLEAN, RECVBOOLEAN + + CHARACTER(len=500) :: givenCode + INTEGER :: codeLength + + INTEGER*4 :: givenSeed, seed1, seed2 + + ! proportions in % of int4,+int8,+real4,+real8,+complex8,+complex16,+characters,+bits + ! the last one, being the total of all, must be 100: + INTEGER :: trajtypes(8)=(/30,35,50,80,83,85,90,100/) + INTEGER :: snptypes(8)=(/30,35,55,90,93,95,100,100/) + INTEGER :: snpatypes(8)=(/30,35,55,90,93,95,100,100/) + INTEGER :: snpbtypes(8)=(/30,35,55,90,93,95,100,100/) + +CONTAINS + ! My pseudo-random generator. Can probably be improved! + SUBROUTINE nextrandom(seed) + INTEGER*4 :: seed + seed = MOD(seed*(1+seed), 32768) + END SUBROUTINE nextrandom + + ! Random integer between 0 and imax-1 using random seed1 : + INTEGER*4 FUNCTION drawinteger(imax) + INTEGER :: imax + CALL nextrandom(seed1) + drawinteger = MOD(seed1,imax) + END FUNCTION drawinteger + + ! returns the value of random seed1 : + INTEGER*4 FUNCTION getseed1() + getseed1 = seed1 + END FUNCTION getseed1 + + REAL*8 FUNCTION mkr8(seed,mult) + INTEGER :: seed + REAL*8 :: mult, tmp + tmp = seed*mult + if (tmp<0) tmp=-tmp + mkr8 = SQRT(tmp) + END FUNCTION mkr8 + + REAL*4 FUNCTION mkr4(seed,mult) + INTEGER :: seed + REAL*4 :: mult, tmp + tmp = seed*mult + if (tmp<0) tmp=-tmp + mkr4 = SQRT(tmp) + END FUNCTION mkr4 + + ! All "fill" functions: for each basic type, + ! (in int4, int8, real4, real8, complex8, complex16, characters, bits) + ! fills (a "length" first elements of) this type's corresponding + ! global storage variable with some pseudo-random values + ! computed with internal random var "seed2", initialized with "seed". + ! The "random" quality of these values is not very critical. + + SUBROUTINE fillboolean(seed) + INTEGER :: seed,tmp + seed2 = 2+4*seed + CALL nextrandom(seed2) + if (seed2>=0) then + tmp=seed2 + else + tmp=-seed2 + endif + BOOLEAN = (MOD(tmp,256).ge.128) !! Build a vaguely random boolean (i.e. LOGICAL) + END SUBROUTINE fillboolean + + SUBROUTINE fillcontrolNb(length, seed) + INTEGER :: length, seed, tmp + seed2 = 2+4*seed + CALL nextrandom(seed2) + if (seed2>=0) then + tmp=seed2 + else + tmp=-seed2 + endif + FLOWDIRECTION = MOD(tmp,2**length) !! Build a vaguely random INTEGER*4 coded with "length" bits + END SUBROUTINE fillcontrolNb + + SUBROUTINE fillchararray(length, seed) + INTEGER :: length, seed, i, tmp + seed2 = 2+4*seed + do i=1,length + CALL nextrandom(seed2) + if (seed2>=0) then + tmp=seed2 + else + tmp=-seed2 + endif + ARRAYCHAR(i:i) = CHAR(33+MOD(tmp,94)) !! Build a vaguely random CHARACTER between ascii 33 and 126 + end do + END SUBROUTINE fillchararray + + SUBROUTINE fillc8array(length, seed) + INTEGER :: length, seed, i + REAL*8 :: rpart, ipart + seed2 = 2+4*seed + do i=1,length + CALL nextrandom(seed2) + rpart = mkr4(seed2,1.2_4) !! Build a vaguely random REAL*4 + CALL nextrandom(seed2) + ipart = mkr4(seed2,1.2_4) !! Build a vaguely random REAL*4 + ARRAYC8(i) = CMPLX(rpart,ipart,8) + end do + END SUBROUTINE fillc8array + + SUBROUTINE fillc16array(length, seed) + INTEGER :: length, seed, i + REAL*8 :: rpart, ipart + seed2 = 2+4*seed + do i=1,length + CALL nextrandom(seed2) + rpart = mkr8(seed2,1.2_8) !! Build a vaguely random REAL*8 + CALL nextrandom(seed2) + ipart = mkr8(seed2,1.2_8) !! Build a vaguely random REAL*8 + ARRAYC16(i) = CMPLX(rpart,ipart,16) + end do + END SUBROUTINE fillc16array + + SUBROUTINE filli4array(length, seed) + INTEGER :: length, seed, i + seed2 = 2+4*seed + do i=1,length + CALL nextrandom(seed2) + ARRAYI4(i) = seed2 !! Build a vaguely random INTEGER*4 + end do + END SUBROUTINE filli4array + + SUBROUTINE filli8array(length, seed) + INTEGER :: length, seed, tmo + seed2 = 2+4*seed + do i=1,length + CALL nextrandom(seed2) + if (seed2>=0) then + tmp=seed2 + else + tmp=-seed2 + endif + ARRAYI8(i) = seed2*tmp !! Build a vaguely random INTEGER*8 + end do + END SUBROUTINE filli8array + + SUBROUTINE fillr4array(length, seed) + INTEGER :: length, seed, i + seed2 = 2+4*seed + do i=1,length + CALL nextrandom(seed2) + ARRAYR4(i) = mkr4(seed2,1.2_4) !! Build a vaguely random REAL*4 + end do + END SUBROUTINE fillr4array + + SUBROUTINE fillr8array(length, seed) + INTEGER :: length, seed, i + seed2 = 2+4*seed + do i=1,length + CALL nextrandom(seed2) + ARRAYR8(i) = mkr8(seed2,1.1_8) !! Build a vaguely random REAL*8 + end do + END SUBROUTINE fillr8array + +END MODULE TESTPUSHPOPUTILS + +PROGRAM testpushpop + USE TESTPUSHPOPUTILS + IMPLICIT NONE + INTEGER :: indexopen, indexclose + CHARACTER(len=1) :: traceOnString + CHARACTER(len=10) :: seedstring + IF (iargc().ne.3) THEN + print *,"Usage: testpushpop """" " + ELSE + CALL get_command_argument(1,traceOnString) + CALL get_command_argument(2,givenCode,codeLength) + CALL get_command_argument(3,seedstring) + READ (seedstring,'(I10)') givenSeed + TRACEON = (traceOnString.eq.'T').or.(traceOnString.eq.'t').or.(traceOnString.eq.'1') + WRITE(6,991) givenSeed,givenCode(1:codeLength) + CALL runsweep(givenCode(1:codeLength), 0, 1) + !CALL EMITSHOWSTACK("middle"//CHAR(0)) !!Trace + CALL runsweep(givenCode(1:codeLength), 0, -1) + END IF + 991 FORMAT('seed=',i4,' code=',a) +END PROGRAM testpushpop + +SUBROUTINE getparenthindices(code,indexopen,indexclose) + USE TESTPUSHPOPUTILS + IMPLICIT NONE + CHARACTER(len=*) :: code + INTEGER indexopen, indexclose + INTEGER index, length, depth + + length = LEN(code) + index = 1 +! Advance to the open parenth or square bracket: + do while(index.le.length.and.code(index:index).ne.'('.and.code(index:index).ne.'[') + index = index+1 + enddo + indexopen = index + index = index+1 + depth = 1 +! Find the corresponding closing parenth or square bracket or the end of string: + do while(index.le.length.and.(depth.ne.1.or.(code(index:index).ne.')'.and.code(index:index).ne.']'))) + if (code(index:index).eq.'('.or.code(index:index).eq.'[') then + depth = depth+1 + else if (code(index:index).eq.')'.or.code(index:index).eq.']') then + depth = depth-1 + end if + index = index+1 + enddo + if (index.eq.length+1.and.depth.ne.0) then + print *,'Missing closing in CodeStructure' + end if + indexclose = index +END SUBROUTINE getparenthindices + +RECURSIVE SUBROUTINE runsweep(code, globaloffset, direction) + USE TESTPUSHPOPUTILS + IMPLICIT NONE + CHARACTER(len=*) code + INTEGER globaloffset, totaloffset, direction + INTEGER index, length, repeat + INTEGER indexopen, indexclose + INTEGER ii + !print *,' runsweep on ',code,' offset:',globaloffset + repeat = -1 + index = 1 + length = LEN(code) +! Skip white spaces: + do while(index.le.length.and.(code(index:index).eq.' '.or.code(index:index).eq.' ')) + index = index+1 + enddo + totaloffset = globaloffset+index + +! The next token is either '(' or 'endOfString' or [1..9] or '*' or 'L' + if (index.gt.length) then +! do nothing and return. + +! CHECKPOINT WITH LOOK SNAPSHOT MECHANISM: + else if (code(index:index).eq.'L') then + CALL getparenthindices(code(index+1:),indexopen,indexclose) + if (direction.eq.1) then + CALL emitpushpopsequence(totaloffset, 10, snpatypes, 60, 1,'TAKE SNP A at',2) + CALL emitpushpopsequence(totaloffset+indexopen, 10, snpbtypes, 70, 1,'TAKE SNP B at',2) + end if + CALL runsweep(code(index+indexclose+1:), totaloffset+indexclose, direction) + if (direction.eq.-1) then + CALL emitpushpopsequence(totaloffset+indexopen, 10, snpbtypes, 70, -1,' POP SNP B at',-2) + CALL emitstartrepeat() + CALL emitpushpopsequence(totaloffset, 10, snpatypes, 60, -1,'LOOK SNP A at',-3) + CALL emitresetrepeat() + CALL emitendrepeat() + CALL runsweep(code(index+indexopen+1:index+indexclose-1), totaloffset+indexopen, 1) + CALL runsweep(code(index+indexopen+1:index+indexclose-1), totaloffset+indexopen, -1) + CALL emitpushpopsequence(totaloffset, 10, snpatypes, 60, -1,' POP SNP A at',-2) + end if + +! CHECKPOINT WITH PLAIN PUSH-POP SNAPSHOT: + else if (code(index:index).eq.'(') then + CALL getparenthindices(code(index:),indexopen,indexclose) + if (direction.eq.1) then + CALL emitpushpopsequence(totaloffset, 20, snptypes, 70, 1,'TAKE SNP at',2) + end if + CALL runsweep(code(index-1+indexclose+1:), totaloffset-1+indexclose, direction) + if (direction.eq.-1) then + CALL emitpushpopsequence(totaloffset, 20, snptypes, 70, -1,' POP SNP at',-2) + CALL runsweep(code(index-1+indexopen+1:index-1+indexclose-1), totaloffset-1+indexopen, 1) + CALL runsweep(code(index-1+indexopen+1:index-1+indexclose-1), totaloffset-1+indexopen, -1) + end if + +! PLAIN CODE: + else if (code(index:index).eq.'*') then + if (direction.eq.1) then + CALL emitpushpopsequence(totaloffset, 80, trajtypes, 25, 1,'PUSHes part',1) + end if + CALL runsweep(code(index+1:), totaloffset, direction) + if (direction.eq.-1) then + CALL emitpushpopsequence(totaloffset, 80, trajtypes, 25, -1,' POPs part',-1) + end if + +! CODE WITH ONE PUSH AND REPEATED POPS (e.g. FIXED-POINT ADJOINT): + else if (code(index:index).gt.'0'.and.code(index:index).le.'9') then + READ (code(index:index),'(I1)') repeat + CALL getparenthindices(code(index+1:),indexopen,indexclose) + if (direction.eq.1) then + CALL runsweep(code(index-1+indexopen+2:index+indexclose-1), totaloffset+indexopen, 1) + endif + CALL runsweep(code(index+indexclose+1:), totaloffset+indexclose, direction) + if (direction.eq.-1) then + CALL emitstartrepeat() + DO ii=1,repeat + CALL runsweep(code(index-1+indexopen+2:index+indexclose-1), totaloffset+indexopen, -1) + if (ii.ne.repeat) then + CALL emitresetrepeat() + else + CALL emitendrepeat() + endif + ENDDO + end if + + else + print *,'Unexpected CodeStructure substring:',code(index:) + end if +END SUBROUTINE runsweep + +! index is the index in the code string of the "*" that stands +! for this pushpop sequence. Index is used as the random seed. +! ppmax is the max number of push'es or pop's in sequence +! proportiontypes is the array of proportions in % of +! (int4,+int8,+real4,+real8,+complex8,+complex16,+characters,+bits) +! the last one, being the total of all, must be 100. +! action is 1 for PUSH and -1 for POP +SUBROUTINE emitpushpopsequence(index, ppmax, proportiontypes, proportionarrays, action, msg, op) + USE TESTPUSHPOPUTILS + IMPLICIT NONE + INTEGER :: index, ppmax, proportiontypes(8), proportionarrays, action, op + CHARACTER(*) :: msg + INTEGER :: number, sort, isarray, arraylen, i + INTEGER :: sorts(200), sizes(200), seeds(200) + INTEGER :: iterfrom, iterto, iterstride + ! initialize random seed1 using only index & givenSeed + seed1 = 2+4*index*(givenSeed+index) + number = drawinteger(ppmax) + DO i=1,number + sort = drawinteger(100) + if (sort ',LOCSTRB(),LOCSTRO() +END SUBROUTINE emitresetrepeat + +SUBROUTINE emitendrepeat() + USE TESTPUSHPOPUTILS + INTEGER*4 LOCSTRB,LOCSTRO + IF (TRACEON) print *,'adStack_endRepeat() AT ',LOCSTRB(),LOCSTRO() + CALL ADSTACK_ENDREPEAT() +END SUBROUTINE emitendrepeat + +!! Only for Trace: +SUBROUTINE emitshowstacksize() + USE TESTPUSHPOPUTILS + CALL ADSTACK_SHOWSTACKSIZE() +END SUBROUTINE emitshowstacksize + +SUBROUTINE emitshowstack(locationName) + USE TESTPUSHPOPUTILS + CHARACTER(*) locationName + CALL ADSTACK_SHOWSTACK(locationName) +END SUBROUTINE emitshowstack diff --git a/tools/TAP_support/ADFirstAidKit/testpushpop.sh b/tools/TAP_support/ADFirstAidKit/testpushpop.sh new file mode 100755 index 0000000000..5fd60720cf --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/testpushpop.sh @@ -0,0 +1,19 @@ +for i in {1..99} + do + testpushpop 0 "*" $i + testpushpop 0 "3[* *]" $i + testpushpop 0 "* 2[* 2[*] *]" $i + testpushpop 0 "* * (* *) * *" $i + testpushpop 0 "* * 2[* * * *] * *" $i + testpushpop 0 "* * 2[* * (* * * *) *] * *" $i + testpushpop 0 "* * 2[* * 3[*] *] * *" $i + testpushpop 0 "* * 2[* (* 3[*] *) * (3[((*)*)*]) * * *] *" $i + testpushpop 0 "* (*) * L(* *) *" $i + testpushpop 0 "* L(* (* L((*) *) *) *) *" $i + testpushpop 0 "* 3[* L(* *) *] *" $i + testpushpop 0 "* (* 2[* 3[* L(* *) *] *] *) (*) *" $i + testpushpop 0 "* 3[2[(*) *] (* *) *] *" $i + testpushpop 0 "* 3[(* *) * 2[(*) *]] *" $i + testpushpop 0 "* (((*) *) * (* (*))) *" $i + testpushpop 0 "* (2[((*) *)] 3[* (* (*))]) *" $i +done diff --git a/tools/TAP_support/ADFirstAidKit/validityTest.f b/tools/TAP_support/ADFirstAidKit/validityTest.f new file mode 100755 index 0000000000..ddce486588 --- /dev/null +++ b/tools/TAP_support/ADFirstAidKit/validityTest.f @@ -0,0 +1,71 @@ +c$Id$ + BLOCK DATA validityTestBD +C Keeps the current bounds of the validity interval +C Initial value is ]-infinity, +infinity[ + REAL gmin, gmax + LOGICAL infmin, infmax + COMMON /validity_test_common/ + + gmin, gmax, infmin, infmax + DATA infmin/.TRUE./ + DATA infmax/.TRUE./ + DATA gmin/-999.99/ + DATA gmax/999.99/ + END + + SUBROUTINE validity_domain_real8(t, td) +C Updates the bounds of the validity interval +C with the new constraint that t keeps its sign. + real*8 t, td + real gmin, gmax, temp + logical infmin, infmax + COMMON /validity_test_common/ + + gmin, gmax, infmin, infmax + + if(td .ne. 0.0) then + temp = -(t/td) + if ( temp .lt. 0.0 ) then + if ( infmin ) then + gmin = temp + infmin = .FALSE. + else + gmin = max(gmin,temp) + endif + else + if ( infmax ) then + gmax = temp + infmax = .FALSE. + else + gmax = min(gmax,temp) + endif + endif + endif + end + + SUBROUTINE validity_domain_real4(t, td) +C Updates the bounds of the validity interval +C with the new constraint that t keeps its sign. + real*4 t, td + real gmin, gmax, temp + logical infmin, infmax + COMMON /validity_test_common/ + + gmin, gmax, infmin, infmax + + if(td .ne. 0.0) then + temp = -(t/td) + if ( temp .lt. 0.0 ) then + if ( infmin ) then + gmin = temp + infmin = .FALSE. + else + gmin = max(gmin,temp) + endif + else + if ( infmax ) then + gmax = temp + infmax = .FALSE. + else + gmax = min(gmax,temp) + endif + endif + endif + end diff --git a/tools/TAP_support/diffsizes.F90 b/tools/TAP_support/diffsizes.F90 new file mode 100644 index 0000000000..4325af1b16 --- /dev/null +++ b/tools/TAP_support/diffsizes.F90 @@ -0,0 +1,5 @@ +! A necessary module for TAPENADE +MODULE DIFFSIZES + Implicit None + integer, parameter :: nbdirsmax=16 +END MODULE DIFFSIZES diff --git a/tools/TAP_support/flow_tap b/tools/TAP_support/flow_tap new file mode 100644 index 0000000000..2dffef8ddd --- /dev/null +++ b/tools/TAP_support/flow_tap @@ -0,0 +1,1103 @@ +subroutine get_environment_variable: +intrinsic: +shape: (param 1, param 2, param 3, param 4) +type: (arrayType(character(),dimColons(dimColon(none(),none()))), arrayType(character(),dimColons(dimColon(none(),none()))), integer(), boolean()) +ReadNotWritten: (1, 0, 1, 1) +ReadThenWritten: (0, 0, 0, 0) +NotReadThenWritten: (0, 1, 0, 0) +deps: (id, + 1, 0, 1, 1 + id, + id) + +function modulo: +intrinsic: +shape: (param 1, param 2, result) +type: (float(), float(), float()) +ReadNotWritten: (1, 1, 0) +ReadThenWritten: (0, 0, 0) +NotReadThenWritten: (0, 0, 1) + +function ceiling: +intrinsic: +shape: (param 1, result) +type: (float(), integer()) +ReadNotWritten: (1, 0) +ReadThenWritten: (0, 0) +NotReadThenWritten: (0, 1) + +function floor: +intrinsic: +shape: (param 1, result) +type: (float(), integer()) +ReadNotWritten: (1, 0) +ReadThenWritten: (0, 0) +NotReadThenWritten: (0, 1) + +function erf: +intrinsic: +shape: (param 1, result) +type: (float(), float()) +ReadNotWritten: (1, 0) +ReadThenWritten: (0, 0) +NotReadThenWritten: (0, 1) + +function real: +intrinsic: +shape: (param 1, param 2, result) +type: (float(), integer(), float()) +type: (arrayType(float(),dimColons(dimColon(none(),none()))), integer(), arrayType(float(),dimColons(dimColon(none(),none())))) +ReadNotWritten: (1, 1, 0) +ReadThenWritten: (0, 0, 0) +NotReadThenWritten: (0, 0, 1) + +subroutine system: +intrinsic: +shape: (param 1) +type: (character()) +ReadNotWritten: (1) +ReadThenWritten: (0) +NotReadThenWritten: (0) +deps: (id) + +subroutine flush: +intrinsic +shape: (param 1) +type: (integer()) +ReadNotWritten: (1) +ReadThenWritten: (0) +NotReadThenWritten: (0) + +subroutine getenv: +intrinsic +shape(param 1, param 2) +type: (character(), character()) +ReadNotWritten: (1,0) +ReadThenWritten: (0,0) +NotReadThenWritten: (0,1) + +subroutine fdate: +intrinsic +shape() +type: () +ReadNotWritten: () +ReadThenWritten: () +NotReadThenWritten: () +subroutine cg2d: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + ReadNotWritten: (1,0,0,0,0,0,0,1) + NotReadThenWritten: (0,0,1,1,1,0,0,0) + ReadThenWritten: (0,1,0,0,0,1,1,0) + +subroutine mds_read_field: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,0,0,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,1,1,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0) + +subroutine active_read_xy: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0) + ReadNotWritten: (1,0,1,1,1,1,1,1) + NotReadThenWritten: (0,1,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0) + +subroutine active_write_xy: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6) + type: (none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,1) + ReadThenWritten: (0,0,0,0,0,1) + +subroutine active_read_xyz: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0) + ReadNotWritten: (1,0,1,1,1,1,1,1) + NotReadThenWritten: (0,1,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0) + +subroutine active_write_gen_rs: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,1) + ReadThenWritten: (0,0,0,0,0,0,0,0,1) + +subroutine ifnblnk: + external: + shape: (param 1) + type: (none()) + NotReadNotWritten: (0) + ReadNotWritten: (1) + NotReadThenWritten: (0) + ReadThenWritten: (0) + +function ifnblnk: + external: + shape: (param 1, result) + type: (arrayType(character(), dimColons(dimColon(none(), none()))), integer()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,0) + NotReadThenWritten: (0,1) + ReadThenWritten: (0,0) + +function ilnblnk: + external: + shape: (param 1, result) + type: (arrayType(character(), dimColons(dimColon(none(), none()))), integer()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,0) + NotReadThenWritten: (0,1) + ReadThenWritten: (0,0) + +subroutine print_message: + external: + shape: (param 1, param 2, param 3, param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine print_error: + external: + shape: (param 1,param 2) + type: (none(), none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine mon_printstats_rs: + external: + shape: (param 1,param 2,param 3,param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine mon_calc_advcfl_tile: + external: + shape: (param 1,param 2,param 3,param 4,param 5,param 6, param 7,param 8, param 9, param 10) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0,0) + +subroutine mon_calc_advcfl_glob: + external: + shape: (param 1,param 2,param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine ctrl_bound_3d: + external: + shape: (param 1, param 2, param 3, param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine ctrl_bound_2d: + external: + shape: (param 1, param 2, param 3, param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine mds_facef_read_rs: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,1,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mdsreadfield: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,0,1,1) + NotReadThenWritten: (0,0,0,0,1,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mdswritefield: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0) + +subroutine mds_write_field: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11, param 12, param 13) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0,0) + +subroutine mds_read_sec_xz: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,0,0,1,1) + NotReadThenWritten: (0,0,0,0,0,1,1,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0) + +subroutine mds_read_sec_yz: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,0,0,1,1) + NotReadThenWritten: (0,0,0,0,0,1,1,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0) + +subroutine write_fld_xy_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine write_fld_xyz_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine exch0_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0) + +subroutine fill_halo_local_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11, param 12) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0,0,0) + +subroutine exch1_rs_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0,0) + +subroutine exch1_rl_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0,0) + +subroutine exch1_rs: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0) + +subroutine exch1_uv_rs_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11,param 12) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,0,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,1,0,0,0,0,0,0,0,0,0,0) + + +subroutine exch1_uv_rl_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11,param 12) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,0,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,1,0,0,0,0,0,0,0,0,0,0) + + +subroutine exch1_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0) + +subroutine global_max_r8: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (0,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (1,0) + +subroutine debug_leave: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine debug_msg: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine debug_enter: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + + +subroutine debug_stats_rl: + external: + shape: (param 1,param 2,param 3,param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine debug_cs_corner_uv: + external: + shape: (param 1,param 2,param 3,param 4,param 5,param 6,param 7,param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0) + +subroutine read_mflds_set: + external: + shape: (param 1,param 2,param 3,param 4,param 5,param 6) + type: (none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0) + ReadNotWritten: (1,0,0,1,1,1) + NotReadThenWritten: (0,1,1,0,0,0) + ReadThenWritten: (0,0,0,0,0,0) + + +subroutine read_mflds_check: + external: + shape: (param 1,param 2,param 3,param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (0,0,1,1) + NotReadThenWritten: (1,0,0,0) + ReadThenWritten: (0,1,0,0) + + +subroutine read_mflds_3d_rl: + external: + shape: (param 1,param 2,param 3,param 4,param 5,param 6,param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,0,0,1,1,1,1) + NotReadThenWritten: (0,1,0,0,0,0,0) + ReadThenWritten: (0,0,1,0,0,0,0) + +subroutine read_mflds_lev_rs: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,0,1,1,1,1,1,1,1) + NotReadThenWritten: (0,1,1,0,0,0,0,0,0) + ReadThenWritten: (0,0,1,0,0,0,0,0,0) + +subroutine do_the_model_io: + external: + shape: (param 1,param 2,param 3,param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine plot_field_xyzrl: + external: + shape: (param 1,param 2,param 3,param 4,param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + + +subroutine do_write_pickup: + external: + shape: (param 1,param 2,param 3,param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + + +subroutine do_statevars_tave: + external: + shape: (param 1,param 2,param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine write_glvec_rs: + external: + shape: (param 1,param 2,param 3,param 4,param 5,param 6) + type: (none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0) + +subroutine write_fld_xy_rs: + external: + shape: (param 1,param 2,param 3,param 4,param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine write_local_rl: + external: + shape: (param 1,param 2,param 3,param 4,param 5,param 6,param 7,param 8,param 9) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0) + +subroutine global_sum_tile_rl: + external: + shape: (param 1 ,param 2,param 3) + type: (none(), none(), none() ) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,0,1) + NotReadThenWritten: (0,1,0) + ReadThenWritten: (0,0,0) + +subroutine turnoff_model_io: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine mon_set_pref: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine global_sum_r8: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (0,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (1,0) + +subroutine bar_check: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine barrier: + external: + shape: (param 1) + type: (none()) + NotReadNotWritten: (0) + ReadNotWritten: (1) + NotReadThenWritten: (0) + ReadThenWritten: (0) + +subroutine all_proc_die: + external: + shape: (param 1) + type: (none()) + NotReadNotWritten: (0) + ReadNotWritten: (1) + NotReadThenWritten: (0) + ReadThenWritten: (0) + +subroutine diagnostics_switch_onoff: + external: + shape: (param 1,param 2,param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine check_pickup: + external: + shape: (param 1,param 2,param 3,param 4,param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine autodiff_inadmode_unset: + external: + shape: (param 1) + type: (none()) + NotReadNotWritten: (0) + ReadNotWritten: (1) + NotReadThenWritten: (0) + ReadThenWritten: (0) + +subroutine autodiff_inadmode_set: + external: + shape: (param 1) + type: (none()) + NotReadNotWritten: (0) + ReadNotWritten: (1) + NotReadThenWritten: (0) + ReadThenWritten: (0) + +subroutine timer_start: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine timer_stop: + external: + shape: (param 1,param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine calc_oce_mxlayer: + external: + shape: (param 1,param 2,param 3,param 4,param 5,param 6,param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine monitor: + external: + shape: (param 1,param 2,param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine exch_z_3d_rs: + external: + shape: (param 1,param 2,param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (0,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (1,0,0) + +subroutine rw_get_suffix: + external: + shape: (param 1, param 2, param 3, param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (0,1,1,1) + NotReadThenWritten: (1,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine do_statevars_diags: + external: + shape: (param 1, param 2, param 3, param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine diagnostics_count: + external: + shape: (param 1, param 2, param 3, param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine streamice_dump: + external: + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine diags_oceanic_surf_flux: + external: + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine diagnostics_init_varia: + external: + shape: (param 1) + type: (none()) + NotReadNotWritten: (0) + ReadNotWritten: (1) + NotReadThenWritten: (0) + ReadThenWritten: (0) + +subroutine debug_call: + external: + shape: (param 1, param 2) + type: (none(), none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine print_message: + external: + shape: (param 1, param 2, param 3, param 4) + type: (arrayType(character(), dimColons(dimColon(none(), none()))), integer(), arrayType(character(), dimColons(dimColon(none(), none()))), integer()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine mds_read_field: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11) + type:(arrayType(character(), dimColons(dimColon(none(), none()))), + integer(), boolean(), arrayType(character(), dimColons(dimColon(none(), none()))), + integer(), integer(), integer(), + arrayType(float(), dimColons(dimColon(none(), none()))), + arrayType(float(), dimColons()), + integer(), integer()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,0,0,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,1,1,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0) + +subroutine diagnostics_fill: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0) + +subroutine diagnostics_scale_fill: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0,0) + +subroutine plot_field_xyrs: + external: + shape: (param 1, param 2, param 3, param 4) + type: (none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0) + ReadNotWritten: (1,1,1,1) + NotReadThenWritten: (0,0,0,0) + ReadThenWritten: (0,0,0,0) + +subroutine read_glvec_rs: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6) + type: (none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0) + ReadNotWritten: (1,1,0,1,1,1) + NotReadThenWritten: (0,0,1,0,0,0) + ReadThenWritten: (0,0,0,0,0,0) + +subroutine read_glvec_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6) + type: (none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0) + ReadNotWritten: (1,1,0,1,1,1) + NotReadThenWritten: (0,0,1,0,0,0) + ReadThenWritten: (0,0,0,0,0,0) + +subroutine exf_weight_sfx_diags: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine diagnostics_fill_rs: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0) + +subroutine dummy_for_etan: + external + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine dummy_in_stepping: + external + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine diagnostics_fract_fill: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0) + +subroutine exch2_rs1_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11, param 12) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0,0,0) + +subroutine exch2_rl1_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11, param 12) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,1,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,0,0,0,0,0,0,0,0,0,0,0) + +subroutine exch2_rl2_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11, param 12, param 13) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,0,1,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,1,0,0,0,0,0,0,0,0,0,0,0) + +subroutine exch2_rs2_cube: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8, param 9, param 10, param 11, param 12, param 13) + type: (none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0,0,0,0,0,0) + ReadNotWritten: (0,0,1,1,1,1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0,0,0,0,0,0) + ReadThenWritten: (1,1,0,0,0,0,0,0,0,0,0,0,0) + +subroutine write_rec_3d_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine write_rec_xyz_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine write_rec_xy_rl: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine bling_read_pickup: + external: + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (0,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (1,0,0) + +subroutine bling_min_val: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine mnc_update_time: + external: + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine mnc_cw_set_udim: + external: + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine mnc_update_time: + external: + shape: (param 1, param 2, param 3) + type: (none(),none(),none()) + NotReadNotWritten: (0,0,0) + ReadNotWritten: (1,1,1) + NotReadThenWritten: (0,0,0) + ReadThenWritten: (0,0,0) + +subroutine mnc_cw_i_w_s: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mnc_cw_rl_w_s: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mnc_cw_rs_w_s: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mnc_cw_rl_w: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mnc_cw_rs_w: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mnc_cw_rl_r: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mnc_cw_rs_r: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7) + type: (none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0) + +subroutine mnc_cw_rl_w_offset: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0) + +subroutine mnc_cw_rs_w_offset: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6, param 7, param 8) + type: (none(),none(),none(),none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0,0,0) + +subroutine mnc_cw_add_vattr_text: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine mnc_cw_add_vname: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine mnc_cw_citer_setg: + external: + shape: (param 1, param 2, param 3, param 4, param 5) + type: (none(),none(),none(),none(),none()) + NotReadNotWritten: (0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0) + +subroutine mnc_cw_set_citer: + external: + shape: (param 1, param 2, param 3, param 4, param 5, param 6) + type: (none(),none(),none(),none(),none(), none()) + NotReadNotWritten: (0,0,0,0,0,0) + ReadNotWritten: (1,1,1,1,1,1) + NotReadThenWritten: (0,0,0,0,0,0) + ReadThenWritten: (0,0,0,0,0,0) + +subroutine mnc_cw_del_gname: + external: + shape: (param 1, param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine mnc_cw_del_vname: + external: + shape: (param 1, param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) + +subroutine mnc_file_close_all_matching: + external: + shape: (param 1, param 2) + type: (none(),none()) + NotReadNotWritten: (0,0) + ReadNotWritten: (1,1) + NotReadThenWritten: (0,0) + ReadThenWritten: (0,0) diff --git a/tools/adjoint_options/adjoint_tap b/tools/adjoint_options/adjoint_tap new file mode 100644 index 0000000000..eb1e3d0321 --- /dev/null +++ b/tools/adjoint_options/adjoint_tap @@ -0,0 +1,8 @@ +#!/bin/bash +# +# + +# This file contains settings for TAPENADE + +DEFINES="$DEFINES -DDEFAULT_R8" + diff --git a/tools/ci/runtr.sh b/tools/ci/runtr.sh index eea4f03fa5..5b1fb06b85 100755 --- a/tools/ci/runtr.sh +++ b/tools/ci/runtr.sh @@ -10,7 +10,7 @@ # if [ -z "${MITGCM_TROPT}" ]; then - export MITGCM_TROPT='-devel -of=../tools/build_options/linux_amd64_gfortran -match 14 -pass' + export MITGCM_TROPT='-devel -of=../tools/build_options/linux_amd64_gfortran -match 14' fi if [ -z "${MITGCM_DECMD}" ]; then export MITGCM_DECMD='docker exec -i ubuntu_18_04-testreport bash -c' @@ -19,4 +19,4 @@ if [ -z "${MITGCM_INPUT_DIR_PAT}" ]; then export MITGCM_INPUT_DIR_PAT='/input.*' fi -${MITGCM_DECMD} "cd /MITgcm/verification; ./testreport -t ${MITGCM_EXP} ${MITGCM_TROPT}" +${MITGCM_DECMD} "cd /MITgcm/verification; ./testreport -pass -t ${MITGCM_EXP} ${MITGCM_TROPT}" diff --git a/tools/genmake2 b/tools/genmake2 index a262cd7599..5a54f587d3 100755 --- a/tools/genmake2 +++ b/tools/genmake2 @@ -17,6 +17,9 @@ Usage: "$0" [OPTIONS] -help | --help | -h | --h Print this help message and exit. + -tap | --tap + Generate a Makefile for a Tapenade build + -oad | --oad Generate a Makefile for an OpenAD built @@ -1417,6 +1420,8 @@ FS= FS90= AUTODIFF_PKG_USED=f +TAPENADE= +TAPENADECMD=tapenade OPENAD= AD_OPTFILE= CAT_SRC_FOR_TAF=1 @@ -1449,7 +1454,7 @@ gm_s7="TMP THISHOST THISUSER THISDATE THISVER MACHINE FC_CHECK FC_NAMEMANGLE" gm_s8="HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME HAVE_LAPACK HAVE_FLUSH" # The following are all related to adjoint/tangent-linear stuff -gm_s10="AUTODIFF_PKG_USED AD_OPTFILE OPENAD TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS" +gm_s10="AUTODIFF_PKG_USED AD_OPTFILE TAPENADE TAPENADECMD OPENAD TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS" gm_s11="FTL_TAMC_FLAGS FTL_TAF_FLAGS SVD_TAMC_FLAGS SVD_TAF_FLAGS" gm_s12="TAF_EXTRA TAMC_EXTRA DIVA MPIINCLUDEDIR MPI_HEADER_FILES" @@ -1511,6 +1516,9 @@ for ac_option in "$@" ; do -optfile=* | --optfile=* | -of=* | --of=*) OPTFILE=$ac_optarg ;; + -tap | --tap) + TAPENADE="true" ; ALWAYS_USE_F90=1 ;; + -oad | --oad) OPENAD="true" ; ALWAYS_USE_F90=1 ;; -oadsingularity | --oadsingularity | -oadsngl | --oadsngl) @@ -1793,10 +1801,12 @@ echo " getting AD_OPTFILE information:" if test "x${AD_OPTFILE}" = x ; then if test "x$MITGCM_AD_OF" != x ; then AD_OPTFILE=$MITGCM_AD_OF - elif test "x$OPENAD" = x ; then - AD_OPTFILE=$ROOTDIR/tools/adjoint_options/adjoint_default - else + elif test "x$TAPENADE" != x ; then + AD_OPTFILE=$ROOTDIR/tools/adjoint_options/adjoint_tap + elif test "x$OPENAD" != x ; then AD_OPTFILE=$ROOTDIR/tools/adjoint_options/adjoint_oad + else + AD_OPTFILE=$ROOTDIR/tools/adjoint_options/adjoint_default fi fi if test "x${AD_OPTFILE}" != xNONE ; then @@ -2526,6 +2536,23 @@ EOF fi fi +# Make sure the tapenade package is enabled if using TAPENADE +if test "x$TAPENADE" != x ; then + echo " $PACKAGES " | grep ' tapenade ' > /dev/null 2>&1 + RETVAL=$? + if test "x$RETVAL" != x0 ; then + cat < /dev/null 2>&1 @@ -2832,6 +2859,48 @@ if test ! -r "$TMP.links/foo" ; then fi rm -f $TMP.links/foo +if test "x$TAPENADE" != x ; then + TAP_DONT_COMPILE="/dev/null" + TAP_DONT_TRANSFORM="/dev/null" + TAP_KEEP_ORIGINAL="/dev/null" + TAP_CB2M_FILES="/dev/null" + TAPTOOLS="$TOOLSDIR/TAP_support" + TAPTOOLSMK='$(TOOLSDIR)/TAP_support' + echo " looking for dontCompile file: " + for i in "." $MODS $TAPTOOLS ; do + if test -r $i"/dontCompile" ; then + TAP_DONT_COMPILE=$i"/dontCompile" + echo " found $TAP_DONT_COMPILE" + break + fi + done + echo " looking for dontTransform file: " + for i in "." $MODS $TAPTOOLS ; do + if test -r $i"/dontTransform" ; then + TAP_DONT_TRANSFORM=$i"/dontTransform" + echo " found $TAP_DONT_TRANSFORM" + break + fi + done + echo " looking for keepOriginal file: " + for i in "." $MODS $TAPTOOLS ; do + if test -r $i"/keepOriginal" ; then + TAP_KEEP_ORIGINAL=$i"/keepOriginal" + echo " found $TAP_KEEP_ORIGINAL" + break + fi + done + echo " looking for cb2mFiles: " + for i in "." $MODS $TAPTOOLS ; do + if test -r $i"/cb2mFiles" ; then + TAP_CB2M_FILES=$i"/cb2mFiles" + echo " found $TAP_CB2M_FILES" + break + fi + done + echo " TAPENADE exceptions: " +fi + if test "x$OPENAD" != x ; then OAD_DONT_COMPILE="/dev/null" OAD_DONT_TRANSFORM="/dev/null" @@ -2891,6 +2960,9 @@ for d in $alldirs ; do deplist= sfiles=`( cd $d; echo *.[h,c,F] *.flow )` sfiles=`( echo $sfiles; cd $d; echo *.F90 )` + if test "x$TAPENADE" != x ; then + sfiles=`( echo $sfiles | grep -v _cb2m\. )` + fi if test "x$OPENAD" != x ; then sfiles=`( echo $sfiles | grep -v _cb2m\. )` fi @@ -2931,6 +3003,35 @@ for d in $alldirs ; do F) echo " \\" >> $TMP.F77srclist printf " $sf" >> $TMP.F77srclist + + if test "x$TAPENADE" != x ; then + basename=${sf%%.F} + isAD=`egrep ^$basename.f'[ ]*' $TMP.adSrcFiles` + if test -z "$isAD" ; then + toBeIgnored=`egrep ^$basename'[ ]*' ${TAP_DONT_COMPILE}` + if test -z "$toBeIgnored" ; then + echo " \\" >> $TMP.nonADF77srclist + printf " $sf" >> $TMP.nonADF77srclist + else + echo " not to be compiled : $sf" + fi + else # file is initially listed as an AD file we want to exclude it + # or we want to retain the untransformed version + notToBeTransformed=`egrep ^$basename'[ ]*' ${TAP_DONT_TRANSFORM}` + untransformedVersionToBeKept=`egrep ^$basename'[ ]*' ${TAP_KEEP_ORIGINAL}` + if test -n "$notToBeTransformed"; then + echo " not to be transformed: $sf" + fi + if test -n "$untransformedVersionToBeKept" ; then + echo " original to be kept : $sf" + fi + if test -n "$notToBeTransformed" -o -n "$untransformedVersionToBeKept" ; then + echo " \\" >> $TMP.nonADF77srclist + printf " $sf" >> $TMP.nonADF77srclist + fi + fi + fi + if test "x$OPENAD" = x ; then basename=${sf%%.F} isAD=`egrep ^$basename.f'[ ]*' $TMP.adSrcFiles` @@ -3026,8 +3127,13 @@ echo "# $CMDLINE" >> $MAKEFILE echo "# executed by:" >> $MAKEFILE echo "# ${THISUSER}@${THISHOST}:${THISCWD}" >> $MAKEFILE -EXE_AD=$EXECUTABLE"_ad" -EXE_FTL=$EXECUTABLE"_ftl" +if test "x$TAPENADE" = x ; then + EXE_ADJ=$EXECUTABLE"_ad" + EXE_TLM=$EXECUTABLE"_ftl" +else + EXE_ADJ=$EXECUTABLE"_tap_adj" + EXE_TLM=$EXECUTABLE"_tap_tlm" +fi EXE_SVD=$EXECUTABLE"_svd" cat >>$MAKEFILE <> $MAKEFILE echo 'F77_PP_SRC_FILES = $(F77_SRC_FILES:.F=.'$FS')' >> $MAKEFILE echo 'F90_PP_SRC_FILES = $(F90_SRC_FILES:.F90=.'$FS90')' >> $MAKEFILE echo 'OBJFILES= $(F77_SRC_FILES:.F=.o) $(C_SRC_FILES:.c=.o) $(F90_SRC_FILES:.F90=.o)' >> $MAKEFILE + +if test "x$TAPENADE" != x ; then +cat >>$MAKEFILE <> $MAKEFILE +fi + echo 'FLOWFILES = $(AD_FLOW_FILES:.flow=.flowdir)' >> $MAKEFILE echo >> $MAKEFILE echo '.SUFFIXES:' >> $MAKEFILE @@ -3202,7 +3318,7 @@ Clean: # and output from a run (plus log files from testreport) CLEAN: @\$(MAKE) -f \$(MAKEFILE) Clean - -rm -f \$(EXECUTABLE) \$(EXE_AD) \$(EXE_FTL) *.bak + -rm -f \$(EXECUTABLE) \$(EXE_ADJ) \$(EXE_TLM) *.bak -rm -f $LOGFILE genmake_state genmake_*optfile -rm -f SIZE.h.mpi genmake.tr_log make.tr_log -rm -rf mpi_headers mnc_test_* @@ -3300,6 +3416,7 @@ EOF #=== Automatic Differentiation Rules === #=== for TAMC/TAF ====================== +if test "x$TAPENADE" = x ; then if test "x$OPENAD" = x ; then cat >>$MAKEFILE < ad_config.template @cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h @-rm -f ad_config.template - \$(MAKE) -f \$(MAKEFILE) \$(EXE_AD) + \$(MAKE) -f \$(MAKEFILE) \$(EXE_ADJ) ad_input_code.$FS: \$(AD_FILES) \$(AD_FLOW_FILES) @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Adjoint version" -bAD_CONFIG_H -DALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN > ad_config.template @@ -3391,8 +3508,8 @@ ad_taf_output.$FS: ad_input_code.$FS ls -l ad_input_code_ad.$FS cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS -\$(EXE_AD): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) - \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) +\$(EXE_ADJ): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) + \$(LINK) -o \${EXE_ADJ} \$(FFLAGS) \$(FOPTIM) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) adobj: ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) @@ -3413,9 +3530,9 @@ ad_taf_output.$FS: \$(AD_FLOW_FILES) \$(AD_FILES) \$(MAKE) -f \$(MAKEFILE) adj_sed cat \$(AD_FILES:.$FS=_ad.$FS) > ad_taf_output.$FS -\$(EXE_AD): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) +\$(EXE_ADJ): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) \$(MAKE) -f \$(MAKEFILE) adobjfiles - \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_ad.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) + \$(LINK) -o \${EXE_ADJ} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_ad.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) adobj: ad_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(MAKE) -f \$(MAKEFILE) adobjfiles @@ -3434,7 +3551,7 @@ ad_tamc_output.$FS: ad_input_code.$FS cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_tamc_output.$FS ad_tamc: ad_tamc_output.o \$(OBJFILES) - \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS) + \$(LINK) -o ${EXE_ADJ} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS) # ... FTL ... ftlall: ftl_exe_target @@ -3442,11 +3559,11 @@ ftltaf: ftl_taf_output.$FS ftltamc: ftl_tamc_output.$FS ftl_exe_target: - @echo Update AD_CONFIG.h and make \$(EXE_FTL) + @echo Update AD_CONFIG.h and make \$(EXE_TLM) @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "TangLin version" -bAD_CONFIG_H -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN > ad_config.template @cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h @-rm -f ad_config.template - \$(MAKE) -f \$(MAKEFILE) \$(EXE_FTL) + \$(MAKE) -f \$(MAKEFILE) \$(EXE_TLM) ftl_input_code.$FS: \$(AD_FILES) @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "TangLin version" -bAD_CONFIG_H -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN > ad_config.template @@ -3472,8 +3589,8 @@ ftl_taf_output.$FS: ftl_input_code.$FS ls -l ftl_input_code_tl.$FS cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS -\$(EXE_FTL): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) - \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) +\$(EXE_TLM): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) + \$(LINK) -o \${EXE_TLM} \$(FFLAGS) \$(FOPTIM) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) ftlobj: ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) @@ -3494,9 +3611,9 @@ ftl_taf_output.$FS: \$(AD_FLOW_FILES) \$(AD_FILES) \$(MAKE) -f \$(MAKEFILE) ftl_sed cat \$(AD_FILES:.$FS=_tl.$FS) > ftl_taf_output.$FS -\$(EXE_FTL): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) +\$(EXE_TLM): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) \$(MAKE) -f \$(MAKEFILE) ftlobjfiles - \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_tl.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) + \$(LINK) -o \${EXE_TLM} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_tl.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) ftlobj: ftl_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(MAKE) -f \$(MAKEFILE) ftlobjfiles @@ -3510,7 +3627,7 @@ ftl_tamc_output.$FS: ftl_input_code.$FS cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_tamc_output.$FS ftl_tamc: ftl_tamc_output.o \$(OBJFILES) - \$(LINK) -o ${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_tamc_output.o \$(LIBS) + \$(LINK) -o ${EXE_TLM} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_tamc_output.o \$(LIBS) # ... SVD ... svdtaf: ad_taf_output.$FS ftl_taf_output.$FS @@ -3538,6 +3655,88 @@ svd_touch: EOF +fi +fi + +#=== for TAPENADE ======================== + +if test "x$TAPENADE" != x ; then + +# ============ begin TAPENADE specific section ============== + +cat >>$MAKEFILE <> $MAKEFILE +printf "AD_FILES = " >> $MAKEFILE +AD_FILES=`cat $TMP.adSrcFiles` +for i in $AD_FILES ; do + basename=${i%%.f} + toBeIgnored=`egrep ^$basename'[ ]*' ${TAP_DONT_COMPILE} ${TAP_DONT_TRANSFORM}` + if test -z "$toBeIgnored" ; then + echo " \\" >> $MAKEFILE + printf " $i" >> $MAKEFILE + fi +done +echo >> $MAKEFILE +rm -f $TMP.adSrcFiles + +cat >>$MAKEFILE < \$@ +# +AD_FILES_ADJ=\$(AD_FILES:.$FS=_b.f) +AD_FILES_TLM=\$(AD_FILES:.$FS=_d.f) +# +.PHONY: TAP_TLM_FILES +TAP_TLM_FILES: \$(AD_FILES) f95_test_mods.f90 + touch \$(AD_FILES_TLM) + \$(TAPENADECMD) -d -ext "${TAPTOOLS}/flow_tap" -head "the_main_loop(fc)/(xx_genarr3d_dummy, xx_genarr2d_dummy, xx_gentim2d_dummy)" \$(AD_FILES) f95_test_mods.f90 +# +.PHONY: TAP_ADJ_FILES +TAP_ADJ_FILES: \$(AD_FILES) f95_test_mods.f90 + touch \$(AD_FILES_ADJ) + \$(TAPENADECMD) -b -ext "${TAPTOOLS}/flow_tap" -head "the_main_loop(fc)/(xx_genarr3d_dummy, xx_genarr2d_dummy, xx_gentim2d_dummy)" \$(AD_FILES) f95_test_mods.f90 + +adAll: ad_exe_target +.PHONY: adAll + +tap_adj: ad_exe_target +ad_exe_target: + @echo Update AD_CONFIG.h and make \$(EXE_ADJ) + @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Adjoint version" -bAD_CONFIG_H -DALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN > ad_config.template + @cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h + @-rm -f ad_config.template + \$(MAKE) -f \$(MAKEFILE) \$(EXE_ADJ) + +tap_tlm: tlm_exe_target +tlm_exe_target: + @echo Update AD_CONFIG.h and make \$(EXE_TLM) + @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Tangent linear version" -bAD_CONFIG_H -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN > ad_config.template + @cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h + @-rm -f ad_config.template + \$(MAKE) -f \$(MAKEFILE) \$(EXE_TLM) + +\$(EXE_ADJ): \$(SPECIAL_FILES) \$(F77_SRC_FILES) \$(C_SRC_FILES) \$(H_SRC_FILES) \$(F90_SRC_FILES) \$(OBJFILES) \$(TAP_SUPPORT_OBJFILES) \$(EMBEDDED_FILES) TAP_ADJ_FILES + @echo Creating \$@ ... + \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) \$(AD_FILES_ADJ) \$(TAP_SUPPORT_OBJFILES:${TAPTOOLS}/ADFirstAidKit/%=%) \$(LIBS) +\$(EXE_TLM): \$(SPECIAL_FILES) \$(F77_SRC_FILES) \$(C_SRC_FILES) \$(H_SRC_FILES) \$(F90_SRC_FILES) \$(OBJFILES) \$(TAP_SUPPORT_OBJFILES) \$(EMBEDDED_FILES) TAP_TLM_FILES + @echo Creating \$@ ... + \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) \$(AD_FILES_TLM) \$(TAP_SUPPORT_OBJFILES:${TAPTOOLS}/ADFirstAidKit/%=%) \$(LIBS) + +# ============ end TAPENADE specific section ============== + +EOF + fi #=== for OpenAD ======================== @@ -3629,11 +3828,11 @@ adAll: ad_exe_target .PHONY: adAll ad_exe_target: - @echo Update AD_CONFIG.h and make \$(EXE_AD) + @echo Update AD_CONFIG.h and make \$(EXE_ADJ) @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Adjoint version" -bAD_CONFIG_H -DALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN > ad_config.template @cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h @-rm -f ad_config.template - \$(MAKE) -f \$(MAKEFILE) \$(EXE_AD) + \$(MAKE) -f \$(MAKEFILE) \$(EXE_ADJ) CB2M_F90_PP_SRC_FILES=\$(addsuffix _mod.f$FS90, \$(CB2M_F90_SRC_NAMES)) @@ -3674,7 +3873,7 @@ AD_OBJ_FILES_S1=\$(OPENAD_SUPPORT_F90_SRC_FILES:.F90=.o) \$(OPENAD_SUPPORT_C_SRC AD_OBJ_FILES_S2=\$(AD_OBJ_FILES_S1) \$(NON_AD_F77_SRC_FILES:.F=_cb2m.o) \$(C_SRC_FILES:.c=.o) \$(F90_SRC_FILES:.F90=.o) -\$(EXE_AD): \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) postProcess.tag \$(AD_OBJ_FILES_S2) +\$(EXE_ADJ): \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) postProcess.tag \$(AD_OBJ_FILES_S2) \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(AD_OBJ_FILES_S2) \$(LIBS) # create sources files modules from header files containing common blocks @@ -3826,8 +4025,13 @@ if test $FC_CHECK = 5 ; then echo " > make adAll (<-- adjoint executable)" elif test $ad != 0 ; then echo " > make depend" - echo " > make adall (<-- adjoint executable)" - echo " or > make ftlall (<-- tang-lin executable)" + if test "x$TAPENADE" = x ; then + echo " > make adall (<-- adjoint executable with TAF)" + echo " or > make ftlall (<-- tang-lin executable with TAF)" + else + echo " > make tap_adj (<-- adjoint executable with Tapenade)" + echo " or > make tap_tlm (<-- tang-lin executable with Tapenade)" + fi echo " or > make (<-- forward executable)" else # echo " > make depend (add dependencies to Makefile)" diff --git a/verification/OpenAD/code_tap/AUTODIFF_OPTIONS.h b/verification/OpenAD/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..7339a3b301 --- /dev/null +++ b/verification/OpenAD/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,86 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o write separate tape files for each ptracer (has no effect, to be removed) +#undef AUTODIFF_PTRACERS_SPLIT_FILES + +C o allow using viscFacInAd to recompute viscosities in AD +#undef AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/OpenAD/code_tap/COST_OPTIONS.h b/verification/OpenAD/code_tap/COST_OPTIONS.h new file mode 100644 index 0000000000..b9ce4eb93e --- /dev/null +++ b/verification/OpenAD/code_tap/COST_OPTIONS.h @@ -0,0 +1,78 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT +#undef ALLOW_COST_ATLANTIC_HEAT_DOMASS + +#define ALLOW_COST_TEST +#define ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/OpenAD/code_tap/CPP_OPTIONS.h b/verification/OpenAD/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..f4b012998d --- /dev/null +++ b/verification/OpenAD/code_tap/CPP_OPTIONS.h @@ -0,0 +1,139 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#undef ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#define ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#undef INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#undef EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#undef NONLIN_FRSURF + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +c#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +c#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/OpenAD/code_tap/CTRL_OPTIONS.h b/verification/OpenAD/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..74e0d2bcf1 --- /dev/null +++ b/verification/OpenAD/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,106 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +#undef ECCO_CTRL_DEPRECATED + +#undef EXCLUDE_CTRL_PACK +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO + +C >>> Initial values. +#undef ALLOW_THETA0_CONTROL +#undef ALLOW_SALT0_CONTROL +#undef ALLOW_UVEL0_CONTROL +#undef ALLOW_VVEL0_CONTROL +#undef ALLOW_TR10_CONTROL +#undef ALLOW_TAUU0_CONTROL +#undef ALLOW_TAUV0_CONTROL +#undef ALLOW_SFLUX0_CONTROL +#undef ALLOW_HFLUX0_CONTROL +#undef ALLOW_SSS0_CONTROL +#undef ALLOW_SST0_CONTROL + +C >>> Surface fluxes. +#undef ALLOW_HFLUX_CONTROL +#undef ALLOW_SFLUX_CONTROL +#undef ALLOW_USTRESS_CONTROL +#undef ALLOW_VSTRESS_CONTROL +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> Atmospheric state. +#undef ALLOW_ATEMP_CONTROL +#undef ALLOW_AQH_CONTROL +#undef ALLOW_UWIND_CONTROL +#undef ALLOW_VWIND_CONTROL +#undef ALLOW_PRECIP_CONTROL + +C >>> Other Control. +#define ALLOW_DIFFKR_CONTROL +#define ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#define ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#undef ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/OpenAD/code_tap/CTRL_SIZE.h b/verification/OpenAD/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..12b5f95842 --- /dev/null +++ b/verification/OpenAD/code_tap/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 4 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 2 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 1 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/OpenAD/code_tap/GGL90_OPTIONS.h b/verification/OpenAD/code_tap/GGL90_OPTIONS.h new file mode 100644 index 0000000000..a92d1b85bb --- /dev/null +++ b/verification/OpenAD/code_tap/GGL90_OPTIONS.h @@ -0,0 +1,28 @@ +C *=============================================================* +C | GGL90_OPTIONS.h +C | o CPP options file for GGL90 package. +C *=============================================================* +C | Use this file for selecting options within the GGL90 +C | package. +C *=============================================================* + +#ifndef GGL90_OPTIONS_H +#define GGL90_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GGL90 +C Package-specific Options & Macros go here + +C Enable horizontal diffusion of TKE. +#undef ALLOW_GGL90_HORIZDIFF + +C Use horizontal averaging for viscosity and diffusivity as +C originally implemented in OPA. +#define ALLOW_GGL90_SMOOTH + +C allow IDEMIX model +#undef ALLOW_GGL90_IDEMIX + +#endif /* ALLOW_GGL90 */ +#endif /* GGL90_OPTIONS_H */ diff --git a/verification/OpenAD/code_tap/GMREDI_OPTIONS.h b/verification/OpenAD/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..a5d7cd84d3 --- /dev/null +++ b/verification/OpenAD/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,60 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C Allows to read-in background 3-D Redi and GM diffusivity coefficients +C Note: need these to be defined for use as control (pkg/ctrl) parameters +#undef GM_READ_K3D_REDI +#define GM_READ_K3D_GM + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the Bates et al formulation to calculate the +C bolus transport and K for Redi +#undef GM_BATES_K3D +#undef GM_BATES_PASSIVE + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +C Allow QG Leith variable viscosity to be added to GMRedi coefficient +#undef ALLOW_GM_LEITH_QG + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/OpenAD/code_tap/KPP_OPTIONS.h b/verification/OpenAD/code_tap/KPP_OPTIONS.h new file mode 100644 index 0000000000..29d2822071 --- /dev/null +++ b/verification/OpenAD/code_tap/KPP_OPTIONS.h @@ -0,0 +1,65 @@ +C *==========================================================* +C | KPP_OPTIONS.h +C | o CPP options file for KPP package. +C *==========================================================* +C | Use this file for selecting options within the KPP +C | package. +C *==========================================================* + +#ifndef KPP_OPTIONS_H +#define KPP_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_KPP +C Package-specific Options & Macros go here + +C o When set, smooth shear horizontally with 121 filters +cph#define KPP_SMOOTH_SHSQ +#undef KPP_SMOOTH_SHSQ +#undef KPP_SMOOTH_DVSQ + +C o When set, smooth dbloc KPP variable horizontally +cph#define KPP_SMOOTH_DBLOC +#undef KPP_SMOOTH_DBLOC + +C o When set, smooth all KPP density variables horizontally +#undef KPP_SMOOTH_DENS +#ifdef KPP_SMOOTH_DENS +# define KPP_SMOOTH_DBLOC +#endif + +C o When set, smooth vertical viscosity horizontally +#undef KPP_SMOOTH_VISC + +C o When set, smooth vertical diffusivity horizontally +#undef KPP_SMOOTH_DIFF + +C o Get rid of vertical resolution dependence of dVsq term by +C estimating a surface velocity that is independent of first +C level thickness in the model. +#undef KPP_ESTIMATE_UREF + +C o Include/exclude KPP non/local transport terms +cph#define KPP_GHAT +#undef KPP_GHAT + +C o Exclude Interior shear instability mixing +#undef EXCLUDE_KPP_SHEAR_MIX + +C o Exclude double diffusive mixing in the interior +#undef EXCLUDE_KPP_DOUBLEDIFF + +C o Avoid as many as possible AD recomputations +C usually not necessary, but useful for testing +#undef KPP_AUTODIFF_EXCESSIVE_STORE + +C o Vertically smooth Ri (for interior shear mixing) +#undef ALLOW_KPP_VERTICALLY_SMOOTH + +#endif /* ALLOW_KPP */ +#endif /* KPP_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/OpenAD/code_tap/SIZE.h b/verification/OpenAD/code_tap/SIZE.h new file mode 100644 index 0000000000..7a25dae3ee --- /dev/null +++ b/verification/OpenAD/code_tap/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 45, + & sNy = 20, + & OLx = 3, + & OLy = 3, + & nSx = 2, + & nSy = 2, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/OpenAD/code_tap/grdchk_readparms.F b/verification/OpenAD/code_tap/grdchk_readparms.F new file mode 100644 index 0000000000..522b21de0c --- /dev/null +++ b/verification/OpenAD/code_tap/grdchk_readparms.F @@ -0,0 +1,150 @@ +#include "GRDCHK_OPTIONS.h" +#ifdef ALLOW_CTRL +# include "CTRL_OPTIONS.h" +#endif + + SUBROUTINE GRDCHK_READPARMS( myThid ) + +c ================================================================== +c SUBROUTINE grdchk_readparms +c ================================================================== +c +c o Initialize the ECCO gradient check. +c +c started: Christian Eckert eckert@mit.edu 03-Mar-2000 +c continued: heimbach@mit.edu: 13-Jun-2001 +c +c ================================================================== +c SUBROUTINE grdchk_readparms +c ================================================================== + + IMPLICIT NONE + +c == global variables == + +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" + +#include "ctrl.h" +#include "grdchk.h" + +c == routine arguments == + INTEGER myThid + +#ifdef ALLOW_GRDCHK +c == local variables == + INTEGER iGloTile, jGloTile + INTEGER iUnit + CHARACTER*(MAX_LEN_MBUF) msgBuf + +c == end of interface == + +c-- Optimization parameters. + namelist /grdchk_nml/ + & grdchk_eps, + & nbeg, + & nstep, + & nend, + & grdchkvarindex, + & useCentralDiff, + & grdchkwhichproc, + & iGloPos, + & jGloPos, + & kGloPos, + & iGloTile, + & jGloTile, + & idep, + & jdep, + & obcsglo, + & recglo + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + + IF ( .NOT.useGrdChk ) THEN +C- pkg GRDCHK is not used + _BEGIN_MASTER(myThid) +C- Track pkg activation status: +C print a (weak) warning if data.grdchk is found + CALL PACKAGES_UNUSED_MSG( 'useGrdChk', ' ', ' ' ) + _END_MASTER(myThid) + RETURN + ENDIF + + _BEGIN_MASTER( myThid ) + +c-- Set default values. + grdchk_eps = 1. _d 0 + nbeg = 0 + nend = 0 + nstep = 0 + useCentralDiff = .TRUE. + grdchkwhichproc = -1 + iGloPos = 0 + jGloPos = 0 + kGloPos = 1 + iGloTile = 1 + jGloTile = 1 + idep = 1 + jdep = 1 + obcsglo = 1 + recglo = 1 + +c Next, read the calendar data file. + WRITE(msgBuf,'(A)') 'GRDCHK_READPARMS: opening data.grdchk' + CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, + & SQUEEZE_RIGHT , 1) + + CALL OPEN_COPY_DATA_FILE( + I 'data.grdchk', 'GRDCHK_READPARMS', + O iUnit, + I myThid ) + + READ(unit = iUnit, nml = grdchk_nml) + + WRITE(msgBuf,'(A)') + & 'GRDCHK_READPARMS: finished reading data.grdchk' + CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, + & SQUEEZE_RIGHT , 1) + +#ifdef SINGLE_DISK_IO + CLOSE(iUnit) +#else + CLOSE(iUnit,STATUS='DELETE') +#endif /* SINGLE_DISK_IO */ + + IF ( iGloPos .GT. sNx .OR. jGloPos .GT. sNy ) THEN + WRITE(msgBuf,'(A)') 'i/j GloPos must be <= sNx/y' + CALL PRINT_ERROR( msgBuf, myThid ) + STOP 'ABNORMAL END: S/R GRDCHK_READPARMS' + ENDIF + IF ( iGloTile .GT. nSx*nPx .OR. jGloTile .GT. nSy*nPy ) THEN + WRITE(msgBuf,'(A)') 'i/j GloTile must be <= nSx*nPx/y' + CALL PRINT_ERROR( msgBuf, myThid ) + STOP 'ABNORMAL END: S/R GRDCHK_READPARMS' + ENDIF + IF ( grdchkwhichproc .NE. -1 ) THEN + WRITE(msgBuf,'(2A)') 'S/R GRDCHK_READPARMS: ', + & 'grdchkwhichproc no longer allowed in namelist' + CALL PRINT_ERROR( msgBuf, myThid ) + STOP 'ABNORMAL END: S/R GRDCHK_READPARMS' + ENDIF + +C-- From Tile Global-Indices, set Tile Local-Indices and proc. number + iLocTile = iGloTile - (myXGlobalLo-1)/sNx + jLocTile = jGloTile - (myYGlobalLo-1)/sNy + IF ( iLocTile.GE.1 .AND. iLocTile.LE.nSx .AND. + & jLocTile.GE.1 .AND. jLocTile.LE.nSy ) THEN + grdchkwhichproc = myProcId + ENDIF + +c-- Summarize the gradient check setup. + call grdchk_Summary( myThid ) + + _END_MASTER( myThid ) + _BARRIER + +#endif /* ALLOW_GRDCHK */ + + RETURN + END diff --git a/verification/OpenAD/code_tap/packages.conf b/verification/OpenAD/code_tap/packages.conf new file mode 100644 index 0000000000..85041e66af --- /dev/null +++ b/verification/OpenAD/code_tap/packages.conf @@ -0,0 +1,10 @@ +#-- list of packages (or group of packages) to compile for this experiment: +gfd +-monitor +cd_code +ggl90 +gmredi +kpp + +tapenade +adjoint diff --git a/verification/OpenAD/input_tap/data b/verification/OpenAD/input_tap/data new file mode 100644 index 0000000000..c3e2195b00 --- /dev/null +++ b/verification/OpenAD/input_tap/data @@ -0,0 +1,92 @@ +# ==================== +# | Model parameters | +# ==================== +# +# Continuous equation parameters + &PARM01 + tRef = 15*20., + sRef = 15*35., + viscAr=1.E-3, + viscAh=5.E5, + diffKhT=0.0, + diffKrT=3.E-5, + diffKhS=0.0, + diffKrS=3.E-5, + rhoConst=1035., + rotationPeriod=86400., + gravity=9.81, + eosType = 'JMD95Z', + ivdc_kappa=100., + implicitDiffusion=.TRUE., + allowFreezing=.TRUE., + useRealFreshWaterFlux=.TRUE., + useCDscheme=.TRUE., +# turn on looped cells + hFacMin=.05, + hFacMindr=50., +# set precision of data files + readBinaryPrec=32, + & + +# Elliptic solver parameters + &PARM02 + cg2dMaxIters=1000, + cg2dTargetResidual=1.E-19, + & + +# Time stepping parameters + &PARM03 + nIter0 = 0, + nTimeSteps = 4, +# 100 years of integration will yield a reasonable flow field +# startTime = 0., +# endTime = 3110400000., + deltaTMom = 1200.0, + tauCD = 321428., + deltaTtracer= 43200.0, + deltaTClock = 43200.0, +# if you are using a version later than checkpoint45d on the main branch +# you can uncomment the following line and increase the time step +# deltaTtracer and deltaTClock to 172800.0 as well to speed up the +# asynchronous time stepping +# deltaTfreesurf = 172800.0, + abEps = 0.1, + pChkptFreq= 311040000., + dumpFreq = 2592000., + adjDumpFreq = 2592000., + monitorFreq = 0., + adjMonitorFreq = 0., +# 2 months restoring timescale for temperature + tauThetaClimRelax = 5184000.0, +# 6 months restoring timescale for salinity + tauSaltClimRelax = 15552000.0, + periodicExternalForcing=.TRUE., + externForcingPeriod=2592000., + externForcingCycle=31104000., + & + +# Gridding parameters + &PARM04 + usingSphericalPolarGrid=.TRUE., + delR= 50., 70., 100., 140., 190., + 240., 290., 340., 390., 440., + 490., 540., 590., 640., 690., + ygOrigin=-80., + dySpacing=4., + dxSpacing=4., + & + +# Input datasets + &PARM05 + bathyFile= 'bathymetry.bin', + hydrogThetaFile='lev_t.bin', + hydrogSaltFile= 'lev_s.bin', + zonalWindFile= 'trenberth_taux.bin', + meridWindFile= 'trenberth_tauy.bin', + thetaClimFile= 'lev_sst.bin', + saltClimFile= 'lev_sss.bin', + surfQnetFile= 'ncep_qnet.bin', +# fresh water flux is turned off, uncomment next line to turn on +# (not recommened together with surface salinity restoring) +# EmPmRFile= 'ncep_emp.bin', + & diff --git a/verification/OpenAD/input_tap/data.autodiff b/verification/OpenAD/input_tap/data.autodiff new file mode 100644 index 0000000000..4585444d65 --- /dev/null +++ b/verification/OpenAD/input_tap/data.autodiff @@ -0,0 +1,8 @@ +# ========================= +# pkg AUTODIFF parameters : +# ========================= +# inAdExact :: get an exact adjoint (no approximation) (def=.True.) +# + &AUTODIFF_PARM01 +# inAdExact = .FALSE., + & diff --git a/verification/OpenAD/input_tap/data.cost b/verification/OpenAD/input_tap/data.cost new file mode 100644 index 0000000000..603933a51a --- /dev/null +++ b/verification/OpenAD/input_tap/data.cost @@ -0,0 +1,11 @@ +# +# +# ****************** +# ECCO cost function +# ****************** + &COST_NML +# + mult_tracer = 1., + mult_test = 1., + mult_atl = 1., + & diff --git a/verification/OpenAD/input_tap/data.ctrl b/verification/OpenAD/input_tap/data.ctrl new file mode 100644 index 0000000000..095669c20c --- /dev/null +++ b/verification/OpenAD/input_tap/data.ctrl @@ -0,0 +1,39 @@ +# ********************* +# ECCO controlvariables +# ********************* + &CTRL_NML + & +# +# ********************* +# names for ctrl_pack/unpack +# ********************* + &CTRL_PACKNAMES + & +# +# ********************* +# names for CTRL_GENARR, CTRL_GENTIM +# ********************* + &CTRL_NML_GENARR +# the bounds are commented out to reproduce old results with +# the CPP-flag DISABLE_CTRL_THETA_LIMIT defined + xx_genarr3d_file(1) = 'xx_theta', + xx_genarr3d_weight(1) = 'ones_64b.bin', +#xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +# + xx_genarr3d_file(2) = 'xx_salt', + xx_genarr3d_weight(2) = 'ones_64b.bin', +#xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +# + xx_genarr2d_file(1) = 'xx_qnet', + xx_genarr2d_weight(1) = 'ones_64b.bin', +# + xx_genarr2d_file(2) = 'xx_empmr', + xx_genarr2d_weight(2) = 'ones_64b.bin', +# + xx_genarr2d_file(3) = 'xx_fu', + xx_genarr2d_weight(3) = 'ones_64b.bin', +# + xx_genarr2d_file(4) = 'xx_fv', + xx_genarr2d_weight(4) = 'ones_64b.bin', +# + & diff --git a/verification/OpenAD/input_tap/data.gmredi b/verification/OpenAD/input_tap/data.gmredi new file mode 100644 index 0000000000..b0994be460 --- /dev/null +++ b/verification/OpenAD/input_tap/data.gmredi @@ -0,0 +1,35 @@ +# GM+Redi package parameters: +# GM_Small_Number :: epsilon used in computing the slope +# GM_slopeSqCutoff :: slope^2 cut-off value + +#-from MOM : +# GM_background_K: G & Mc.W diffusion coefficient +# GM_maxSlope : max slope of isopycnals +# GM_Scrit : transition for scaling diffusion coefficient +# GM_Sd : half width scaling for diffusion coefficient +# GM_taper_scheme: slope clipping or one of the tapering schemes +# GM_Kmin_horiz : horizontal diffusion minimum value + +#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +# GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +# GM_AdvForm : turn on GM Advective form (default=Skew flux form) + + &GM_PARM01 + GM_Small_Number = 1.D-12, + GM_slopeSqCutoff = 1.D+08, + GM_AdvForm = .FALSE., + GM_isopycK = 1.0D+3, + GM_background_K = 1.0D+3, + GM_taper_scheme = 'dm95', + GM_maxSlope = 1.D-2, + GM_Kmin_horiz = 50., + GM_Scrit = 4.D-3, + GM_Sd = 1.D-3, +# GM_Visbeck_alpha = 1.5D-2, +# GM_Visbeck_alpha = 0.D0, +# GM_Visbeck_length = 2.D+5, +# GM_Visbeck_depth = 1.D+3, +# GM_Visbeck_maxval_K= 2.5D+3, + & + + diff --git a/verification/OpenAD/input_tap/data.grdchk b/verification/OpenAD/input_tap/data.grdchk new file mode 100644 index 0000000000..82567c2011 --- /dev/null +++ b/verification/OpenAD/input_tap/data.grdchk @@ -0,0 +1,16 @@ + +# ******************* +# ECCO gradient check +# ******************* + &GRDCHK_NML + grdchk_eps = 1.d-2, + iGloTile = 2, + jGloTile = 2, + iGloPos = 26, + jGloPos = 19, + kGloPos = 1, +### nbeg = 1, + nstep = 1, + nend = 7, + grdchkvarindex = 201, + & diff --git a/verification/OpenAD/input_tap/data.optim b/verification/OpenAD/input_tap/data.optim new file mode 100644 index 0000000000..332922f3e1 --- /dev/null +++ b/verification/OpenAD/input_tap/data.optim @@ -0,0 +1,7 @@ +# +# ******************************** +# Off-line optimization parameters +# ******************************** + &OPTIM + optimcycle=0, + & diff --git a/verification/OpenAD/input_tap/data.pkg b/verification/OpenAD/input_tap/data.pkg new file mode 100644 index 0000000000..10df729e39 --- /dev/null +++ b/verification/OpenAD/input_tap/data.pkg @@ -0,0 +1,11 @@ +# +# ******** +# Packages +# ******** + &PACKAGES + useGMRedi = .TRUE., + useGGL90 = .FALSE., + useKPP = .FALSE., + useGrdchk = .TRUE., + useMNC = .FALSE., + & diff --git a/verification/OpenAD/input_tap/eedata b/verification/OpenAD/input_tap/eedata new file mode 100644 index 0000000000..e9aa69bc1e --- /dev/null +++ b/verification/OpenAD/input_tap/eedata @@ -0,0 +1,10 @@ +# Example "eedata" file +# Lines beginning "#" are comments +# nTx - No. threads per process in X +# nTy - No. threads per process in Y + &EEPARMS + nTx=1, + nTy=1, + & +# Note: Some systems use & as the namelist terminator (as shown here). +# Other systems use a / character. diff --git a/verification/OpenAD/input_tap/ncheckLev.conf b/verification/OpenAD/input_tap/ncheckLev.conf new file mode 100644 index 0000000000..cb2324ed16 --- /dev/null +++ b/verification/OpenAD/input_tap/ncheckLev.conf @@ -0,0 +1,4 @@ +3 +5 +7 +60 diff --git a/verification/OpenAD/input_tap/prepare_run b/verification/OpenAD/input_tap/prepare_run new file mode 100755 index 0000000000..2545cd9ab3 --- /dev/null +++ b/verification/OpenAD/input_tap/prepare_run @@ -0,0 +1,51 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take *.bin files +#- from this dir: +fromDir="../../tutorial_global_oce_latlon/input" + +fileList=`( cd $fromDir ; echo *.bin )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And take file 'ones_64b.bin' +#- from this dir: +fromDir="../../isomip/input_ad" + +fileList='ones_64b.bin' + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/OpenAD/results/output_oadm.ggl90.txt b/verification/OpenAD/results/output_oadm.ggl90.txt index 234d2e31b5..2a467ad6f4 100644 --- a/verification/OpenAD/results/output_oadm.ggl90.txt +++ b/verification/OpenAD/results/output_oadm.ggl90.txt @@ -5,10 +5,10 @@ (PID.TID 0000.0001) // ====================================================== (PID.TID 0000.0001) // execution environment starting up... (PID.TID 0000.0001) -(PID.TID 0000.0001) // MITgcmUV version: checkpoint68m +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68p (PID.TID 0000.0001) // Build user: jm_c -(PID.TID 0000.0001) // Build host: node108 -(PID.TID 0000.0001) // Build date: Thu Jan 5 14:09:02 EST 2023 +(PID.TID 0000.0001) // Build host: node386 +(PID.TID 0000.0001) // Build date: Wed Jun 14 10:13:35 EDT 2023 (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Execution Environment parameter file "eedata" @@ -2265,7 +2265,7 @@ (PID.TID 0000.0001) ; (PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ (PID.TID 0000.0001) 5.000000000000000E+01 -OAD: TIMING: stamp 0: 1672946781.822718 +OAD: TIMING: stamp 0: 1686752715.044904 (PID.TID 0000.0001) ; (PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ (PID.TID 0000.0001) 0.000000000000000E+00 @@ -2340,14 +2340,14 @@ OAD: TIMING: stamp 0: 1672946781.822718 EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151362266200E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219438589E-05 6.29043816424677E+00 -OAD: TIMING: stamp 1: 1672946789.421907 -OAD: TIMING: delta stamps 1-0: 7.599189 -OAD: TIMING: stamp 2: 1672946801.320079 -OAD: TIMING: delta stamps 2-1: 11.898172 -OAD: TIMING: delta stamps 2-0: 19.497361 -OAD: TIMING: ratio stamps (2-1)/(1-0): 1.189817e+07/7.599189e+06=1.565716e+00 + cg2d: Sum(rhs),rhsMax = -8.99206140497766E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314065111E-05 6.29043815206116E+00 +OAD: TIMING: stamp 1: 1686752720.235457 +OAD: TIMING: delta stamps 1-0: 5.190553 +OAD: TIMING: stamp 2: 1686752727.607859 +OAD: TIMING: delta stamps 2-1: 7.372402 +OAD: TIMING: delta stamps 2-0: 12.562955 +OAD: TIMING: ratio stamps (2-1)/(1-0): 7.372402e+06/5.190553e+06=1.420350e+00 OAD: DT+ 1048576 OAD: IT+ 17825792 OAD: IT+ 34603008 @@ -2356,31 +2356,31 @@ OAD: TIMING: ratio stamps (2-1)/(1-0): 1.189817e+07/7.599189e+06=1.565716e+00 OAD: IT+ 68157440 OAD: IT+ 84934656 OAD: IT+ 101711872 - cg2d: Sum(rhs),rhsMax = -1.36589313153301E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412496224E-05 6.70105780806494E+00 OAD: DT+ 34603008 (PID.TID 0000.0001) %CHECKPOINT 4 ckptA (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168576370978D+06 -(PID.TID 0000.0001) local fc = 0.801373600222333D+06 -(PID.TID 0000.0001) global fc = 0.801373600222333D+06 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168576545952D+06 +(PID.TID 0000.0001) local fc = 0.801373600047573D+06 +(PID.TID 0000.0001) global fc = 0.801373600047573D+06 cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219413054E-05 6.29043816424676E+00 - cg2d: Sum(rhs),rhsMax = -2.88657986402541E-15 7.75429565002170E-04 - cg2d: Sum(rhs),rhsMax = -9.51151363443037E-06 5.04324257330455E+00 - cg2d: Sum(rhs),rhsMax = -5.77315972805081E-15 1.31178624082862E-03 + cg2d: Sum(rhs),rhsMax = -1.13366314123953E-05 6.29043815206115E+00 + cg2d: Sum(rhs),rhsMax = 6.66133814775094E-16 7.75429565002169E-04 + cg2d: Sum(rhs),rhsMax = -8.99206141796727E-06 5.04324257330455E+00 + cg2d: Sum(rhs),rhsMax = -1.37667655053519E-14 1.31178624082862E-03 EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = 4.44089209850063E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.38456847175216E-03 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 1.38456847175208E-03 ph-pack: packing ecco_cost ph-pack: packing ecco_ctrl (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Gradient-check starts (grdchk_main) (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) grdchk reference fc: fcref = 8.01373600222333E+05 +(PID.TID 0000.0001) grdchk reference fc: fcref = 8.01373600047573E+05 grad-res ------------------------------- grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj @@ -2401,18 +2401,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151363154379E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219427487E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313339819E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206141541375E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314115071E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412158716E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168540167961D+06 -(PID.TID 0000.0001) local fc = 0.801373564019315D+06 -(PID.TID 0000.0001) global fc = 0.801373564019315D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373564019315E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168540342935D+06 +(PID.TID 0000.0001) local fc = 0.801373563844555D+06 +(PID.TID 0000.0001) global fc = 0.801373563844555D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373563844555E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2423,23 +2423,23 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151362266200E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219438589E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313264324E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206140497766E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314065111E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412127629E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168576370978D+06 -(PID.TID 0000.0001) local fc = 0.801373600222333D+06 -(PID.TID 0000.0001) global fc = 0.801373600222333D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600222333E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168576545952D+06 +(PID.TID 0000.0001) local fc = 0.801373600047573D+06 +(PID.TID 0000.0001) global fc = 0.801373600047573D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600047573E+05 grad-res ------------------------------- - grad-res 0 1 28 19 1 2 2 1 8.01373600222E+05 8.01373564019E+05 8.01373600222E+05 + grad-res 0 1 28 19 1 2 2 1 8.01373600048E+05 8.01373563845E+05 8.01373600048E+05 grad-res 0 1 1 551 0 2 2 1 -3.62916215048E+00 -1.81015087292E+00 5.01220723170E-01 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = -3.62916215047940E+00 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.62916215047941E+00 (PID.TID 0000.0001) ADM finite-diff_grad = -1.81015087291598E+00 (PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= (PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= @@ -2457,18 +2457,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.21724893790088E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151363148828E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219360873E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313375346E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206141546927E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314007379E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412194243E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168540387106D+06 -(PID.TID 0000.0001) local fc = 0.801373564238461D+06 -(PID.TID 0000.0001) global fc = 0.801373564238461D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373564238461E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168540562080D+06 +(PID.TID 0000.0001) local fc = 0.801373564063700D+06 +(PID.TID 0000.0001) global fc = 0.801373564063700D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373564063700E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2479,23 +2479,23 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151362266200E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219438589E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313264324E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206140497766E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314065111E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412127629E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168576370978D+06 -(PID.TID 0000.0001) local fc = 0.801373600222333D+06 -(PID.TID 0000.0001) global fc = 0.801373600222333D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600222333E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168576545952D+06 +(PID.TID 0000.0001) local fc = 0.801373600047573D+06 +(PID.TID 0000.0001) global fc = 0.801373600047573D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600047573E+05 grad-res ------------------------------- - grad-res 0 2 29 19 1 2 2 1 8.01373600222E+05 8.01373564238E+05 8.01373600222E+05 - grad-res 0 2 2 552 0 2 2 1 -3.60706511238E+00 -1.79919361253E+00 5.01202901395E-01 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = -3.60706511237656E+00 + grad-res 0 2 29 19 1 2 2 1 8.01373600048E+05 8.01373564064E+05 8.01373600048E+05 + grad-res 0 2 2 552 0 2 2 1 -3.60706511237E+00 -1.79919361253E+00 5.01202901395E-01 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.60706511237334E+00 (PID.TID 0000.0001) ADM finite-diff_grad = -1.79919361253269E+00 (PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= (PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= @@ -2513,18 +2513,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151362760250E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219425266E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313219915E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206141502518E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314029584E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412127629E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168540903467D+06 -(PID.TID 0000.0001) local fc = 0.801373564754821D+06 -(PID.TID 0000.0001) global fc = 0.801373564754821D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373564754821E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168541078441D+06 +(PID.TID 0000.0001) local fc = 0.801373564580061D+06 +(PID.TID 0000.0001) global fc = 0.801373564580061D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373564580061E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2535,23 +2535,23 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151362266200E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219438589E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313264324E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206140497766E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314065111E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412127629E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168576370978D+06 -(PID.TID 0000.0001) local fc = 0.801373600222333D+06 -(PID.TID 0000.0001) global fc = 0.801373600222333D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600222333E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168576545952D+06 +(PID.TID 0000.0001) local fc = 0.801373600047573D+06 +(PID.TID 0000.0001) global fc = 0.801373600047573D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600047573E+05 grad-res ------------------------------- - grad-res 0 3 30 19 1 2 2 1 8.01373600222E+05 8.01373564755E+05 8.01373600222E+05 - grad-res 0 3 3 553 0 2 2 1 -3.55531085316E+00 -1.77337558125E+00 5.01203789347E-01 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = -3.55531085316083E+00 + grad-res 0 3 30 19 1 2 2 1 8.01373600048E+05 8.01373564580E+05 8.01373600048E+05 + grad-res 0 3 3 553 0 2 2 1 -3.55531085278E+00 -1.77337558125E+00 5.01203789294E-01 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.55531085278376E+00 (PID.TID 0000.0001) ADM finite-diff_grad = -1.77337558125146E+00 (PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= (PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= @@ -2569,18 +2569,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.66133814775094E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151363687286E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219366425E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313362023E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206141941056E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366313964081E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412260856E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168542440854D+06 -(PID.TID 0000.0001) local fc = 0.801373566292209D+06 -(PID.TID 0000.0001) global fc = 0.801373566292209D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373566292209E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168542615828D+06 +(PID.TID 0000.0001) local fc = 0.801373566117448D+06 +(PID.TID 0000.0001) global fc = 0.801373566117448D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373566117448E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2591,24 +2591,24 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151362266200E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219438589E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313264324E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206140497766E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314065111E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412127629E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476612D+06 - --> objf_test(bi,bj) = 0.204168576370978D+06 -(PID.TID 0000.0001) local fc = 0.801373600222333D+06 -(PID.TID 0000.0001) global fc = 0.801373600222333D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600222333E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500391D+06 + --> objf_test(bi,bj) = 0.204168576545952D+06 +(PID.TID 0000.0001) local fc = 0.801373600047573D+06 +(PID.TID 0000.0001) global fc = 0.801373600047573D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373600047573E+05 grad-res ------------------------------- - grad-res 0 4 31 19 1 2 2 1 8.01373600222E+05 8.01373566292E+05 8.01373600222E+05 - grad-res 0 4 4 554 0 2 2 1 -3.39536625129E+00 -1.69650620664E+00 5.00346625051E-01 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = -3.39536625128664E+00 -(PID.TID 0000.0001) ADM finite-diff_grad = -1.69650620664470E+00 + grad-res 0 4 31 19 1 2 2 1 8.01373600048E+05 8.01373566117E+05 8.01373600048E+05 + grad-res 0 4 4 554 0 2 2 1 -3.39536625127E+00 -1.69650621247E+00 5.00346623334E-01 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.39536625126917E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.69650621246547E+00 (PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= (PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= ph-test icomp, ncvarcomp, ichknum 555 29309 5 @@ -2625,18 +2625,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151363648428E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219425266E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313610713E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206142007669E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314122842E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412065457E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476953D+06 - --> objf_test(bi,bj) = 0.204168580784927D+06 -(PID.TID 0000.0001) local fc = 0.801373604636623D+06 -(PID.TID 0000.0001) global fc = 0.801373604636623D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373604636623E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500732D+06 + --> objf_test(bi,bj) = 0.204168580959901D+06 +(PID.TID 0000.0001) local fc = 0.801373604461862D+06 +(PID.TID 0000.0001) global fc = 0.801373604461862D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373604461862E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2647,24 +2647,24 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.21724893790088E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151363171032E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219386409E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313153301E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206141702358E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366313884145E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412087661E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170476271D+06 - --> objf_test(bi,bj) = 0.204168572117006D+06 -(PID.TID 0000.0001) local fc = 0.801373595968021D+06 -(PID.TID 0000.0001) global fc = 0.801373595968021D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373595968021E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170500051D+06 + --> objf_test(bi,bj) = 0.204168572291980D+06 +(PID.TID 0000.0001) local fc = 0.801373595793260D+06 +(PID.TID 0000.0001) global fc = 0.801373595793260D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373595793260E+05 grad-res ------------------------------- - grad-res 0 5 40 19 1 2 2 1 8.01373600222E+05 8.01373604637E+05 8.01373595968E+05 - grad-res 0 5 5 555 0 2 2 1 4.33430002344E-01 4.33430087287E-01 -1.95979193984E-07 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = 4.33430002343716E-01 -(PID.TID 0000.0001) ADM finite-diff_grad = 4.33430087286979E-01 + grad-res 0 5 40 19 1 2 2 1 8.01373600048E+05 8.01373604462E+05 8.01373595793E+05 + grad-res 0 5 5 555 0 2 2 1 4.33430002388E-01 4.33430098929E-01 -2.22735943023E-07 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 4.33430002388071E-01 +(PID.TID 0000.0001) ADM finite-diff_grad = 4.33430098928511E-01 (PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= (PID.TID 0000.0001) ====== Starts gradient-check number 6 (=ichknum) ======= ph-test icomp, ncvarcomp, ichknum 556 29309 6 @@ -2681,18 +2681,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151363592917E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219791640E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589313841640E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206142179754E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366314242747E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526412855936E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170478258D+06 - --> objf_test(bi,bj) = 0.204168582619682D+06 -(PID.TID 0000.0001) local fc = 0.801373606472683D+06 -(PID.TID 0000.0001) global fc = 0.801373606472683D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373606472683E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170502038D+06 + --> objf_test(bi,bj) = 0.204168582794656D+06 +(PID.TID 0000.0001) local fc = 0.801373606297923D+06 +(PID.TID 0000.0001) global fc = 0.801373606297923D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373606297923E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2703,24 +2703,24 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151362438285E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364219149931E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589312669244E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206140980713E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366313873042E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526411541432E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170474969D+06 - --> objf_test(bi,bj) = 0.204168570262192D+06 -(PID.TID 0000.0001) local fc = 0.801373594111904D+06 -(PID.TID 0000.0001) global fc = 0.801373594111904D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373594111904E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170498748D+06 + --> objf_test(bi,bj) = 0.204168570437167D+06 +(PID.TID 0000.0001) local fc = 0.801373593937144D+06 +(PID.TID 0000.0001) global fc = 0.801373593937144D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373593937144E+05 grad-res ------------------------------- - grad-res 0 6 41 19 1 2 2 1 8.01373600222E+05 8.01373606473E+05 8.01373594112E+05 - grad-res 0 6 6 556 0 2 2 1 6.17958697334E-01 6.18038949324E-01 -1.29866268696E-04 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = 6.17958697333587E-01 -(PID.TID 0000.0001) ADM finite-diff_grad = 6.18038949323818E-01 + grad-res 0 6 41 19 1 2 2 1 8.01373600048E+05 8.01373606298E+05 8.01373593937E+05 + grad-res 0 6 6 556 0 2 2 1 6.17958697341E-01 6.18038955145E-01 -1.29875676263E-04 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 6.17958697340864E-01 +(PID.TID 0000.0001) ADM finite-diff_grad = 6.18038955144584E-01 (PID.TID 0000.0001) ====== End of gradient-check number 6 (ierr= 0) ======= (PID.TID 0000.0001) ====== Starts gradient-check number 7 (=ichknum) ======= ph-test icomp, ncvarcomp, ichknum 557 29309 7 @@ -2737,18 +2737,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.43929354282591E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151366462843E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364220555473E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589315271607E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206145005271E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366315006580E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526414001686E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170481941D+06 - --> objf_test(bi,bj) = 0.204168580859882D+06 -(PID.TID 0000.0001) local fc = 0.801373604716566D+06 -(PID.TID 0000.0001) global fc = 0.801373604716566D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373604716566E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170505720D+06 + --> objf_test(bi,bj) = 0.204168581034856D+06 +(PID.TID 0000.0001) local fc = 0.801373604541806D+06 +(PID.TID 0000.0001) global fc = 0.801373604541806D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373604541806E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2759,23 +2759,23 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.66133814775094E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151360334412E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364218390539E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589311350299E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206138715858E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366313029273E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526410222487E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170471294D+06 - --> objf_test(bi,bj) = 0.204168572013349D+06 -(PID.TID 0000.0001) local fc = 0.801373595859386D+06 -(PID.TID 0000.0001) global fc = 0.801373595859386D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373595859386E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170495073D+06 + --> objf_test(bi,bj) = 0.204168572188323D+06 +(PID.TID 0000.0001) local fc = 0.801373595684626D+06 +(PID.TID 0000.0001) global fc = 0.801373595684626D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373595684626E+05 grad-res ------------------------------- - grad-res 0 7 42 19 1 2 2 1 8.01373600222E+05 8.01373604717E+05 8.01373595859E+05 - grad-res 0 7 7 557 0 2 2 1 4.41799536191E-01 4.42858994938E-01 -2.39805310123E-03 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = 4.41799536190548E-01 + grad-res 0 7 42 19 1 2 2 1 8.01373600048E+05 8.01373604542E+05 8.01373595685E+05 + grad-res 0 7 7 557 0 2 2 1 4.41799536157E-01 4.42858994938E-01 -2.39805317819E-03 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 4.41799536156632E-01 (PID.TID 0000.0001) ADM finite-diff_grad = 4.42858994938433E-01 (PID.TID 0000.0001) ====== End of gradient-check number 7 (ierr= 0) ======= (PID.TID 0000.0001) ====== Starts gradient-check number 8 (=ichknum) ======= @@ -2793,18 +2793,18 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.55031584528842E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151370121028E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364221045082E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589315995472E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206148391452E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366315737107E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526414916510E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170484139D+06 - --> objf_test(bi,bj) = 0.204168581763441D+06 -(PID.TID 0000.0001) local fc = 0.801373605622324D+06 -(PID.TID 0000.0001) global fc = 0.801373605622324D+06 -(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373605622324E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170507919D+06 + --> objf_test(bi,bj) = 0.204168581938415D+06 +(PID.TID 0000.0001) local fc = 0.801373605447563D+06 +(PID.TID 0000.0001) global fc = 0.801373605447563D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.01373605447563E+05 (PID.TID 0000.0001) Start initial hydrostatic pressure computation (PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC (PID.TID 0000.0001) @@ -2815,24 +2815,24 @@ grad-res ------------------------------- EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) (PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F cg2d: Sum(rhs),rhsMax = -6.66133814775094E-15 2.53674886388737E+00 - cg2d: Sum(rhs),rhsMax = -9.51151355865765E-06 5.04324257330456E+00 - cg2d: Sum(rhs),rhsMax = -1.19364217756601E-05 6.29043816424677E+00 - cg2d: Sum(rhs),rhsMax = -1.36589310586466E-05 6.70105789231916E+00 + cg2d: Sum(rhs),rhsMax = -8.99206134141739E-06 5.04324257330456E+00 + cg2d: Sum(rhs),rhsMax = -1.13366312405327E-05 6.29043815206116E+00 + cg2d: Sum(rhs),rhsMax = -1.30526409369836E-05 6.70105780806494E+00 (PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE (PID.TID 0000.0001) early fc = 0.000000000000000D+00 - --> objf_test(bi,bj) = 0.220353631760028D+06 - --> objf_test(bi,bj) = 0.240147221614715D+06 - --> objf_test(bi,bj) = 0.136704170469100D+06 - --> objf_test(bi,bj) = 0.204168571107591D+06 -(PID.TID 0000.0001) local fc = 0.801373594951434D+06 -(PID.TID 0000.0001) global fc = 0.801373594951434D+06 -(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373594951434E+05 + --> objf_test(bi,bj) = 0.220353631633443D+06 + --> objf_test(bi,bj) = 0.240147221367786D+06 + --> objf_test(bi,bj) = 0.136704170492879D+06 + --> objf_test(bi,bj) = 0.204168571282565D+06 +(PID.TID 0000.0001) local fc = 0.801373594776673D+06 +(PID.TID 0000.0001) global fc = 0.801373594776673D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.01373594776673E+05 grad-res ------------------------------- - grad-res 0 8 43 19 1 2 2 1 8.01373600222E+05 8.01373605622E+05 8.01373594951E+05 - grad-res 0 8 8 558 0 2 2 1 5.31169499240E-01 5.33544493373E-01 -4.47125472455E-03 -(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600222333E+05 -(PID.TID 0000.0001) ADM adjoint_gradient = 5.31169499240467E-01 -(PID.TID 0000.0001) ADM finite-diff_grad = 5.33544493373483E-01 + grad-res 0 8 43 19 1 2 2 1 8.01373600048E+05 8.01373605448E+05 8.01373594777E+05 + grad-res 0 8 8 558 0 2 2 1 5.31169499175E-01 5.33544481732E-01 -4.47123293199E-03 +(PID.TID 0000.0001) ADM ref_cost_function = 8.01373600047573E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 5.31169499174771E-01 +(PID.TID 0000.0001) ADM finite-diff_grad = 5.33544481731951E-01 (PID.TID 0000.0001) ====== End of gradient-check number 8 (ierr= 0) ======= (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= @@ -2846,203 +2846,203 @@ grad-res ------------------------------- (PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 1 28 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 1 8.0137360022233E+05 8.0137356401932E+05 8.0137360022233E+05 +(PID.TID 0000.0001) grdchk output (c): 1 8.0137360004757E+05 8.0137356384456E+05 8.0137360004757E+05 (PID.TID 0000.0001) grdchk output (g): 1 -1.8101508729160E+00 -3.6291621504794E+00 5.0122072316971E-01 (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 2 29 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 2 8.0137360022233E+05 8.0137356423846E+05 8.0137360022233E+05 -(PID.TID 0000.0001) grdchk output (g): 2 -1.7991936125327E+00 -3.6070651123766E+00 5.0120290139502E-01 +(PID.TID 0000.0001) grdchk output (c): 2 8.0137360004757E+05 8.0137356406370E+05 8.0137360004757E+05 +(PID.TID 0000.0001) grdchk output (g): 2 -1.7991936125327E+00 -3.6070651123733E+00 5.0120290139457E-01 (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 3 30 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 3 8.0137360022233E+05 8.0137356475482E+05 8.0137360022233E+05 -(PID.TID 0000.0001) grdchk output (g): 3 -1.7733755812515E+00 -3.5553108531608E+00 5.0120378934662E-01 +(PID.TID 0000.0001) grdchk output (c): 3 8.0137360004757E+05 8.0137356458006E+05 8.0137360004757E+05 +(PID.TID 0000.0001) grdchk output (g): 3 -1.7733755812515E+00 -3.5553108527838E+00 5.0120378929372E-01 (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 4 31 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 4 8.0137360022233E+05 8.0137356629221E+05 8.0137360022233E+05 -(PID.TID 0000.0001) grdchk output (g): 4 -1.6965062066447E+00 -3.3953662512866E+00 5.0034662505059E-01 +(PID.TID 0000.0001) grdchk output (c): 4 8.0137360004757E+05 8.0137356611745E+05 8.0137360004757E+05 +(PID.TID 0000.0001) grdchk output (g): 4 -1.6965062124655E+00 -3.3953662512692E+00 5.0034662333369E-01 (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 5 40 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 5 8.0137360022233E+05 8.0137360463662E+05 8.0137359596802E+05 -(PID.TID 0000.0001) grdchk output (g): 5 4.3343008728698E-01 4.3343000234372E-01 -1.9597919398429E-07 +(PID.TID 0000.0001) grdchk output (c): 5 8.0137360004757E+05 8.0137360446186E+05 8.0137359579326E+05 +(PID.TID 0000.0001) grdchk output (g): 5 4.3343009892851E-01 4.3343000238807E-01 -2.2273594302291E-07 (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 6 41 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 6 8.0137360022233E+05 8.0137360647268E+05 8.0137359411190E+05 -(PID.TID 0000.0001) grdchk output (g): 6 6.1803894932382E-01 6.1795869733359E-01 -1.2986626869615E-04 +(PID.TID 0000.0001) grdchk output (c): 6 8.0137360004757E+05 8.0137360629792E+05 8.0137359393714E+05 +(PID.TID 0000.0001) grdchk output (g): 6 6.1803895514458E-01 6.1795869734086E-01 -1.2987567626332E-04 (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 7 42 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 7 8.0137360022233E+05 8.0137360471657E+05 8.0137359585939E+05 -(PID.TID 0000.0001) grdchk output (g): 7 4.4285899493843E-01 4.4179953619055E-01 -2.3980531012322E-03 +(PID.TID 0000.0001) grdchk output (c): 7 8.0137360004757E+05 8.0137360454181E+05 8.0137359568463E+05 +(PID.TID 0000.0001) grdchk output (g): 7 4.4285899493843E-01 4.4179953615663E-01 -2.3980531781860E-03 (PID.TID 0000.0001) (PID.TID 0000.0001) grdchk output (p): 8 43 19 1 2 2 0.000000000E+00 -1.000000000E-02 -(PID.TID 0000.0001) grdchk output (c): 8 8.0137360022233E+05 8.0137360562232E+05 8.0137359495143E+05 -(PID.TID 0000.0001) grdchk output (g): 8 5.3354449337348E-01 5.3116949924047E-01 -4.4712547245505E-03 +(PID.TID 0000.0001) grdchk output (c): 8 8.0137360004757E+05 8.0137360544756E+05 8.0137359477667E+05 +(PID.TID 0000.0001) grdchk output (g): 8 5.3354448173195E-01 5.3116949917477E-01 -4.4712329319923E-03 (PID.TID 0000.0001) -(PID.TID 0000.0001) grdchk summary : RMS of 8 ratios = 3.5426055118360E-01 +(PID.TID 0000.0001) grdchk summary : RMS of 8 ratios = 3.5426055083717E-01 (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Gradient check results >>> END <<< (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) (PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 82.993633210659027 -(PID.TID 0000.0001) System time: 1.2268450288102031 -(PID.TID 0000.0001) Wall clock time: 85.227415084838867 +(PID.TID 0000.0001) User time: 49.188026428222656 +(PID.TID 0000.0001) System time: 1.1398479510098696 +(PID.TID 0000.0001) Wall clock time: 51.365447998046875 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 0.17789800325408578 -(PID.TID 0000.0001) System time: 3.2086999621242285E-002 -(PID.TID 0000.0001) Wall clock time: 0.62567996978759766 +(PID.TID 0000.0001) User time: 0.12488199770450592 +(PID.TID 0000.0001) System time: 2.5856999214738607E-002 +(PID.TID 0000.0001) Wall clock time: 0.38723707199096680 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "THE_MAIN_LOOP (F) [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 6.2490042299032211 -(PID.TID 0000.0001) System time: 1.0534509681165218 -(PID.TID 0000.0001) Wall clock time: 7.5991809368133545 +(PID.TID 0000.0001) User time: 3.8457549586892128 +(PID.TID 0000.0001) System time: 1.0071849580854177 +(PID.TID 0000.0001) Wall clock time: 5.1905469894409180 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 1.6122386455535889 -(PID.TID 0000.0001) System time: 7.0641890168190002E-002 -(PID.TID 0000.0001) Wall clock time: 1.8068108558654785 +(PID.TID 0000.0001) User time: 0.93061807006597519 +(PID.TID 0000.0001) System time: 6.6157478839159012E-002 +(PID.TID 0000.0001) Wall clock time: 1.1210424900054932 (PID.TID 0000.0001) No. starts: 17 (PID.TID 0000.0001) No. stops: 17 (PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 68.997337639331818 -(PID.TID 0000.0001) System time: 1.0409918725490570 -(PID.TID 0000.0001) Wall clock time: 70.293091773986816 +(PID.TID 0000.0001) User time: 40.584443673491478 +(PID.TID 0000.0001) System time: 0.98729097098112106 +(PID.TID 0000.0001) Wall clock time: 41.903457403182983 (PID.TID 0000.0001) No. starts: 17 (PID.TID 0000.0001) No. stops: 17 (PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 68.994058966636658 -(PID.TID 0000.0001) System time: 1.0407929420471191 -(PID.TID 0000.0001) Wall clock time: 70.289631605148315 +(PID.TID 0000.0001) User time: 40.582414448261261 +(PID.TID 0000.0001) System time: 0.98728413134813309 +(PID.TID 0000.0001) Wall clock time: 41.901419639587402 (PID.TID 0000.0001) No. starts: 17 (PID.TID 0000.0001) No. stops: 17 (PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.11883717775344849 -(PID.TID 0000.0001) System time: 8.1570670008659363E-003 -(PID.TID 0000.0001) Wall clock time: 0.14392137527465820 +(PID.TID 0000.0001) User time: 6.4724236726760864E-002 +(PID.TID 0000.0001) System time: 7.6782703399658203E-003 +(PID.TID 0000.0001) Wall clock time: 8.7890863418579102E-002 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": -(PID.TID 0000.0001) User time: 0.11709725856781006 -(PID.TID 0000.0001) System time: 8.1249475479125977E-003 -(PID.TID 0000.0001) Wall clock time: 0.14229917526245117 +(PID.TID 0000.0001) User time: 6.3624322414398193E-002 +(PID.TID 0000.0001) System time: 7.6520889997482300E-003 +(PID.TID 0000.0001) Wall clock time: 8.6810350418090820E-002 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 7.3423981666564941E-004 -(PID.TID 0000.0001) System time: 6.8917870521545410E-006 -(PID.TID 0000.0001) Wall clock time: 7.4195861816406250E-004 +(PID.TID 0000.0001) User time: 5.0002336502075195E-004 +(PID.TID 0000.0001) System time: 6.9811940193176270E-006 +(PID.TID 0000.0001) Wall clock time: 5.0997734069824219E-004 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 7.4654966592788696E-002 -(PID.TID 0000.0001) System time: 1.0210275650024414E-003 -(PID.TID 0000.0001) Wall clock time: 7.5770139694213867E-002 +(PID.TID 0000.0001) User time: 4.3857991695404053E-002 +(PID.TID 0000.0001) System time: 8.9016556739807129E-004 +(PID.TID 0000.0001) Wall clock time: 4.4789791107177734E-002 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 19.085687845945358 -(PID.TID 0000.0001) System time: 0.14899279922246933 -(PID.TID 0000.0001) Wall clock time: 19.239038705825806 +(PID.TID 0000.0001) User time: 11.448637425899506 +(PID.TID 0000.0001) System time: 0.14137315005064011 +(PID.TID 0000.0001) Wall clock time: 11.590775728225708 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "GGL90_CALC [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 7.6231389343738556 -(PID.TID 0000.0001) System time: 0.11509880423545837 -(PID.TID 0000.0001) Wall clock time: 7.7397837638854980 +(PID.TID 0000.0001) User time: 4.6375596225261688 +(PID.TID 0000.0001) System time: 9.9112898111343384E-002 +(PID.TID 0000.0001) Wall clock time: 4.7368161678314209 (PID.TID 0000.0001) No. starts: 284 (PID.TID 0000.0001) No. stops: 284 (PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 18.340677976608276 -(PID.TID 0000.0001) System time: 0.17670695483684540 -(PID.TID 0000.0001) Wall clock time: 18.522938251495361 +(PID.TID 0000.0001) User time: 10.921472072601318 +(PID.TID 0000.0001) System time: 0.16171506792306900 +(PID.TID 0000.0001) Wall clock time: 11.084500074386597 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 28.236157238483429 -(PID.TID 0000.0001) System time: 0.47593884915113449 -(PID.TID 0000.0001) Wall clock time: 28.720963954925537 +(PID.TID 0000.0001) User time: 16.308439314365387 +(PID.TID 0000.0001) System time: 0.45328101515769958 +(PID.TID 0000.0001) Wall clock time: 16.764428377151489 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.2464891672134399 -(PID.TID 0000.0001) System time: 2.8050839900970459E-003 -(PID.TID 0000.0001) Wall clock time: 4.2504887580871582 +(PID.TID 0000.0001) User time: 2.4697741270065308 +(PID.TID 0000.0001) System time: 1.8960013985633850E-003 +(PID.TID 0000.0001) Wall clock time: 2.4718348979949951 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.83577346801757812 -(PID.TID 0000.0001) System time: 0.11414408683776855 -(PID.TID 0000.0001) Wall clock time: 0.95045876502990723 +(PID.TID 0000.0001) User time: 0.47402411699295044 +(PID.TID 0000.0001) System time: 0.11305205523967743 +(PID.TID 0000.0001) Wall clock time: 0.58712601661682129 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.74431908130645752 -(PID.TID 0000.0001) System time: 3.0030012130737305E-003 -(PID.TID 0000.0001) Wall clock time: 0.74778437614440918 +(PID.TID 0000.0001) User time: 0.42823129892349243 +(PID.TID 0000.0001) System time: 1.0550022125244141E-003 +(PID.TID 0000.0001) Wall clock time: 0.42937922477722168 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 8.6057186126708984E-004 -(PID.TID 0000.0001) System time: 5.1259994506835938E-006 -(PID.TID 0000.0001) Wall clock time: 8.5306167602539062E-004 +(PID.TID 0000.0001) User time: 5.6111812591552734E-004 +(PID.TID 0000.0001) System time: 1.1086463928222656E-005 +(PID.TID 0000.0001) Wall clock time: 5.6982040405273438E-004 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.77964866161346436 -(PID.TID 0000.0001) System time: 1.0129213333129883E-003 -(PID.TID 0000.0001) Wall clock time: 0.78118872642517090 +(PID.TID 0000.0001) User time: 0.46210461854934692 +(PID.TID 0000.0001) System time: 2.0588636398315430E-003 +(PID.TID 0000.0001) Wall clock time: 0.46425461769104004 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.0929502248764038 -(PID.TID 0000.0001) System time: 2.5153160095214844E-005 -(PID.TID 0000.0001) Wall clock time: 1.0941891670227051 +(PID.TID 0000.0001) User time: 0.76175922155380249 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.76188707351684570 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.3676495552062988E-002 -(PID.TID 0000.0001) System time: 1.1329054832458496E-002 -(PID.TID 0000.0001) Wall clock time: 0.15636253356933594 +(PID.TID 0000.0001) User time: 3.1452953815460205E-002 +(PID.TID 0000.0001) System time: 5.4149627685546875E-003 +(PID.TID 0000.0001) Wall clock time: 8.0906391143798828E-002 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.8861980438232422E-002 -(PID.TID 0000.0001) System time: 9.2539787292480469E-003 -(PID.TID 0000.0001) Wall clock time: 0.10677146911621094 +(PID.TID 0000.0001) User time: 2.8190433979034424E-002 +(PID.TID 0000.0001) System time: 1.0519027709960938E-002 +(PID.TID 0000.0001) Wall clock time: 0.11170315742492676 (PID.TID 0000.0001) No. starts: 71 (PID.TID 0000.0001) No. stops: 71 (PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": -(PID.TID 0000.0001) User time: 2.7360916137695312E-003 -(PID.TID 0000.0001) System time: 1.6295909881591797E-004 -(PID.TID 0000.0001) Wall clock time: 2.9065608978271484E-003 +(PID.TID 0000.0001) User time: 1.6496181488037109E-003 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.6591548919677734E-003 (PID.TID 0000.0001) No. starts: 17 (PID.TID 0000.0001) No. stops: 17 (PID.TID 0000.0001) Seconds in section "THE_MAIN_LOOP (A) [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 11.856554508209229 -(PID.TID 0000.0001) System time: 2.2765040397644043E-002 -(PID.TID 0000.0001) Wall clock time: 11.898250102996826 +(PID.TID 0000.0001) User time: 7.3295328617095947 +(PID.TID 0000.0001) System time: 2.5804996490478516E-002 +(PID.TID 0000.0001) Wall clock time: 7.3724470138549805 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 5.1401138305664062E-002 -(PID.TID 0000.0001) System time: 1.9030570983886719E-003 -(PID.TID 0000.0001) Wall clock time: 6.2788963317871094E-002 +(PID.TID 0000.0001) User time: 2.8614044189453125E-002 +(PID.TID 0000.0001) System time: 1.8699169158935547E-003 +(PID.TID 0000.0001) Wall clock time: 3.8748025894165039E-002 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 4.9423217773437500E-002 -(PID.TID 0000.0001) System time: 2.9649734497070312E-003 -(PID.TID 0000.0001) Wall clock time: 6.1986923217773438E-002 +(PID.TID 0000.0001) User time: 2.8780937194824219E-002 +(PID.TID 0000.0001) System time: 9.8001956939697266E-004 +(PID.TID 0000.0001) Wall clock time: 3.8090944290161133E-002 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 64.609237670898438 -(PID.TID 0000.0001) System time: 0.11364901065826416 -(PID.TID 0000.0001) Wall clock time: 64.979410886764526 +(PID.TID 0000.0001) User time: 37.830405235290527 +(PID.TID 0000.0001) System time: 7.8130960464477539E-002 +(PID.TID 0000.0001) Wall clock time: 38.338310003280640 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) // ====================================================== diff --git a/verification/OpenAD/results/output_tap_adj.txt b/verification/OpenAD/results/output_tap_adj.txt new file mode 100644 index 0000000000..44fefa9d23 --- /dev/null +++ b/verification/OpenAD/results/output_tap_adj.txt @@ -0,0 +1,3013 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 05:52:33 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the namelist terminator (as shown here). +(PID.TID 0000.0001) ># Other systems use a / character. +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 45 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 20 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 3 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 3 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 90 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 40 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef = 15*20., +(PID.TID 0000.0001) > sRef = 15*35., +(PID.TID 0000.0001) > viscAr=1.E-3, +(PID.TID 0000.0001) > viscAh=5.E5, +(PID.TID 0000.0001) > diffKhT=0.0, +(PID.TID 0000.0001) > diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=0.0, +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > rhoConst=1035., +(PID.TID 0000.0001) > rotationPeriod=86400., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > eosType = 'JMD95Z', +(PID.TID 0000.0001) > ivdc_kappa=100., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) > useRealFreshWaterFlux=.TRUE., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) ># turn on looped cells +(PID.TID 0000.0001) > hFacMin=.05, +(PID.TID 0000.0001) > hFacMindr=50., +(PID.TID 0000.0001) ># set precision of data files +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-19, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0 = 0, +(PID.TID 0000.0001) > nTimeSteps = 4, +(PID.TID 0000.0001) ># 100 years of integration will yield a reasonable flow field +(PID.TID 0000.0001) ># startTime = 0., +(PID.TID 0000.0001) ># endTime = 3110400000., +(PID.TID 0000.0001) > deltaTMom = 1200.0, +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > deltaTtracer= 43200.0, +(PID.TID 0000.0001) > deltaTClock = 43200.0, +(PID.TID 0000.0001) ># if you are using a version later than checkpoint45d on the main branch +(PID.TID 0000.0001) ># you can uncomment the following line and increase the time step +(PID.TID 0000.0001) ># deltaTtracer and deltaTClock to 172800.0 as well to speed up the +(PID.TID 0000.0001) ># asynchronous time stepping +(PID.TID 0000.0001) ># deltaTfreesurf = 172800.0, +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq= 311040000., +(PID.TID 0000.0001) > dumpFreq = 2592000., +(PID.TID 0000.0001) > adjDumpFreq = 2592000., +(PID.TID 0000.0001) > monitorFreq = 0., +(PID.TID 0000.0001) > adjMonitorFreq = 0., +(PID.TID 0000.0001) ># 2 months restoring timescale for temperature +(PID.TID 0000.0001) > tauThetaClimRelax = 5184000.0, +(PID.TID 0000.0001) ># 6 months restoring timescale for salinity +(PID.TID 0000.0001) > tauSaltClimRelax = 15552000.0, +(PID.TID 0000.0001) > periodicExternalForcing=.TRUE., +(PID.TID 0000.0001) > externForcingPeriod=2592000., +(PID.TID 0000.0001) > externForcingCycle=31104000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delR= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > ygOrigin=-80., +(PID.TID 0000.0001) > dySpacing=4., +(PID.TID 0000.0001) > dxSpacing=4., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile= 'bathymetry.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_t.bin', +(PID.TID 0000.0001) > hydrogSaltFile= 'lev_s.bin', +(PID.TID 0000.0001) > zonalWindFile= 'trenberth_taux.bin', +(PID.TID 0000.0001) > meridWindFile= 'trenberth_tauy.bin', +(PID.TID 0000.0001) > thetaClimFile= 'lev_sst.bin', +(PID.TID 0000.0001) > saltClimFile= 'lev_sss.bin', +(PID.TID 0000.0001) > surfQnetFile= 'ncep_qnet.bin', +(PID.TID 0000.0001) ># fresh water flux is turned off, uncomment next line to turn on +(PID.TID 0000.0001) ># (not recommened together with surface salinity restoring) +(PID.TID 0000.0001) ># EmPmRFile= 'ncep_emp.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) S/R INI_PARMS: No request for barotropic solver +(PID.TID 0000.0001) S/R INI_PARMS: => Use implicitFreeSurface as default +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useGGL90 = .FALSE., +(PID.TID 0000.0001) > useKPP = .FALSE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > useMNC = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/ggl90 compiled but not used ( useGGL90 = F ) + pkg/kpp compiled but not used ( useKPP = F ) + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-12, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .FALSE., +(PID.TID 0000.0001) > GM_isopycK = 1.0D+3, +(PID.TID 0000.0001) > GM_background_K = 1.0D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 0.D0, +(PID.TID 0000.0001) ># GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) ># GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) ># GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) ># the bounds are commented out to reproduce old results with +(PID.TID 0000.0001) ># the CPP-flag DISABLE_CTRL_THETA_LIMIT defined +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_genarr2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_genarr2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_genarr2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_genarr2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > mult_tracer = 1., +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > mult_atl = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-2, +(PID.TID 0000.0001) > iGloTile = 2, +(PID.TID 0000.0001) > jGloTile = 2, +(PID.TID 0000.0001) > iGloPos = 26, +(PID.TID 0000.0001) > jGloPos = 19, +(PID.TID 0000.0001) > kGloPos = 1, +(PID.TID 0000.0001) >### nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 7, +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-01 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 7 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 2 , jLocTile = 2 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 67878 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 669 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 640 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 610 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 8651 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 17302 +(PID.TID 0000.0001) ctrl-wet 8: atmos 17302 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 67878 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 2254 2102 2146 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 2215 2058 2104 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 2178 2027 2070 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 2142 1987 2029 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2114 1959 2004 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 2076 1918 1959 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 2048 1887 1925 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 1999 1831 1869 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 1948 1771 1808 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 1850 1653 1705 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 1655 1404 1458 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 1372 1118 1164 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 828 623 671 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 6 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 67878 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 13500 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 008651 007584 008016 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 010278 009360 009834 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 003504 003232 003049 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 006876 006460 006425 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 2D control, genarr2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0101 +(PID.TID 0000.0001) ncvarindex = 0201 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0102 +(PID.TID 0000.0001) ncvarindex = 0202 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0103 +(PID.TID 0000.0001) ncvarindex = 0203 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0104 +(PID.TID 0000.0001) ncvarindex = 0204 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 6.5682677425711703E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.272205216643040E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-19 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.962666600296178E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 1.728000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 1.555200000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 90 @ 4.000000000000000E+00 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 40 @ 4.000000000000000E+00 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.200000000000000E+01, /* I = 21 */ +(PID.TID 0000.0001) 8.600000000000000E+01, /* I = 22 */ +(PID.TID 0000.0001) 9.000000000000000E+01, /* I = 23 */ +(PID.TID 0000.0001) 9.400000000000000E+01, /* I = 24 */ +(PID.TID 0000.0001) 9.800000000000000E+01, /* I = 25 */ +(PID.TID 0000.0001) 1.020000000000000E+02, /* I = 26 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.700000000000000E+02, /* I = 43 */ +(PID.TID 0000.0001) 1.740000000000000E+02, /* I = 44 */ +(PID.TID 0000.0001) 1.780000000000000E+02, /* I = 45 */ +(PID.TID 0000.0001) 1.820000000000000E+02, /* I = 46 */ +(PID.TID 0000.0001) 1.860000000000000E+02, /* I = 47 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* I = 48 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.580000000000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 2.620000000000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 2.660000000000000E+02, /* I = 67 */ +(PID.TID 0000.0001) 2.700000000000000E+02, /* I = 68 */ +(PID.TID 0000.0001) 2.740000000000000E+02, /* I = 69 */ +(PID.TID 0000.0001) 2.780000000000000E+02, /* I = 70 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.500000000000000E+02, /* I = 88 */ +(PID.TID 0000.0001) 3.540000000000000E+02, /* I = 89 */ +(PID.TID 0000.0001) 3.580000000000000E+02 /* I = 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.800000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.400000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.000000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -6.600000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -6.200000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -5.800000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -5.400000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -4.600000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -4.200000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -3.800000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -3.400000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -2.600000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -2.200000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -1.800000000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -1.400000000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -6.000000000000000E+00, /* J = 19 */ +(PID.TID 0000.0001) -2.000000000000000E+00, /* J = 20 */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* J = 21 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* J = 22 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) 2.600000000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) 3.400000000000000E+01, /* J = 29 */ +(PID.TID 0000.0001) 3.800000000000000E+01, /* J = 30 */ +(PID.TID 0000.0001) 4.200000000000000E+01, /* J = 31 */ +(PID.TID 0000.0001) 4.600000000000000E+01, /* J = 32 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* J = 33 */ +(PID.TID 0000.0001) 5.400000000000000E+01, /* J = 34 */ +(PID.TID 0000.0001) 5.800000000000000E+01, /* J = 35 */ +(PID.TID 0000.0001) 6.200000000000000E+01, /* J = 36 */ +(PID.TID 0000.0001) 6.600000000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 7.400000000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 7.800000000000000E+01 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 3.433488626798250E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.433488626798250E+10, /* J = 1 */ +(PID.TID 0000.0001) 4.783442523123625E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 3 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 4 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 5 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 6 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 19 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 20 */ +(PID.TID 0000.0001) 1.977267295821495E+11, /* J = 21 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 37 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 38 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.783442523123625E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.450614146649749E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 1.000000000000000E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) %CHECKPOINT 4 ckptA +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = -2.22044604925031E-16 7.86983807726830E-04 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 1.33029393421496E-03 + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 6.21724893790088E-15 1.40191055720658E-03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk reference fc: fcref = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj + grad-res closest next position: + grad-res 0 551 26 19 1 2 2 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 551 29309 1 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 0 1 + ph-grd -->hit<-- 28 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 28 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 2.60902410786912E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -7.10542735760100E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.59872115546023E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003938734492D+06 +(PID.TID 0000.0001) local fc = 0.804687708291728D+06 +(PID.TID 0000.0001) global fc = 0.804687708291728D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687708291728E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 1 28 19 1 2 2 1 8.04687744759E+05 8.04687708292E+05 8.04687744759E+05 + grad-res 0 1 1 551 0 2 2 1 -3.65575776577E+00 -1.82338360464E+00 5.01229643355E-01 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.65575776577278E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.82338360464200E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 552 29309 2 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 551 2 + ph-grd -->hit<-- 29 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 29 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -4.27435864480685E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -5.21804821573824E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003938943628D+06 +(PID.TID 0000.0001) local fc = 0.804687708500863D+06 +(PID.TID 0000.0001) global fc = 0.804687708500863D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687708500863E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 2 29 19 1 2 2 1 8.04687744759E+05 8.04687708501E+05 8.04687744759E+05 + grad-res 0 2 2 552 0 2 2 1 -3.63465932636E+00 -1.81292684283E+00 5.01211343335E-01 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.63465932636325E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.81292684283108E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 553 29309 3 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 552 3 + ph-grd -->hit<-- 30 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 30 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -2.72004641033163E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.27675647831893E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.28785870856518E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003938949609D+06 +(PID.TID 0000.0001) local fc = 0.804687708506844D+06 +(PID.TID 0000.0001) global fc = 0.804687708506844D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687708506844E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 3 30 19 1 2 2 1 8.04687744759E+05 8.04687708507E+05 8.04687744759E+05 + grad-res 0 3 3 553 0 2 2 1 -3.63418584966E+00 -1.81262780097E+00 5.01228644885E-01 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.63418584965922E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.81262780097313E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 554 29309 4 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 553 4 + ph-grd -->hit<-- 31 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 31 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.13242748511766E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -9.43689570931383E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -6.88338275267597E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 2.13162820728030E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003943231096D+06 +(PID.TID 0000.0001) local fc = 0.804687712788332D+06 +(PID.TID 0000.0001) global fc = 0.804687712788332D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687712788332E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 4 31 19 1 2 2 1 8.04687744759E+05 8.04687712788E+05 8.04687744759E+05 + grad-res 0 4 4 554 0 2 2 1 -1.65446443816E-02 -1.59855341772E+00 -9.56205970249E+01 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -1.65446443816105E-02 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.59855341771618E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 555 29309 5 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 554 5 + ph-grd -->hit<-- 40 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 40 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -2.16493489801906E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -8.10462807976364E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.90958360235527E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804090369D+06 + --> objf_test(bi,bj) = 0.205003979993800D+06 +(PID.TID 0000.0001) local fc = 0.804687749551411D+06 +(PID.TID 0000.0001) global fc = 0.804687749551411D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687749551411E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 6.10622663543836E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.37667655053519E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 2.53130849614536E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089618D+06 + --> objf_test(bi,bj) = 0.205003970591062D+06 +(PID.TID 0000.0001) local fc = 0.804687740147923D+06 +(PID.TID 0000.0001) global fc = 0.804687740147923D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687740147923E+05 +grad-res ------------------------------- + grad-res 0 5 40 19 1 2 2 1 8.04687744759E+05 8.04687749551E+05 8.04687740148E+05 + grad-res 0 5 5 555 0 2 2 1 4.70174487688E-01 4.70174400834E-01 1.84726171915E-07 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 4.70174487687900E-01 +(PID.TID 0000.0001) ADM finite-diff_grad = 4.70174400834367E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 6 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 556 29309 6 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 555 6 + ph-grd -->hit<-- 41 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 41 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.17683640610267E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 1.05471187339390E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.13242748511766E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804091788D+06 + --> objf_test(bi,bj) = 0.205003981749883D+06 +(PID.TID 0000.0001) local fc = 0.804687751308913D+06 +(PID.TID 0000.0001) global fc = 0.804687751308913D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687751308913E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -2.99760216648792E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.36557432028894E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804088202D+06 + --> objf_test(bi,bj) = 0.205003968829102D+06 +(PID.TID 0000.0001) local fc = 0.804687738384547D+06 +(PID.TID 0000.0001) global fc = 0.804687738384547D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687738384547E+05 +grad-res ------------------------------- + grad-res 0 6 41 19 1 2 2 1 8.04687744759E+05 8.04687751309E+05 8.04687738385E+05 + grad-res 0 6 6 556 0 2 2 1 6.46218052670E-01 6.46218314068E-01 -4.04505358542E-07 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 6.46218052669727E-01 +(PID.TID 0000.0001) ADM finite-diff_grad = 6.46218314068392E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 6 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 7 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 557 29309 7 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 556 7 + ph-grd -->hit<-- 42 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 42 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.12132525487141E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -9.99200722162641E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -2.27595720048157E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.68753899743024E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804095732D+06 + --> objf_test(bi,bj) = 0.205003980265327D+06 +(PID.TID 0000.0001) local fc = 0.804687749828301D+06 +(PID.TID 0000.0001) global fc = 0.804687749828301D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687749828301E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -7.66053886991358E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.24344978758018E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.11022302462516E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804084267D+06 + --> objf_test(bi,bj) = 0.205003970315267D+06 +(PID.TID 0000.0001) local fc = 0.804687739866776D+06 +(PID.TID 0000.0001) global fc = 0.804687739866776D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687739866776E+05 +grad-res ------------------------------- + grad-res 0 7 42 19 1 2 2 1 8.04687744759E+05 8.04687749828E+05 8.04687739867E+05 + grad-res 0 7 7 557 0 2 2 1 4.98076169749E-01 4.98076225631E-01 -1.12195651214E-07 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 4.98076169748959E-01 +(PID.TID 0000.0001) ADM finite-diff_grad = 4.98076225630939E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 7 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 8 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 558 29309 8 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 557 8 + ph-grd -->hit<-- 43 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 43 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.13242748511766E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 5.77315972805081E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -5.44009282066327E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.50990331349021E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804098006D+06 + --> objf_test(bi,bj) = 0.205003981349545D+06 +(PID.TID 0000.0001) local fc = 0.804687750914793D+06 +(PID.TID 0000.0001) global fc = 0.804687750914793D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687750914793E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 6.05071548420710E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -6.32827124036339E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 2.44249065417534E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804081998D+06 + --> objf_test(bi,bj) = 0.205003969233158D+06 +(PID.TID 0000.0001) local fc = 0.804687738782398D+06 +(PID.TID 0000.0001) global fc = 0.804687738782398D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687738782398E+05 +grad-res ------------------------------- + grad-res 0 8 43 19 1 2 2 1 8.04687744759E+05 8.04687750915E+05 8.04687738782E+05 + grad-res 0 8 8 558 0 2 2 1 6.06619515888E-01 6.06619764585E-01 -4.09972327864E-07 +(PID.TID 0000.0001) ADM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = 6.06619515887833E-01 +(PID.TID 0000.0001) ADM finite-diff_grad = 6.06619764585048E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 8 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-02 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 28 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 1 8.0468774475940E+05 8.0468770829173E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 1 -1.8233836046420E+00 -3.6557577657728E+00 5.0122964335506E-01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 29 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 2 8.0468774475940E+05 8.0468770850086E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 2 -1.8129268428311E+00 -3.6346593263633E+00 5.0121134333516E-01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 30 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 3 8.0468774475940E+05 8.0468770850684E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 3 -1.8126278009731E+00 -3.6341858496592E+00 5.0122864488532E-01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 31 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 4 8.0468774475940E+05 8.0468771278833E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 4 -1.5985534177162E+00 -1.6544644381610E-02 -9.5620597024919E+01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 40 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 5 8.0468774475940E+05 8.0468774955141E+05 8.0468774014792E+05 +(PID.TID 0000.0001) grdchk output (g): 5 4.7017440083437E-01 4.7017448768790E-01 1.8472617191456E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 6 41 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 6 8.0468774475940E+05 8.0468775130891E+05 8.0468773838455E+05 +(PID.TID 0000.0001) grdchk output (g): 6 6.4621831406839E-01 6.4621805266973E-01 -4.0450535854220E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 7 42 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 7 8.0468774475940E+05 8.0468774982830E+05 8.0468773986678E+05 +(PID.TID 0000.0001) grdchk output (g): 7 4.9807622563094E-01 4.9807616974896E-01 -1.1219565121401E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 8 43 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 8 8.0468774475940E+05 8.0468775091479E+05 8.0468773878240E+05 +(PID.TID 0000.0001) grdchk output (g): 8 6.0661976458505E-01 6.0661951588783E-01 -4.0997232786388E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 8 ratios = 3.3808379600186E+01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 16.979803099296987 +(PID.TID 0000.0001) System time: 0.44215501053258777 +(PID.TID 0000.0001) Wall clock time: 17.505451917648315 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 5.3731999360024929E-002 +(PID.TID 0000.0001) System time: 5.9569999575614929E-003 +(PID.TID 0000.0001) Wall clock time: 6.0148000717163086E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 12.857535608112812 +(PID.TID 0000.0001) System time: 1.1352965608239174E-002 +(PID.TID 0000.0001) Wall clock time: 12.903800964355469 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.4826569259166718E-002 +(PID.TID 0000.0001) System time: 2.1880436688661575E-003 +(PID.TID 0000.0001) Wall clock time: 3.7173986434936523E-002 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 3.6028645932674408E-002 +(PID.TID 0000.0001) System time: 2.2199898958206177E-003 +(PID.TID 0000.0001) Wall clock time: 3.8435459136962891E-002 +(PID.TID 0000.0001) No. starts: 76 +(PID.TID 0000.0001) No. stops: 76 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.7717074155807495E-004 +(PID.TID 0000.0001) System time: 2.9876828193664551E-006 +(PID.TID 0000.0001) Wall clock time: 4.0888786315917969E-004 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.7012394964694977E-002 +(PID.TID 0000.0001) System time: 9.9994242191314697E-005 +(PID.TID 0000.0001) Wall clock time: 1.7197370529174805E-002 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.6877939030528069 +(PID.TID 0000.0001) System time: 2.0220167934894562E-003 +(PID.TID 0000.0001) Wall clock time: 2.6973631381988525 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.8408385515213013 +(PID.TID 0000.0001) System time: 2.5004148483276367E-005 +(PID.TID 0000.0001) Wall clock time: 3.8518359661102295 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.7798563241958618 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 4.7923829555511475 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.81492757797241211 +(PID.TID 0000.0001) System time: 2.3961067199707031E-005 +(PID.TID 0000.0001) Wall clock time: 0.81694650650024414 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.15568655729293823 +(PID.TID 0000.0001) System time: 7.9870223999023438E-006 +(PID.TID 0000.0001) Wall clock time: 0.15610909461975098 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.15144807100296021 +(PID.TID 0000.0001) System time: 4.0233135223388672E-006 +(PID.TID 0000.0001) Wall clock time: 0.15184497833251953 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.0161609649658203E-004 +(PID.TID 0000.0001) System time: 1.0132789611816406E-006 +(PID.TID 0000.0001) Wall clock time: 4.0006637573242188E-004 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.12120249867439270 +(PID.TID 0000.0001) System time: 1.0132789611816406E-006 +(PID.TID 0000.0001) Wall clock time: 0.12162590026855469 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.22292920947074890 +(PID.TID 0000.0001) System time: 8.9704990386962891E-006 +(PID.TID 0000.0001) Wall clock time: 0.22355771064758301 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.8554749488830566E-003 +(PID.TID 0000.0001) System time: 2.9600113630294800E-003 +(PID.TID 0000.0001) Wall clock time: 1.0876655578613281E-002 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.5921354293823242E-002 +(PID.TID 0000.0001) System time: 3.9810016751289368E-003 +(PID.TID 0000.0001) Wall clock time: 2.0033836364746094E-002 +(PID.TID 0000.0001) No. starts: 72 +(PID.TID 0000.0001) No. stops: 72 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.2174129486083984E-002 +(PID.TID 0000.0001) System time: 1.0229945182800293E-003 +(PID.TID 0000.0001) Wall clock time: 1.3296127319335938E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.2331008911132812E-002 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.2413978576660156E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 12.670693397521973 +(PID.TID 0000.0001) System time: 2.6840984821319580E-002 +(PID.TID 0000.0001) Wall clock time: 12.755477905273438 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.45569562911987305 +(PID.TID 0000.0001) System time: 1.5693038702011108E-002 +(PID.TID 0000.0001) Wall clock time: 0.47376179695129395 +(PID.TID 0000.0001) No. starts: 17 +(PID.TID 0000.0001) No. stops: 17 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 12.121188163757324 +(PID.TID 0000.0001) System time: 2.3059844970703125E-003 +(PID.TID 0000.0001) Wall clock time: 12.156122684478760 +(PID.TID 0000.0001) No. starts: 17 +(PID.TID 0000.0001) No. stops: 17 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 12.119670867919922 +(PID.TID 0000.0001) System time: 2.3020207881927490E-003 +(PID.TID 0000.0001) Wall clock time: 12.154595851898193 +(PID.TID 0000.0001) No. starts: 68 +(PID.TID 0000.0001) No. stops: 68 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 9.2029571533203125E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 9.2101097106933594E-004 +(PID.TID 0000.0001) No. starts: 17 +(PID.TID 0000.0001) No. stops: 17 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 19798 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 19798 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/OpenAD/results/output_tap_tlm.txt b/verification/OpenAD/results/output_tap_tlm.txt new file mode 100644 index 0000000000..fa933f7d30 --- /dev/null +++ b/verification/OpenAD/results/output_tap_tlm.txt @@ -0,0 +1,3171 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 03:09:21 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the namelist terminator (as shown here). +(PID.TID 0000.0001) ># Other systems use a / character. +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 45 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 20 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 3 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 3 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 90 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 40 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef = 15*20., +(PID.TID 0000.0001) > sRef = 15*35., +(PID.TID 0000.0001) > viscAr=1.E-3, +(PID.TID 0000.0001) > viscAh=5.E5, +(PID.TID 0000.0001) > diffKhT=0.0, +(PID.TID 0000.0001) > diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=0.0, +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > rhoConst=1035., +(PID.TID 0000.0001) > rotationPeriod=86400., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > eosType = 'JMD95Z', +(PID.TID 0000.0001) > ivdc_kappa=100., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) > useRealFreshWaterFlux=.TRUE., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) ># turn on looped cells +(PID.TID 0000.0001) > hFacMin=.05, +(PID.TID 0000.0001) > hFacMindr=50., +(PID.TID 0000.0001) ># set precision of data files +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-19, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0 = 0, +(PID.TID 0000.0001) > nTimeSteps = 4, +(PID.TID 0000.0001) ># 100 years of integration will yield a reasonable flow field +(PID.TID 0000.0001) ># startTime = 0., +(PID.TID 0000.0001) ># endTime = 3110400000., +(PID.TID 0000.0001) > deltaTMom = 1200.0, +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > deltaTtracer= 43200.0, +(PID.TID 0000.0001) > deltaTClock = 43200.0, +(PID.TID 0000.0001) ># if you are using a version later than checkpoint45d on the main branch +(PID.TID 0000.0001) ># you can uncomment the following line and increase the time step +(PID.TID 0000.0001) ># deltaTtracer and deltaTClock to 172800.0 as well to speed up the +(PID.TID 0000.0001) ># asynchronous time stepping +(PID.TID 0000.0001) ># deltaTfreesurf = 172800.0, +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq= 311040000., +(PID.TID 0000.0001) > dumpFreq = 2592000., +(PID.TID 0000.0001) > adjDumpFreq = 2592000., +(PID.TID 0000.0001) > monitorFreq = 0., +(PID.TID 0000.0001) > adjMonitorFreq = 0., +(PID.TID 0000.0001) ># 2 months restoring timescale for temperature +(PID.TID 0000.0001) > tauThetaClimRelax = 5184000.0, +(PID.TID 0000.0001) ># 6 months restoring timescale for salinity +(PID.TID 0000.0001) > tauSaltClimRelax = 15552000.0, +(PID.TID 0000.0001) > periodicExternalForcing=.TRUE., +(PID.TID 0000.0001) > externForcingPeriod=2592000., +(PID.TID 0000.0001) > externForcingCycle=31104000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delR= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > ygOrigin=-80., +(PID.TID 0000.0001) > dySpacing=4., +(PID.TID 0000.0001) > dxSpacing=4., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile= 'bathymetry.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_t.bin', +(PID.TID 0000.0001) > hydrogSaltFile= 'lev_s.bin', +(PID.TID 0000.0001) > zonalWindFile= 'trenberth_taux.bin', +(PID.TID 0000.0001) > meridWindFile= 'trenberth_tauy.bin', +(PID.TID 0000.0001) > thetaClimFile= 'lev_sst.bin', +(PID.TID 0000.0001) > saltClimFile= 'lev_sss.bin', +(PID.TID 0000.0001) > surfQnetFile= 'ncep_qnet.bin', +(PID.TID 0000.0001) ># fresh water flux is turned off, uncomment next line to turn on +(PID.TID 0000.0001) ># (not recommened together with surface salinity restoring) +(PID.TID 0000.0001) ># EmPmRFile= 'ncep_emp.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) S/R INI_PARMS: No request for barotropic solver +(PID.TID 0000.0001) S/R INI_PARMS: => Use implicitFreeSurface as default +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useGGL90 = .FALSE., +(PID.TID 0000.0001) > useKPP = .FALSE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > useMNC = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/ggl90 compiled but not used ( useGGL90 = F ) + pkg/kpp compiled but not used ( useKPP = F ) + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-12, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .FALSE., +(PID.TID 0000.0001) > GM_isopycK = 1.0D+3, +(PID.TID 0000.0001) > GM_background_K = 1.0D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 0.D0, +(PID.TID 0000.0001) ># GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) ># GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) ># GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) ># the bounds are commented out to reproduce old results with +(PID.TID 0000.0001) ># the CPP-flag DISABLE_CTRL_THETA_LIMIT defined +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_genarr2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_genarr2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_genarr2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_genarr2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > mult_tracer = 1., +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > mult_atl = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-2, +(PID.TID 0000.0001) > iGloTile = 2, +(PID.TID 0000.0001) > jGloTile = 2, +(PID.TID 0000.0001) > iGloPos = 26, +(PID.TID 0000.0001) > jGloPos = 19, +(PID.TID 0000.0001) > kGloPos = 1, +(PID.TID 0000.0001) >### nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 7, +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-01 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 7 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 2 , jLocTile = 2 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 67878 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 669 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 640 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 610 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 8651 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 17302 +(PID.TID 0000.0001) ctrl-wet 8: atmos 17302 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 67878 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 2254 2102 2146 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 2215 2058 2104 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 2178 2027 2070 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 2142 1987 2029 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2114 1959 2004 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 2076 1918 1959 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 2048 1887 1925 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 1999 1831 1869 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 1948 1771 1808 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 1850 1653 1705 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 1655 1404 1458 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 1372 1118 1164 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 828 623 671 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 6 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 67878 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 13500 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 008651 007584 008016 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 010278 009360 009834 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 003504 003232 003049 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 006876 006460 006425 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 2D control, genarr2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0101 +(PID.TID 0000.0001) ncvarindex = 0201 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0102 +(PID.TID 0000.0001) ncvarindex = 0202 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0103 +(PID.TID 0000.0001) ncvarindex = 0203 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0104 +(PID.TID 0000.0001) ncvarindex = 0204 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 6.5682677425711703E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.272205216643040E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-19 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.962666600296178E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 1.728000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 1.555200000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 90 @ 4.000000000000000E+00 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 40 @ 4.000000000000000E+00 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.200000000000000E+01, /* I = 21 */ +(PID.TID 0000.0001) 8.600000000000000E+01, /* I = 22 */ +(PID.TID 0000.0001) 9.000000000000000E+01, /* I = 23 */ +(PID.TID 0000.0001) 9.400000000000000E+01, /* I = 24 */ +(PID.TID 0000.0001) 9.800000000000000E+01, /* I = 25 */ +(PID.TID 0000.0001) 1.020000000000000E+02, /* I = 26 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.700000000000000E+02, /* I = 43 */ +(PID.TID 0000.0001) 1.740000000000000E+02, /* I = 44 */ +(PID.TID 0000.0001) 1.780000000000000E+02, /* I = 45 */ +(PID.TID 0000.0001) 1.820000000000000E+02, /* I = 46 */ +(PID.TID 0000.0001) 1.860000000000000E+02, /* I = 47 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* I = 48 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.580000000000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 2.620000000000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 2.660000000000000E+02, /* I = 67 */ +(PID.TID 0000.0001) 2.700000000000000E+02, /* I = 68 */ +(PID.TID 0000.0001) 2.740000000000000E+02, /* I = 69 */ +(PID.TID 0000.0001) 2.780000000000000E+02, /* I = 70 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.500000000000000E+02, /* I = 88 */ +(PID.TID 0000.0001) 3.540000000000000E+02, /* I = 89 */ +(PID.TID 0000.0001) 3.580000000000000E+02 /* I = 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.800000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.400000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.000000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -6.600000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -6.200000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -5.800000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -5.400000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -4.600000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -4.200000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -3.800000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -3.400000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -2.600000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -2.200000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -1.800000000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -1.400000000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -6.000000000000000E+00, /* J = 19 */ +(PID.TID 0000.0001) -2.000000000000000E+00, /* J = 20 */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* J = 21 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* J = 22 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) 2.600000000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) 3.400000000000000E+01, /* J = 29 */ +(PID.TID 0000.0001) 3.800000000000000E+01, /* J = 30 */ +(PID.TID 0000.0001) 4.200000000000000E+01, /* J = 31 */ +(PID.TID 0000.0001) 4.600000000000000E+01, /* J = 32 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* J = 33 */ +(PID.TID 0000.0001) 5.400000000000000E+01, /* J = 34 */ +(PID.TID 0000.0001) 5.800000000000000E+01, /* J = 35 */ +(PID.TID 0000.0001) 6.200000000000000E+01, /* J = 36 */ +(PID.TID 0000.0001) 6.600000000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 7.400000000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 7.800000000000000E+01 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 3.433488626798250E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.433488626798250E+10, /* J = 1 */ +(PID.TID 0000.0001) 4.783442523123625E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 3 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 4 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 5 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 6 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 19 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 20 */ +(PID.TID 0000.0001) 1.977267295821495E+11, /* J = 21 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 37 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 38 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.783442523123625E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.450614146649749E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 1.000000000000000E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk reference fc: fcref = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc tlm grad fd grad 1 - fd/tlm + grad-res closest next position: + grad-res 0 551 26 19 1 2 2 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 551 29309 1 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 0 1 + ph-grd -->hit<-- 28 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 28 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -1.11022302462516E-16 1.16548668744000E-03 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = 1.45897357270161E-16 2.41472153191170E-03 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = 1.28510447779578E-16 3.31808913578862E-03 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = -8.08598232471198E-17 3.78261780479614E-03 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 2.60902410786912E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -7.10542735760100E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.59872115546023E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003938734492D+06 +(PID.TID 0000.0001) local fc = 0.804687708291728D+06 +(PID.TID 0000.0001) global fc = 0.804687708291728D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687708291728E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 1 28 19 1 2 2 1 8.04687744759E+05 8.04687708292E+05 8.04687744759E+05 + grad-res 0 1 1 551 0 2 2 1 -3.65575776577E+00 -1.82338360464E+00 5.01229643355E-01 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.65575776577278E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -1.82338360464200E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 552 29309 2 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 551 2 + ph-grd -->hit<-- 29 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 29 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 3.24869609541169E-03 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = -1.08168325266430E-16 5.40644032632474E-03 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = -4.93305564828450E-17 6.04449745137578E-03 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = 1.44024219673851E-17 5.86714693888833E-03 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -4.27435864480685E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -5.21804821573824E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003938943628D+06 +(PID.TID 0000.0001) local fc = 0.804687708500863D+06 +(PID.TID 0000.0001) global fc = 0.804687708500863D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687708500863E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 2 29 19 1 2 2 1 8.04687744759E+05 8.04687708501E+05 8.04687744759E+05 + grad-res 0 2 2 552 0 2 2 1 -3.63465932636E+00 -1.81292684283E+00 5.01211343335E-01 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.63465932636325E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -1.81292684283108E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 553 29309 3 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 552 3 + ph-grd -->hit<-- 30 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 30 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 2.77555756156289E-16 2.84770854429619E-03 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = 3.74129407366098E-16 4.90814274114602E-03 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = 4.13328230425117E-16 5.65207826502296E-03 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = 3.13855684345249E-16 5.57534779434255E-03 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -2.72004641033163E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.27675647831893E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.28785870856518E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003938949609D+06 +(PID.TID 0000.0001) local fc = 0.804687708506844D+06 +(PID.TID 0000.0001) global fc = 0.804687708506844D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687708506844E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 3 30 19 1 2 2 1 8.04687744759E+05 8.04687708507E+05 8.04687744759E+05 + grad-res 0 3 3 553 0 2 2 1 -3.63418584966E+00 -1.81262780097E+00 5.01228644885E-01 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.63418584965922E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -1.81262780097313E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 554 29309 4 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 553 4 + ph-grd -->hit<-- 31 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 31 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -1.11022302462516E-16 7.59955142581348E-04 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = 6.47093266450341E-17 1.69610660207212E-03 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = 1.26713075855085E-16 1.32722630165744E-03 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = -2.47582318043087E-16 8.62504600242123E-04 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.13242748511766E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -9.43689570931383E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -6.88338275267597E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 2.13162820728030E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003943231096D+06 +(PID.TID 0000.0001) local fc = 0.804687712788332D+06 +(PID.TID 0000.0001) global fc = 0.804687712788332D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687712788332E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 8.88178419700125E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.84297022087776E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687744759400E+05 +grad-res ------------------------------- + grad-res 0 4 31 19 1 2 2 1 8.04687744759E+05 8.04687712788E+05 8.04687744759E+05 + grad-res 0 4 4 554 0 2 2 1 -1.65446443816E-02 -1.59855341772E+00 -9.56205970249E+01 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -1.65446443816105E-02 +(PID.TID 0000.0001) TLM finite-diff_grad = -1.59855341771618E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 555 29309 5 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 554 5 + ph-grd -->hit<-- 40 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 40 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 6.93889390390723E-18 1.06362556953950E-03 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = 3.20923843055709E-17 2.52332846376211E-03 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = -2.11636264069170E-16 3.98177755181374E-03 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = -2.91433543964104E-16 5.19897410149461E-03 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -2.16493489801906E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -8.10462807976364E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.90958360235527E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804090369D+06 + --> objf_test(bi,bj) = 0.205003979993800D+06 +(PID.TID 0000.0001) local fc = 0.804687749551411D+06 +(PID.TID 0000.0001) global fc = 0.804687749551411D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687749551411E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 6.10622663543836E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.37667655053519E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 2.53130849614536E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089618D+06 + --> objf_test(bi,bj) = 0.205003970591062D+06 +(PID.TID 0000.0001) local fc = 0.804687740147923D+06 +(PID.TID 0000.0001) global fc = 0.804687740147923D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687740147923E+05 +grad-res ------------------------------- + grad-res 0 5 40 19 1 2 2 1 8.04687744759E+05 8.04687749551E+05 8.04687740148E+05 + grad-res 0 5 5 555 0 2 2 1 4.70174487688E-01 4.70174400834E-01 1.84726172137E-07 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = 4.70174487687900E-01 +(PID.TID 0000.0001) TLM finite-diff_grad = 4.70174400834367E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 6 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 556 29309 6 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 555 6 + ph-grd -->hit<-- 41 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 41 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 4.63767479280675E-17 3.23364614346126E-03 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = -2.08166817117217E-16 6.59819897607395E-03 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = -1.31838984174237E-16 8.92282176575031E-03 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = 8.32667268468867E-17 9.95128798062452E-03 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.17683640610267E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 1.05471187339390E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.13242748511766E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804091788D+06 + --> objf_test(bi,bj) = 0.205003981749883D+06 +(PID.TID 0000.0001) local fc = 0.804687751308913D+06 +(PID.TID 0000.0001) global fc = 0.804687751308913D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687751308913E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.15463194561016E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -2.99760216648792E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.36557432028894E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804088202D+06 + --> objf_test(bi,bj) = 0.205003968829102D+06 +(PID.TID 0000.0001) local fc = 0.804687738384547D+06 +(PID.TID 0000.0001) global fc = 0.804687738384547D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687738384547E+05 +grad-res ------------------------------- + grad-res 0 6 41 19 1 2 2 1 8.04687744759E+05 8.04687751309E+05 8.04687738385E+05 + grad-res 0 6 6 556 0 2 2 1 6.46218052670E-01 6.46218314068E-01 -4.04505358764E-07 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = 6.46218052669727E-01 +(PID.TID 0000.0001) TLM finite-diff_grad = 6.46218314068392E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 6 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 7 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 557 29309 7 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 556 7 + ph-grd -->hit<-- 42 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 42 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 5.44838696728278E-16 1.03000043696074E-02 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = 1.35308431126191E-16 1.64519786445241E-02 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = 6.10622663543836E-16 1.79374281997282E-02 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = 6.66133814775094E-16 1.73476633084781E-02 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.12132525487141E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -9.99200722162641E-16 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -2.27595720048157E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.68753899743024E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804095732D+06 + --> objf_test(bi,bj) = 0.205003980265327D+06 +(PID.TID 0000.0001) local fc = 0.804687749828301D+06 +(PID.TID 0000.0001) global fc = 0.804687749828301D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687749828301E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = -7.66053886991358E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -1.24344978758018E-14 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.11022302462516E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804084267D+06 + --> objf_test(bi,bj) = 0.205003970315267D+06 +(PID.TID 0000.0001) local fc = 0.804687739866776D+06 +(PID.TID 0000.0001) global fc = 0.804687739866776D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687739866776E+05 +grad-res ------------------------------- + grad-res 0 7 42 19 1 2 2 1 8.04687744759E+05 8.04687749828E+05 8.04687739867E+05 + grad-res 0 7 7 557 0 2 2 1 4.98076169749E-01 4.98076225631E-01 -1.12195652102E-07 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = 4.98076169748958E-01 +(PID.TID 0000.0001) TLM finite-diff_grad = 4.98076225630939E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 7 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 8 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 558 29309 8 + ph-grd _loc: bi, bj, icomptest, ichknum 2 2 557 8 + ph-grd -->hit<-- 43 19 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 43 19 1 ; bi,bj= 2 2 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -5.95877513998033E-16 1.73157376700895E-02 + cg2d: Sum(rhs),rhsMax = 7.66053886991358E-15 2.53674886388750E+00 + cg2d: Sum(rhs),rhsMax = -7.28583859910259E-16 2.45840969351960E-02 + cg2d: Sum(rhs),rhsMax = 5.38458166943201E-15 5.04325900480937E+00 + cg2d: Sum(rhs),rhsMax = -5.13478148889135E-16 2.48273704609662E-02 + cg2d: Sum(rhs),rhsMax = -5.55111512312578E-16 6.29008403763991E+00 + cg2d: Sum(rhs),rhsMax = -5.27355936696949E-16 2.34657431807338E-02 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-14 6.70003306073582E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804089993D+06 + --> objf_test(bi,bj) = 0.205003975202165D+06 +(PID.TID 0000.0001) local fc = 0.804687744759400D+06 +(PID.TID 0000.0001) global fc = 0.804687744759400D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.13242748511766E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 5.77315972805081E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -5.44009282066327E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 1.50990331349021E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804098006D+06 + --> objf_test(bi,bj) = 0.205003981349545D+06 +(PID.TID 0000.0001) local fc = 0.804687750914793D+06 +(PID.TID 0000.0001) global fc = 0.804687750914793D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 8.04687750914793E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.14352971536391E-14 2.53674886388737E+00 + cg2d: Sum(rhs),rhsMax = 6.05071548420710E-15 5.04325900480939E+00 + cg2d: Sum(rhs),rhsMax = -6.32827124036339E-15 6.29008403763954E+00 + cg2d: Sum(rhs),rhsMax = 2.44249065417534E-14 6.70003306073569E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.221431048007422D+06 + --> objf_test(bi,bj) = 0.241096917459820D+06 + --> objf_test(bi,bj) = 0.137155804081998D+06 + --> objf_test(bi,bj) = 0.205003969233158D+06 +(PID.TID 0000.0001) local fc = 0.804687738782398D+06 +(PID.TID 0000.0001) global fc = 0.804687738782398D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 8.04687738782398E+05 +grad-res ------------------------------- + grad-res 0 8 43 19 1 2 2 1 8.04687744759E+05 8.04687750915E+05 8.04687738782E+05 + grad-res 0 8 8 558 0 2 2 1 6.06619515888E-01 6.06619764585E-01 -4.09972328308E-07 +(PID.TID 0000.0001) TLM ref_cost_function = 8.04687744759400E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = 6.06619515887833E-01 +(PID.TID 0000.0001) TLM finite-diff_grad = 6.06619764585048E-01 +(PID.TID 0000.0001) ====== End of gradient-check number 8 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-02 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) TLM GRAD(FC) 1-FDGRD/TLMGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 28 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 1 8.0468774475940E+05 8.0468770829173E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 1 -1.8233836046420E+00 -3.6557577657728E+00 5.0122964335506E-01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 29 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 2 8.0468774475940E+05 8.0468770850086E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 2 -1.8129268428311E+00 -3.6346593263633E+00 5.0121134333516E-01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 30 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 3 8.0468774475940E+05 8.0468770850684E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 3 -1.8126278009731E+00 -3.6341858496592E+00 5.0122864488532E-01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 31 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 4 8.0468774475940E+05 8.0468771278833E+05 8.0468774475940E+05 +(PID.TID 0000.0001) grdchk output (g): 4 -1.5985534177162E+00 -1.6544644381610E-02 -9.5620597024919E+01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 40 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 5 8.0468774475940E+05 8.0468774955141E+05 8.0468774014792E+05 +(PID.TID 0000.0001) grdchk output (g): 5 4.7017440083437E-01 4.7017448768790E-01 1.8472617213661E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 6 41 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 6 8.0468774475940E+05 8.0468775130891E+05 8.0468773838455E+05 +(PID.TID 0000.0001) grdchk output (g): 6 6.4621831406839E-01 6.4621805266973E-01 -4.0450535876424E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 7 42 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 7 8.0468774475940E+05 8.0468774982830E+05 8.0468773986678E+05 +(PID.TID 0000.0001) grdchk output (g): 7 4.9807622563094E-01 4.9807616974896E-01 -1.1219565210219E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 8 43 19 1 2 2 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 8 8.0468774475940E+05 8.0468775091479E+05 8.0468773878240E+05 +(PID.TID 0000.0001) grdchk output (g): 8 6.0661976458505E-01 6.0661951588783E-01 -4.0997232830797E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 8 ratios = 3.3808379600186E+01 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 23.143473279662430 +(PID.TID 0000.0001) System time: 6.2692997511476278E-002 +(PID.TID 0000.0001) Wall clock time: 23.285346984863281 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 4.7715998720377684E-002 +(PID.TID 0000.0001) System time: 1.2107000045944005E-002 +(PID.TID 0000.0001) Wall clock time: 6.1628818511962891E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.1371999979019165E-002 +(PID.TID 0000.0001) System time: 1.8469998612999916E-003 +(PID.TID 0000.0001) Wall clock time: 1.3355016708374023E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.2187004089355469E-002 +(PID.TID 0000.0001) System time: 4.1999854147434235E-005 +(PID.TID 0000.0001) Wall clock time: 1.2287139892578125E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 23.072151556611061 +(PID.TID 0000.0001) System time: 4.8688997514545918E-002 +(PID.TID 0000.0001) Wall clock time: 23.198036909103394 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.73578620702028275 +(PID.TID 0000.0001) System time: 3.0847009271383286E-002 +(PID.TID 0000.0001) Wall clock time: 0.77043056488037109 +(PID.TID 0000.0001) No. starts: 25 +(PID.TID 0000.0001) No. stops: 25 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 22.200322724878788 +(PID.TID 0000.0001) System time: 8.9779924601316452E-003 +(PID.TID 0000.0001) Wall clock time: 22.271947622299194 +(PID.TID 0000.0001) No. starts: 25 +(PID.TID 0000.0001) No. stops: 25 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 22.138756498694420 +(PID.TID 0000.0001) System time: 4.9789939075708389E-003 +(PID.TID 0000.0001) Wall clock time: 22.206112146377563 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 22.137597963213921 +(PID.TID 0000.0001) System time: 4.9779936671257019E-003 +(PID.TID 0000.0001) Wall clock time: 22.204955101013184 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.9519732594490051E-002 +(PID.TID 0000.0001) System time: 3.0130036175251007E-003 +(PID.TID 0000.0001) Wall clock time: 5.2795410156250000E-002 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 4.8332393169403076E-002 +(PID.TID 0000.0001) System time: 3.0110049992799759E-003 +(PID.TID 0000.0001) Wall clock time: 5.1634788513183594E-002 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.5403262376785278E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 5.6266784667968750E-004 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.7902267873287201E-002 +(PID.TID 0000.0001) System time: 3.9972364902496338E-006 +(PID.TID 0000.0001) Wall clock time: 2.8063774108886719E-002 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.7856795117259026 +(PID.TID 0000.0001) System time: 5.0030648708343506E-006 +(PID.TID 0000.0001) Wall clock time: 4.7996385097503662 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.6626956611871719 +(PID.TID 0000.0001) System time: 1.9399952143430710E-003 +(PID.TID 0000.0001) Wall clock time: 6.6837007999420166 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 8.1588689237833023 +(PID.TID 0000.0001) System time: 9.9837779998779297E-007 +(PID.TID 0000.0001) Wall clock time: 8.1817128658294678 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.3845482766628265 +(PID.TID 0000.0001) System time: 2.0004808902740479E-006 +(PID.TID 0000.0001) Wall clock time: 1.3881802558898926 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.25566700100898743 +(PID.TID 0000.0001) System time: 5.0012022256851196E-006 +(PID.TID 0000.0001) Wall clock time: 0.25641894340515137 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.26056703925132751 +(PID.TID 0000.0001) System time: 1.9967555999755859E-006 +(PID.TID 0000.0001) Wall clock time: 0.26127910614013672 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.9172511100769043E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 5.8174133300781250E-004 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.22761762142181396 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.22838735580444336 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.31235760450363159 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.31320405006408691 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.1765313148498535E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 6.3061714172363281E-004 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 9.7873806953430176E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 9.7131729125976562E-004 +(PID.TID 0000.0001) No. starts: 100 +(PID.TID 0000.0001) No. stops: 100 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 1.5305876731872559E-003 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.5339851379394531E-003 +(PID.TID 0000.0001) No. starts: 25 +(PID.TID 0000.0001) No. stops: 25 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 28322 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 28322 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/global_oce_biogeo_bling/code_tap/AUTODIFF_OPTIONS.h b/verification/global_oce_biogeo_bling/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..b92794d8d2 --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,83 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o allow using viscFacInAd to recompute viscosities in AD +#define AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/global_oce_biogeo_bling/code_tap/CPP_OPTIONS.h b/verification/global_oce_biogeo_bling/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..2e5fc65d92 --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/CPP_OPTIONS.h @@ -0,0 +1,134 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#undef ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Include/exclude Implicit vertical advection code +#define INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#define ALLOW_ADAMSBASHFORTH_3 + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C o Use "Exact Convervation" of fluid in Free-Surface formulation +C so that d/dt(eta) is exactly equal to - Div.Transport +#undef EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that surface thickness (hFactors) vary with time +#undef NONLIN_FRSURF +#undef DISABLE_RSTAR_CODE +#define DISABLE_SIGMA_CODE + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#define SOLVE_DIAGONAL_KINNER + +C o ALLOW isotropic scaling of harmonic and bi-harmonic terms when +C using an locally isotropic spherical grid with (dlambda) x (dphi*cos(phi)) +C *only for use on a lat-lon grid* +C Setting this flag here affects both momentum and tracer equation unless +C it is set/unset again in other header fields (e.g., GAD_OPTIONS.h). +C The definition of the flag is commented to avoid interference with +C such other header files. +C The preferred method is specifying a value for viscAhGrid or viscA4Grid +C in data which is then automatically scaled by the grid size; +C the old method of specifying viscAh/viscA4 and this flag is provided +C for completeness only (and for use with the adjoint). +C#define ISOTROPIC_COS_SCALING + +C o This flag selects the form of COSINE(lat) scaling of bi-harmonic term. +C *only for use on a lat-lon grid* +C Has no effect if ISOTROPIC_COS_SCALING is undefined. +C Has no effect on vector invariant momentum equations. +C Setting this flag here affects both momentum and tracer equation unless +C it is set/unset again in other header fields (e.g., GAD_OPTIONS.h). +C The definition of the flag is commented to avoid interference with +C such other header files. +C#define COSINEMETH_III + +C o Use "OLD" UV discretisation near boundaries (*not* recommended) +C Note - only works with pkg/mom_fluxform and "no_slip_sides=.FALSE." +C because the old code did not have no-slip BCs +#undef OLD_ADV_BCS + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C o Use old EXTERNAL_FORCING_U,V,T,S subroutines (for backward compatibility) +#undef USE_OLD_EXTERNAL_FORCING + +#define EXCLUDE_PCELL_MIX_CODE + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +#endif /* CPP_OPTIONS_H */ + diff --git a/verification/global_oce_biogeo_bling/code_tap/CTRL_OPTIONS.h b/verification/global_oce_biogeo_bling/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..c61f59502f --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,60 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o I/O and pack settings +#define CTRL_SET_PREC_32 +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO +#define ALLOW_PACKUNPACK_METHOD2 +CMM( +#define EXCLUDE_CTRL_PACK +CMM) + +C o sets of controls +#define ALLOW_GENTIM2D_CONTROL +#define ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL + +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel23 to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D + +C o impose bounds on controls +CMM#define ALLOW_ADCTRLBOUND + +C o rotate u/v vector control to zonal/meridional +C components +CMM#define ALLOW_ROTATE_UV_CONTROLS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ + diff --git a/verification/global_oce_biogeo_bling/code_tap/CTRL_SIZE.h b/verification/global_oce_biogeo_bling/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..3b825e5cc2 --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 1 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 8 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 1 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_oce_biogeo_bling/code_tap/DIAGNOSTICS_SIZE.h b/verification/global_oce_biogeo_bling/code_tap/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..cd61027e7a --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/DIAGNOSTICS_SIZE.h @@ -0,0 +1,28 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numDiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C sizRegMsk :: maximum size of the regional-mask (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numDiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numDiags + INTEGER nRegions, sizRegMsk, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 10, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numDiags = 240 ) + PARAMETER( nRegions = 0 , sizRegMsk = 1 , nStats = 4 ) + PARAMETER( diagSt_size = 10*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_oce_biogeo_bling/code_tap/ECCO_OPTIONS.h b/verification/global_oce_biogeo_bling/code_tap/ECCO_OPTIONS.h new file mode 100644 index 0000000000..312710da1f --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/ECCO_OPTIONS.h @@ -0,0 +1,71 @@ +CBOP +C !ROUTINE: ECCO_OPTIONS.h +C !INTERFACE: +C #include "ECCO_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for ECCO (ecco) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef ECCO_OPTIONS_H +#define ECCO_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_ECCO +#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 ================================================================== +C-- Package-specific Options & Macros go here +C + +C >>> use model/src/forward_step.F +CMM obsolete now #define ALLOW_ECCO_EVOLUTION + +C >>> Cost function contributions +#define ALLOW_ECCO_OLD_FC_PRINT + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost function terms. +C > In data.ecco, this requires the specification of data file (name, frequency, +C etc.), bar file name for corresp. model average, standard error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to increase +C NGENCOST, and editing cost_gencost_customize.F to implement the actual +C model average (i.e. the bar file content). +#define ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined elements (e.g. +C psbar and and topex data) while taking advantage of the cost function/namelist slots +C that can be made available using ALLOW_GENCOST_CONTRIBUTION. To this end +C ALLOW_GENCOST_CONTRIBUTION simply switches off tests that check whether all of the +C gencost elements (e.g. gencost_barfile and gencost_datafile) are specified in data.ecco. +C > While this option increases flexibility within the gencost framework, it implies more room +C for error, so it should be used cautiously, and with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing cost_gencost_all.F accordingly. +#define ALLOW_GENCOST_FREEFORM +C >>> 3 dimensional version of GENCOST: +#define ALLOW_GENCOST3D + +c in case there is a single observational file (rather than yearly files) +c assume it contains a climatology (otherwise, assume it is a full time series) +#define COST_GENERIC_ASSUME_CYCLIC + +c include global mean steric sea level correction in etanFull +CMM #define ALLOW_PSBAR_STERIC +CMM#define ALLOW_SHALLOW_ALTIMETRY +#undef ALLOW_HIGHLAT_ALTIMETRY + +C >>> In-Situ Profiles. +#define ALLOW_PROFILES_CONTRIBUTION + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_ECCO */ +#endif /* ECCO_OPTIONS_H */ + diff --git a/verification/global_oce_biogeo_bling/code_tap/GMREDI_OPTIONS.h b/verification/global_oce_biogeo_bling/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..98d1c2a39e --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,52 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +C Following option avoids specific recomputation in adjoint +C routines of gmredi_x/y/rtransport +C It is not needed, only for tests, and very memory-consuming +#undef GM_AUTODIFF_EXCESSIVE_STORE + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_oce_biogeo_bling/code_tap/MDSIO_BUFF_WH.h b/verification/global_oce_biogeo_bling/code_tap/MDSIO_BUFF_WH.h new file mode 100644 index 0000000000..43da7d172c --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/MDSIO_BUFF_WH.h @@ -0,0 +1,56 @@ +CBOP +C !ROUTINE: MDSIO_BUFF_WH.h +C !INTERFACE: +C include "MDSIO_BUFF_WH.h" +C +C !DESCRIPTION: +C *==========================================================* +C | MDSIO_BUFF_WH.h +C | o Shared Buffers used for I/O WITH HALOS +C *==========================================================* +CEOP + +#ifdef ALLOW_WHIO +C-- COMMON /MDS_WH_BUFFERS/ Shared Local Buffers With Halos +C Those buffers have be in common block to be shared by all threads +C fld2d_procbuff_rx :: Heap storage buffer to which master thread +C read-in/write-from data which all threads copy from +C (during read) or copy to (during write). + COMMON /MDS_WH_BUFFERS/ +#ifndef EXCLUDE_WHIO_GLOBUFF_2D + & fld2d_globuff_r8, fld2d_globuff_r4, +#endif + & fld2d_procbuff_r8, fld2d_procbuff_r4 + Real*8 fld2d_procbuff_r8( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy ) + Real*4 fld2d_procbuff_r4( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy ) +#ifndef EXCLUDE_WHIO_GLOBUFF_2D + Real*4 fld2d_globuff_r4( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy ) + Real*8 fld2d_globuff_r8( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy ) +#endif + +#ifdef ALLOW_WHIO_3D + COMMON /MDS_WH_BUFFERS_3D_L/ writeWh + logical writeWh + COMMON /MDS_WH_BUFFERS_3D_I/ iWh, jWh + integer nWh, iWh, jWh + PARAMETER (nWh=618) + COMMON /MDS_WH_BUFFERS_3D_RL/ +# ifdef INCLUDE_WHIO_GLOBUFF_3D + & fld3d_globuff_r8, fld3d_globuff_r4, +# endif + & fld3d_procbuff_r8, fld3d_procbuff_r4 + Real*8 fld3d_procbuff_r8 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nWh ) + Real*4 fld3d_procbuff_r4 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nWh ) +# ifdef INCLUDE_WHIO_GLOBUFF_3D + Real*4 fld3d_globuff_r4 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy*nWh ) + Real*8 fld3d_globuff_r8 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy*nWh ) +# endif +#endif + +#endif + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| diff --git a/verification/global_oce_biogeo_bling/code_tap/PROFILES_SIZE.h b/verification/global_oce_biogeo_bling/code_tap/PROFILES_SIZE.h new file mode 100644 index 0000000000..a3582bb852 --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/PROFILES_SIZE.h @@ -0,0 +1,19 @@ +C============================================================ +C NOBSGLOB :: maximum number of profiles per file and tile +C NFILESPROFMAX :: maximum number of files +C NVARMAX :: maximum number of variables +C NLEVELMAX :: maximum number of vertical levels +C NUM_INTERP_POINTS :: number of points used in horizontal averaging +C============================================================ + + INTEGER NOBSGLOB + PARAMETER ( NOBSGLOB = 500 ) + INTEGER NFILESPROFMAX + PARAMETER ( NFILESPROFMAX=20 ) + INTEGER NVARMAX + PARAMETER ( NVARMAX=16 ) + INTEGER NLEVELMAX + PARAMETER ( NLEVELMAX=110 ) + INTEGER NUM_INTERP_POINTS + PARAMETER (NUM_INTERP_POINTS = 4) + diff --git a/verification/global_oce_biogeo_bling/code_tap/PTRACERS_SIZE.h b/verification/global_oce_biogeo_bling/code_tap/PTRACERS_SIZE.h new file mode 100644 index 0000000000..22d873cccc --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/PTRACERS_SIZE.h @@ -0,0 +1,28 @@ +#ifdef ALLOW_PTRACERS + +CBOP +C !ROUTINE: PTRACERS_SIZE.h +C !INTERFACE: +C #include PTRACERS_SIZE.h + +C !DESCRIPTION: +C Contains passive tracer array size (number of tracers). + +C PTRACERS_num defines how many passive tracers are allocated/exist. +C and is set here (default 1) +C +C Number of tracers + INTEGER PTRACERS_num + PARAMETER(PTRACERS_num = 8 ) + +#ifdef ALLOW_AUTODIFF_TAMC + INTEGER maxpass + PARAMETER( maxpass = PTRACERS_num + 2 ) +#endif + +CEOP +#endif /* ALLOW_PTRACERS */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_oce_biogeo_bling/code_tap/SIZE.h b/verification/global_oce_biogeo_bling/code_tap/SIZE.h new file mode 100644 index 0000000000..4dbc2098b6 --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/SIZE.h @@ -0,0 +1,67 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 64, + & sNy = 32, + & OLx = 4, + & OLy = 4, + & nSx = 2, + & nSy = 2, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) diff --git a/verification/global_oce_biogeo_bling/code_tap/SIZE.h_mpi b/verification/global_oce_biogeo_bling/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..ea16afb12e --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/SIZE.h_mpi @@ -0,0 +1,67 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 64, + & sNy = 32, + & OLx = 4, + & OLy = 4, + & nSx = 1, + & nSy = 1, + & nPx = 2, + & nPy = 2, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) diff --git a/verification/global_oce_biogeo_bling/code_tap/packages.conf b/verification/global_oce_biogeo_bling/code_tap/packages.conf new file mode 100644 index 0000000000..3a4aa0e88d --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/packages.conf @@ -0,0 +1,19 @@ +#-- list of packages (or group of packages) to compile for this experiment: +exch2 +gfd +cd_code +gmredi +cal +ptracers +gchem +bling +profiles +diagnostics +#mnc + +ecco +autodiff +cost +ctrl +grdchk +tapenade diff --git a/verification/global_oce_biogeo_bling/code_tap/profiles_interp.F b/verification/global_oce_biogeo_bling/code_tap/profiles_interp.F new file mode 100644 index 0000000000..eaac070676 --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/profiles_interp.F @@ -0,0 +1,191 @@ +#include "PROFILES_OPTIONS.h" +#ifdef ALLOW_ECCO +# include "ECCO_OPTIONS.h" +#endif + +C o==========================================================o +C | subroutine profiles_interp | +C | o 3D interpolation of model counterparts | +C | for netcdf profiles data | +C | started: Gael Forget 15-March-2006 | +C o==========================================================o + + SUBROUTINE profiles_interp( + O traj_cur_out, + I i_cur, + I j_cur, + I weights_cur, + I var_cur, + I itr_cur, + I file_cur, + I myTime, + I bi, + I bj, + I myThid + & ) + + implicit none + +C ==================== Global Variables =========================== +#include "EEPARAMS.h" +#include "SIZE.h" +#include "GRID.h" +#include "DYNVARS.h" +#include "PARAMS.h" +#ifdef ALLOW_CAL +# include "cal.h" +#endif +#ifdef ALLOW_ECCO +# include "ECCO_SIZE.h" +# include "ECCO.h" +#endif +#ifdef ALLOW_PROFILES +# include "PROFILES_SIZE.h" +# include "profiles.h" +#endif +#ifdef ALLOW_PTRACERS +#include "PTRACERS_SIZE.h" +#include "PTRACERS_FIELDS.h" +#endif +#ifdef ALLOW_BLING +#include "BLING_VARS.h" +#endif +C ==================== Routine Variables ========================== + _RL myTime + integer myThid + integer file_cur, itr_cur + character*(8) var_cur +#ifndef ALLOW_PROFILES + _RL traj_cur_out, weights_cur + integer i_cur, j_cur +#else + _RL traj_cur_out(NLEVELMAX) + _RL weights_cur(NUM_INTERP_POINTS) + integer i_cur(NUM_INTERP_POINTS) + integer j_cur(NUM_INTERP_POINTS) +#endif + +C ==================== Local Variables ========================== + _RL tab_coeffs1(NUM_INTERP_POINTS) + _RL tab_coeffs3(NUM_INTERP_POINTS) + _RL ponderations(NUM_INTERP_POINTS),pondsSUM + integer q,k,kk,kcur,bi,bj + _RL traj_cur(nR),mask_cur(nR) + _RL tmp_coeff + +c == external functions == + integer ILNBLNK + EXTERNAL ILNBLNK + +c-- == end of interface == + +c horizontal interpolation: + do k=1,nr + pondsSUM=0. _d 0 + do q=1,NUM_INTERP_POINTS + if (var_cur.EQ.'theta') then + tab_coeffs1(q)=theta(i_cur(q),j_cur(q),k,bi,bj) + elseif (var_cur.EQ.'salt') then + tab_coeffs1(q)=salt(i_cur(q),j_cur(q),k,bi,bj) + elseif (var_cur.EQ.'pTracer') then +#ifdef ALLOW_PTRACERS + tab_coeffs1(q)=pTracer(i_cur(q),j_cur(q),k,bi,bj, + & itr_cur) +#else + tab_coeffs1(q)=0. _d 0 +#endif +#ifdef ALLOW_BLING + elseif (var_cur.EQ.'PCO') then + tab_coeffs1(q)=pCO2(i_cur(q),j_cur(q),bi,bj) + elseif (var_cur.EQ.'PH') then + tab_coeffs1(q)=pH(i_cur(q),j_cur(q),k,bi,bj) + elseif (var_cur.EQ.'CHL') then + tab_coeffs1(q)=CHL(i_cur(q),j_cur(q),k,bi,bj) + elseif (var_cur.EQ.'POC') then + tab_coeffs1(q)=POC(i_cur(q),j_cur(q),k,bi,bj) +#endif +#ifdef ALLOW_ECCO + elseif (var_cur.EQ.'eta') then + tab_coeffs1(q)=m_eta(i_cur(q),j_cur(q),bi,bj) +#endif + elseif (var_cur.EQ.'UE') then + tab_coeffs1(q)=m_UE(i_cur(q),j_cur(q),k,bi,bj) + elseif (var_cur.EQ.'VN') then + tab_coeffs1(q)=m_VN(i_cur(q),j_cur(q),k,bi,bj) + else + tab_coeffs1(q)=0. _d 0 + endif + tab_coeffs3(q)=maskC(i_cur(q),j_cur(q),k,bi,bj) + + ponderations(q)=tab_coeffs3(q)*weights_cur(q) + pondsSUM=pondsSUM+ponderations(q) + enddo + + if (pondsSUM.GT.0) then + traj_cur(k)=0. _d 0 + mask_cur(k)=1. _d 0 + do q=1,NUM_INTERP_POINTS + traj_cur(k)=traj_cur(k) + & +tab_coeffs1(q)*ponderations(q)/pondsSUM + enddo + else + traj_cur(k)=0. _d 0 + mask_cur(k)=0. _d 0 + endif + enddo + +c vertical interpolation: + do kk=1,NLEVELMAX + traj_cur_out(kk)=0 + prof_mask1D_cur(kk,bi,bj)=0 + enddo + do kk=1,ProfDepthNo(file_cur,bi,bj) +c case 1: above first grid center=> first grid center value + if (prof_depth(file_cur,kk,bi,bj).LT.-rC(1)) then + traj_cur_out(kk)=traj_cur(1) + prof_mask1D_cur(kk,bi,bj)=mask_cur(1) +c case 2: just below last grid center=> last cell value + elseif (prof_depth(file_cur,kk,bi,bj).GE.-rC(nr)) then + if ( prof_depth(file_cur,kk,bi,bj) .LT. + & (-rC(nr)+drC(nr)/2) ) then + traj_cur_out(kk)=traj_cur(nr) + prof_mask1D_cur(kk,bi,bj)=mask_cur(nr) + endif +c case 3: between two grid centers + else + kcur=0 + do k=1,nr-1 + if ((prof_depth(file_cur,kk,bi,bj).GE.-rC(k)).AND. + & (prof_depth(file_cur,kk,bi,bj).LT.-rC(k+1))) then + kcur=k + endif + enddo + if (kcur.EQ.0) then + WRITE(errorMessageUnit,'(A)') + & 'ERROR in PROFILES_INTERP: unexpected case 1' + CALL ALL_PROC_DIE( myThid ) + STOP 'ABNORMAL END: S/R PROFILES_INTERP' + endif + if (mask_cur(kcur+1).EQ.1.) then +c subcase 1: 2 wet points=>linear interpolation + tmp_coeff=(prof_depth(file_cur,kk,bi,bj)+rC(kcur))/ + & (-rC(kcur+1)+rC(kcur)) + traj_cur_out(kk)=(1-tmp_coeff)*traj_cur(kcur) + & +tmp_coeff*traj_cur(kcur+1) + prof_mask1D_cur(kk,bi,bj)=1 + if (mask_cur(kcur).EQ.0.) then + WRITE(errorMessageUnit,'(A)') + & 'ERROR in PROFILES_INTERP: unexpected case 2' + CALL ALL_PROC_DIE( myThid ) + STOP 'ABNORMAL END: S/R PROFILES_INTERP' + endif + elseif (prof_depth(file_cur,kk,bi,bj).LT.-rF(kcur+1)) then +c subcase 2: only 1 wet point just above=>upper cell value + traj_cur_out(kk)=traj_cur(kcur) + prof_mask1D_cur(kk,bi,bj)=mask_cur(kcur) + endif + endif + enddo + + RETURN + END diff --git a/verification/global_oce_biogeo_bling/code_tap/profiles_readparms.F b/verification/global_oce_biogeo_bling/code_tap/profiles_readparms.F new file mode 100644 index 0000000000..639c21a19b --- /dev/null +++ b/verification/global_oce_biogeo_bling/code_tap/profiles_readparms.F @@ -0,0 +1,252 @@ +#include "PROFILES_OPTIONS.h" + + subroutine profiles_readparms( myThid ) + +c ================================================================== +c SUBROUTINE profiles_readparms +c ================================================================== +c +c o This routine initialises the package cost. +c started: Ralf Giering 18-Jan-2001 +c +c ================================================================== +c SUBROUTINE profiles_readparms +c ================================================================== + + implicit none + +c == global variables == + +#include "EEPARAMS.h" +#include "SIZE.h" +#include "GRID.h" +#include "PARAMS.h" + +#include "PROFILES_SIZE.h" +#include "profiles.h" + +c == routine arguments == + + integer myThid + +c == local variables == +C msgBuf - Informational/error message buffer +C iUnit - Work variable for IO unit number + CHARACTER*(MAX_LEN_MBUF) msgBuf + INTEGER iUnit, num_file, num_var, IL + LOGICAL exst, specifiedNames + character*(128) fname + +C !FUNCTIONS + INTEGER ILNBLNK + EXTERNAL ILNBLNK + +c == end of interface == + +c-- Read the namelist input. + namelist /profiles_nml/ + & profilesDir, + & profilesfiles, + & mult_profiles, + & mult_profiles_mean, +#ifdef ALLOW_PROFILES_SAMPLESPLIT_COST +C number of independent samples + & profiles_mean_indsamples, +#endif + & prof_facmod, + & prof_names, + & prof_namesmod, +#ifdef ALLOW_PROFILES_CLIMMASK + & prof_namesclim, +#endif + & prof_itracer, + & profilesDoNcOutput, + & profilesDoGenGrid + + IF ( .NOT.usePROFILES ) THEN +C- pkg PROFILES is not used + _BEGIN_MASTER(myThid) +C- Track pkg activation status: +C print a (weak) warning if data.profiles is found + CALL PACKAGES_UNUSED_MSG( 'usePROFILES', ' ', ' ' ) + _END_MASTER(myThid) + RETURN + ENDIF + + _BEGIN_MASTER( myThid ) + +c-- Set default values. + profilesDir=' ' + + do num_file=1,NFILESPROFMAX + profilesfiles(num_file) = ' ' + enddo + + do num_file=1,NFILESPROFMAX + do num_var=1,NVARMAX + mult_profiles(num_file,num_var) = 1. _d 0 + prof_facmod(num_file,num_var) = 1. _d 0 + prof_names(num_file,num_var)='empty' + prof_itracer(num_file,num_var)=1 + prof_namesmod(num_file,num_var)='empty' +#ifdef ALLOW_PROFILES_CLIMMASK + prof_namesclim(num_file,num_var)='empty' +#endif + enddo + enddo + do num_var=1,NVARMAX + mult_profiles_mean(num_var) = 1. _d 0 +#ifdef ALLOW_PROFILES_SAMPLESPLIT_COST + profiles_mean_indsamples(num_var) = 1 +#endif + enddo + + profilesDoNcOutput=.false. + + IF ( (.NOT.usingSphericalPolarGrid .OR. rotateGrid) ) THEN + profilesDoGenGrid=.true. + ELSE + profilesDoGenGrid=.false. + ENDIF + +c-- Next, read the cost data file. + WRITE(msgBuf,'(A)') 'PROFILES_READPARMS: opening data.profiles' + CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, + & SQUEEZE_RIGHT , 1) + + CALL OPEN_COPY_DATA_FILE( + I 'data.profiles', 'PROFILES_READPARMS', + O iUnit, + I myThid ) + + READ( iUnit, nml = profiles_nml ) + + WRITE(msgBuf,'(2A)') 'PROFILES_READPARMS: ', + & 'finished reading data.profiles' + CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, + & SQUEEZE_RIGHT , 1) + +#ifdef SINGLE_DISK_IO + CLOSE(iUnit) +#else + CLOSE(iUnit,STATUS='DELETE') +#endif /* SINGLE_DISK_IO */ + + do num_file=1,NFILESPROFMAX + + specifiedNames=.FALSE. + do num_var=1,NVARMAX + if (prof_names(num_file,num_var).NE.'empty') + & specifiedNames=.TRUE. + enddo + + if (.NOT.specifiedNames) then + prof_names(num_file,1)='prof_T' + prof_names(num_file,2)='prof_S' +C----- local version addition: start + prof_names(num_file,3)='prof_U' + prof_names(num_file,4)='prof_V' + prof_names(num_file,5)='prof_ptr' + prof_names(num_file,6)='prof_ssh' + prof_names(num_file,7)='prof_DIC' + prof_names(num_file,8)='prof_ALK' + prof_names(num_file,9)='prof_O2' + prof_names(num_file,10)='prof_NO3' + prof_names(num_file,11)='prof_PO4' + prof_names(num_file,12)='prof_FE' + prof_names(num_file,13)='prof_PCO' + prof_names(num_file,14)='prof_PH' + prof_names(num_file,15)='prof_CHL' + prof_names(num_file,16)='prof_POC' + + prof_itracer(num_file,1)=1 + prof_itracer(num_file,2)=1 + prof_itracer(num_file,3)=1 + prof_itracer(num_file,4)=1 + prof_itracer(num_file,5)=1 + prof_itracer(num_file,6)=1 + prof_itracer(num_file,7)=1 + prof_itracer(num_file,8)=2 + prof_itracer(num_file,9)=3 + prof_itracer(num_file,10)=4 + prof_itracer(num_file,11)=5 + prof_itracer(num_file,12)=6 + prof_itracer(num_file,13)=1 + prof_itracer(num_file,14)=1 + prof_itracer(num_file,15)=1 + prof_itracer(num_file,16)=1 +C----- local version addition: end + prof_namesmod(num_file,1)='theta' + prof_namesmod(num_file,2)='salt' +C----- local version addition: start + prof_namesmod(num_file,3)='uVel' + prof_namesmod(num_file,4)='vVel' + prof_namesmod(num_file,5)='pTracer' + prof_namesmod(num_file,6)='etaN' + prof_namesmod(num_file,7)='pTracer' + prof_namesmod(num_file,8)='pTracer' + prof_namesmod(num_file,9)='pTracer' + prof_namesmod(num_file,10)='pTracer' + prof_namesmod(num_file,11)='pTracer' + prof_namesmod(num_file,12)='pTracer' + prof_namesmod(num_file,13)='PCO' + prof_namesmod(num_file,14)='PH' + prof_namesmod(num_file,15)='CHL' + prof_namesmod(num_file,16)='POC' +C----- local version addition: end +#ifdef ALLOW_PROFILES_CLIMMASK + prof_namesclim(num_file,1)='prof_Tclim' + prof_namesclim(num_file,2)='prof_Sclim' +#endif + endif + + do num_var=1,NVARMAX + if (((prof_names(num_file,num_var).NE.'empty').AND. + & (prof_namesmod(num_file,num_var).EQ.'empty')).OR. + & ((prof_names(num_file,num_var).EQ.'empty').AND. + & (prof_namesmod(num_file,num_var).NE.'empty'))) then + print*,'prof_names=',prof_names(num_file,num_var),' ', + & prof_namesmod(num_file,num_var),' ',num_file,num_var + WRITE(errorMessageUnit,'(2A)') + & 'ERROR in PROFILES_READPARMS: inconsistent ', + & 'prof_names and prof_namesmod' + CALL ALL_PROC_DIE( myThid ) + STOP 'ABNORMAL END: S/R PROFILES_READPARMS' + endif + enddo + + do num_var=1,NVARMAX + IL = ILNBLNK( prof_names(num_file,num_var) ) + WRITE(prof_namesmask(num_file,num_var),'(2A)') + & prof_names(num_file,num_var)(1:IL),'mask' + WRITE(prof_namesweight(num_file,num_var),'(2A)') + & prof_names(num_file,num_var)(1:IL),'weight' +#ifdef ALLOW_PROFILES_CLIMMASK + WRITE(prof_namesclim(num_file,num_var),'(2A)') + & prof_names(num_file,num_var)(1:IL),'clim' +#endif + enddo + + if ( profilesfiles(num_file) .NE. ' ' ) then + IL = ILNBLNK( profilesfiles(num_file) ) + fname = profilesfiles(num_file)(1:IL)//'.nc' + inquire( file=fname, exist=exst ) + if (.NOT.exst) then +c warn user as we override profilesfiles + WRITE(msgBuf,'(3A)') + & '** WARNING ** PROFILES_READPARMS: missing file: ', + & profilesfiles(num_file)(1:IL),' gets switched off' + CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, + & SQUEEZE_RIGHT , myThid) +c switch off this file (and potential cost function term) + profilesfiles(num_file) = ' ' + endif + endif + enddo + + _END_MASTER( myThid ) + + _BARRIER + + RETURN + END diff --git a/verification/global_oce_biogeo_bling/input_tap/prepare_run b/verification/global_oce_biogeo_bling/input_tap/prepare_run new file mode 100755 index 0000000000..d2467467bb --- /dev/null +++ b/verification/global_oce_biogeo_bling/input_tap/prepare_run @@ -0,0 +1,78 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take *.bin files +#- from this dir: +fromDir="../../../verification/tutorial_global_oce_biogeo/input" + +fileList=`( cd $fromDir ; echo *.bin )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And also from this dir: +fromDir="../input" + +fileList=`( cd $fromDir ; echo *.bin )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And to simplify maintenance, take parameter files +#- from this dir: +fromDir="../input_ad" + +fileList=`( cd $fromDir ; echo data* eedata *.bin sample_prof.nc )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/global_oce_biogeo_bling/results/output_tap_adj.txt b/verification/global_oce_biogeo_bling/results/output_tap_adj.txt new file mode 100644 index 0000000000..5b6070a159 --- /dev/null +++ b/verification/global_oce_biogeo_bling/results/output_tap_adj.txt @@ -0,0 +1,4492 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 05:28:33 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 64 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 32 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 4 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 4 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 128 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 64 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) W2_READPARMS: file data.exch2 not found +(PID.TID 0000.0001) => use W2_EXCH2 default: Single sub-domain (nFacets=1) +(PID.TID 0000.0001) W2_useE2ioLayOut= T ;/* T: use Exch2 glob IO map; F: use model default */ +(PID.TID 0000.0001) W2_mapIO = -1 ; /* select option for Exch2 global-IO map */ +(PID.TID 0000.0001) W2_printMsg = -1 ; /* select option for printing information */ +(PID.TID 0000.0001) ===== Start setting W2 TOPOLOGY: +(PID.TID 0000.0001) write to log-file: w2_tile_topology.0000.log +(PID.TID 0000.0001) ===== setting W2 TOPOLOGY: Done +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef=15*20., +(PID.TID 0000.0001) > sRef=15*35., +(PID.TID 0000.0001) > viscA4=0., +(PID.TID 0000.0001) > viscAh=2.E5, +(PID.TID 0000.0001) > diffKhT=0.E3, +(PID.TID 0000.0001) > diffKhS=0.E3, +(PID.TID 0000.0001) > viscAz=1.E-3, +(PID.TID 0000.0001) >#diffKzT=3.E-5, +(PID.TID 0000.0001) >#diffKzS=3.E-5, +(PID.TID 0000.0001) > diffKrBL79surf= 3.E-5, +(PID.TID 0000.0001) > diffKrBL79deep= 13.E-5, +(PID.TID 0000.0001) > diffKrBL79Ho = -2000., +(PID.TID 0000.0001) > diffKrBL79scl = 150., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > rhoConst=1035., +(PID.TID 0000.0001) > rhoConstFresh=1000., +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > implicitViscosity=.TRUE., +(PID.TID 0000.0001) > ivdc_kappa=100., +(PID.TID 0000.0001) > tempAdvScheme = 2, +(PID.TID 0000.0001) > saltAdvScheme = 2, +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) ># turn on looped cells +(PID.TID 0000.0001) > hFacMin=.1, +(PID.TID 0000.0001) > hFacMindz=50., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0= 0, +(PID.TID 0000.0001) > nTimeSteps = 4, +(PID.TID 0000.0001) > deltaT = 900., +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq = 216000., +(PID.TID 0000.0001) > chkptFreq = 216000., +(PID.TID 0000.0001) > dumpFreq = 216000., +(PID.TID 0000.0001) ># taveFreq = 216000., +(PID.TID 0000.0001) > monitorSelect= 2, +(PID.TID 0000.0001) > monitorFreq= 86400., +(PID.TID 0000.0001) > tauThetaClimRelax = 5184000., +(PID.TID 0000.0001) > tauSaltClimRelax = 7776000., +(PID.TID 0000.0001) > periodicExternalForcing=.TRUE., +(PID.TID 0000.0001) > externForcingPeriod=2592000., +(PID.TID 0000.0001) > externForcingCycle=31104000., +(PID.TID 0000.0001) > monitorFreq= 3600., +(PID.TID 0000.0001) > adjMonitorFreq= 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delZ= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > ygOrigin=-90., +(PID.TID 0000.0001) > delX=128*2.8125, +(PID.TID 0000.0001) > delY=64*2.8125, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile= 'bathy.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_clim_temp.bin', +(PID.TID 0000.0001) > hydrogSaltFile= 'lev_clim_salt.bin', +(PID.TID 0000.0001) > zonalWindFile= 'tren_taux.bin', +(PID.TID 0000.0001) > meridWindFile= 'tren_tauy.bin', +(PID.TID 0000.0001) > thetaClimFile= 'lev_monthly_temp.bin', +(PID.TID 0000.0001) > saltClimFile= 'lev_monthly_salt.bin', +(PID.TID 0000.0001) > surfQFile= 'shi_qnet.bin', +(PID.TID 0000.0001) > EmPmRFile= 'shi_empmr_year.bin', +(PID.TID 0000.0001) > the_run_name= 'Tutorial Biogeo', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > usePTRACERS = .TRUE., +(PID.TID 0000.0001) > useGCHEM = .TRUE., +(PID.TID 0000.0001) > useECCO = .TRUE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > usePROFILEs = .TRUE., +(PID.TID 0000.0001) > useDIAGNOSTICS = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/cal compiled and used ( useCAL = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/profiles compiled and used ( usePROFILES = T ) + pkg/ecco compiled and used ( useECCO = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/ptracers compiled and used ( usePTRACERS = T ) + pkg/gchem compiled and used ( useGCHEM = T ) + pkg/diagnostics compiled and used ( useDiagnostics = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/exch2 compiled and used + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: opening data.cal +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cal +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cal" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># Calendar Parameters +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &CAL_NML +(PID.TID 0000.0001) > TheCalendar='gregorian', +(PID.TID 0000.0001) ># TheCalendar='model', +(PID.TID 0000.0001) > startDate_1=20070101, +(PID.TID 0000.0001) > startDate_2= 021130, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: finished reading data.cal +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># from MOM +(PID.TID 0000.0001) ># GM_background_K: isopycnal diffusion coefficien +(PID.TID 0000.0001) ># GM_maxSlope: max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit: transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd: half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># real background diff: horizontal diffusion +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ifdef GM_VISBECK_VARIABLE_K, include following in GM_PARM01 +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) ># GM_Visbeck_length = 2.e+5, +(PID.TID 0000.0001) ># GM_Visbeck_depth = 1.e+3, +(PID.TID 0000.0001) ># GM_Visbeck_maxval_K= 2.5e+3, +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_background_K = 1.e+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'gkw91', +(PID.TID 0000.0001) > GM_maxSlope = 1.e-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 100., +(PID.TID 0000.0001) > GM_Scrit = 4.e-3, +(PID.TID 0000.0001) > GM_Sd = 1.e-3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) PTRACERS_READPARMS: opening data.ptracers +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ptracers +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ptracers" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &PTRACERS_PARM01 +(PID.TID 0000.0001) > PTRACERS_numInUse=8, +(PID.TID 0000.0001) > PTRACERS_useGMRedi=8*.TRUE., +(PID.TID 0000.0001) > PTRACERS_useKPP=8*.FALSE., +(PID.TID 0000.0001) ># tracer 1 - dic +(PID.TID 0000.0001) > PTRACERS_names(1)='dic', +(PID.TID 0000.0001) > PTRACERS_long_names(1)='Dissolved Inorganic Carbon', +(PID.TID 0000.0001) > PTRACERS_units(1)='mol C/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(1)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(1)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(1)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(1)='dic_init.bin', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,1) = 15*2.0282, +(PID.TID 0000.0001) ># PTRACERS_EvPrRn(1)= 0., +(PID.TID 0000.0001) ># tracer 2 - alk +(PID.TID 0000.0001) > PTRACERS_names(2)='alk', +(PID.TID 0000.0001) > PTRACERS_long_names(2)='Alkalinity', +(PID.TID 0000.0001) > PTRACERS_units(2)='mol eq/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(2)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(2)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(2)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(2)='alk_init.bin', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,2) = 15*2.3086, +(PID.TID 0000.0001) ># PTRACERS_EvPrRn(2)= 0., +(PID.TID 0000.0001) ># tracer 3 - o2 +(PID.TID 0000.0001) > PTRACERS_names(3)='o2', +(PID.TID 0000.0001) > PTRACERS_long_names(3)='Dissolved Oxygen', +(PID.TID 0000.0001) > PTRACERS_units(3)='mol O/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(3)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(3)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(3)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(3)='o2_init.bin', +(PID.TID 0000.0001) > PTRACERS_ref(1:15,3) = 15*0.2, +(PID.TID 0000.0001) ># PTRACERS_EvPrRn(3)= 0., +(PID.TID 0000.0001) >## tracer 4 - no3 +(PID.TID 0000.0001) > PTRACERS_names(4)='no3', +(PID.TID 0000.0001) > PTRACERS_long_names(4)='Nitrate', +(PID.TID 0000.0001) > PTRACERS_units(4)='mol N/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(4)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(4)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(4)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(4)='no3_init.bin', +(PID.TID 0000.0001) > PTRACERS_ref(1:15,4) = 15*0.01, +(PID.TID 0000.0001) ># PTRACERS_EvPrRn(4)= 0., +(PID.TID 0000.0001) ># tracer 5 - po4 +(PID.TID 0000.0001) > PTRACERS_names(5)='po4', +(PID.TID 0000.0001) > PTRACERS_long_names(5)='Phosphate', +(PID.TID 0000.0001) > PTRACERS_units(5)='mol P/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(5)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(5)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(5)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(5)='po4_init.bin', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,5) = 15*0.5438E-3, +(PID.TID 0000.0001) ># PTRACERS_EvPrRn(5)= 0., +(PID.TID 0000.0001) ># tracer 6 - fet +(PID.TID 0000.0001) > PTRACERS_names(6)='fet', +(PID.TID 0000.0001) > PTRACERS_long_names(6)='Dissolved Inorganic Iron', +(PID.TID 0000.0001) > PTRACERS_units(6)='mol Fe/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(6)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(6)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(6)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(6)='fe_init.bin', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,6) = 15*0.6e-6, +(PID.TID 0000.0001) >#PTRACERS_EvPrRn(6)= 0., +(PID.TID 0000.0001) ># tracer 7 - don +(PID.TID 0000.0001) > PTRACERS_names(7)='don', +(PID.TID 0000.0001) > PTRACERS_long_names(7)='Dissolved Organic Nitrogen', +(PID.TID 0000.0001) > PTRACERS_units(7)='mol N/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(7)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(7)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(7)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(7)='don_init.bin', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,7) = 15*0., +(PID.TID 0000.0001) ># PTRACERS_EvPrRn(7)= 0., +(PID.TID 0000.0001) ># tracer 5 - dop +(PID.TID 0000.0001) > PTRACERS_names(8)='dop', +(PID.TID 0000.0001) > PTRACERS_long_names(8)='Dissolved Organic Phosphorus', +(PID.TID 0000.0001) > PTRACERS_units(8)='mol P/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(8)=30, +(PID.TID 0000.0001) > PTRACERS_diffKh(8)=1.E0, +(PID.TID 0000.0001) > PTRACERS_diffKr(8)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile(8)='dop_init.bin', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,8) = 15*0., +(PID.TID 0000.0001) ># PTRACERS_EvPrRn(8)= 0., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PTRACERS_READPARMS: finished reading data.ptracers +(PID.TID 0000.0001) GCHEM_READPARMS: opening data.gchem +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gchem +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gchem" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &GCHEM_PARM01 +(PID.TID 0000.0001) > useBLING=.TRUE., +(PID.TID 0000.0001) > nsubtime=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GCHEM_READPARMS: finished reading data.gchem +(PID.TID 0000.0001) BLING_READPARMS: opening data.bling +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.bling +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.bling" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># BLING parameters +(PID.TID 0000.0001) > &ABIOTIC_PARMS +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &BIOTIC_PARMS +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &BLING_FORCING +(PID.TID 0000.0001) > BLING_windFile='tren_speed.bin', +(PID.TID 0000.0001) > BLING_iceFile='fice.bin', +(PID.TID 0000.0001) > BLING_silicaFile='sillev1.bin', +(PID.TID 0000.0001) > BLING_ironFile='mah_flux_smooth.bin', +(PID.TID 0000.0001) > BLING_pCO2=380.5E-6, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) BLING_READPARMS: finished reading data.BLING +(PID.TID 0000.0001) Using Millero (1995)/Mehrbach K1 and K2 coefficients +(PID.TID 0000.0001) Using Dickson and Riley (1979) KF coefficient +(PID.TID 0000.0001) Using Uppstrom (1974) BT estimation from salinity +(PID.TID 0000.0001) Using Riley (1965) FT estimation from salinity +(PID.TID 0000.0001) GCHEM_TR_REGISTER: Start registering GCHEM tracers +(PID.TID 0000.0001) BLING_TR_REGISTER: number of BLING tracers= 8 +(PID.TID 0000.0001) BLING_TR_REGISTER: starting at pTrc num = 1 +(PID.TID 0000.0001) BLING_TR_REGISTER: Numb. Trac & SepForc Trac: 8 8 +(PID.TID 0000.0001) GCHEM_TR_REGISTER: Numb. Trac & SepForc Trac: 8 8 +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &ctrl_nml +(PID.TID 0000.0001) > doSinglePrecTapelev=.TRUE., +(PID.TID 0000.0001) > ctrlSmoothCorrel2D=.FALSE., +(PID.TID 0000.0001) > ctrlSmoothCorrel3D=.FALSE., +(PID.TID 0000.0001) ># doMainUnpack = .FALSE., +(PID.TID 0000.0001) ># doPackDiag = .TRUE., +(PID.TID 0000.0001) ># forcingPrecond=20., +(PID.TID 0000.0001) ># doZscalePack = .TRUE., +(PID.TID 0000.0001) ># doZscaleUnpack = .TRUE., +(PID.TID 0000.0001) ># delZexp = -1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &ctrl_packnames +(PID.TID 0000.0001) > ctrlname='ecco_ctrl', +(PID.TID 0000.0001) > costname='ecco_cost', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) ># Ini Cndtns +(PID.TID 0000.0001) ># xx_genarr3d_weight(1) = 'wt_theta.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(1)='xx_theta', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,1)='smooth', +(PID.TID 0000.0001) ># no bounds: xx_genarr3d_bounds(1:5,1)=-2.0,-1.9,39.,40.,0., +(PID.TID 0000.0001) > mult_genarr3d(1) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># xx_genarr3d_weight(2) = 'wt_salt.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(2)='xx_salt', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,2)='smooth', +(PID.TID 0000.0001) ># xx_genarr3d_bounds(1:5,2)=29.,29.5,40.5,41.,0., +(PID.TID 0000.0001) > mult_genarr3d(2) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># xx_genarr3d_weight(3) = 'wt_DIC.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(3) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(3)='xx_ptr1', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,3)='smooth', +(PID.TID 0000.0001) > mult_genarr3d(3) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># xx_genarr3d_weight(4) = 'wt_ALK.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(4) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(4)='xx_ptr2', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,4)='smooth', +(PID.TID 0000.0001) > mult_genarr3d(4) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># xx_genarr3d_weight(5) = 'wt_O2.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(5) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(5)='xx_ptr3', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,5)='smooth', +(PID.TID 0000.0001) > mult_genarr3d(5) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># xx_genarr3d_weight(6) = 'wt_NO3.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(6) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(6)='xx_ptr4', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,6)='smooth', +(PID.TID 0000.0001) > mult_genarr3d(6) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># xx_genarr3d_weight(7) = 'wt_PO4.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(7) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(7)='xx_ptr5', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,7)='smooth', +(PID.TID 0000.0001) > mult_genarr3d(7) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># xx_genarr3d_weight(8) = 'wt_FE.bin', +(PID.TID 0000.0001) > xx_genarr3d_weight(8) = 'ones_32b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(8)='xx_ptr6', +(PID.TID 0000.0001) ># xx_genarr3d_preproc(1,8)='smooth', +(PID.TID 0000.0001) > mult_genarr3d(8) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-5, +(PID.TID 0000.0001) > nbeg = 0, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 3, +(PID.TID 0000.0001) ># testing dpH/dALK +(PID.TID 0000.0001) > grdchkvarindex = 204, +(PID.TID 0000.0001) > iGloPos =34, +(PID.TID 0000.0001) > jGloPos =10, +(PID.TID 0000.0001) > kGloPos =1, +(PID.TID 0000.0001) > iGloTile =2, +(PID.TID 0000.0001) > jGloTile =1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 204 +(PID.TID 0000.0001) eps: 0.100E-04 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 3 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 2 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ECCO_READPARMS: opening data.ecco +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ecco +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ecco" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &ECCO_COST_NML +(PID.TID 0000.0001) > using_cost_seaice = .FALSE., +(PID.TID 0000.0001) > using_cost_sst = .FALSE., +(PID.TID 0000.0001) > using_cost_altim = .FALSE., +(PID.TID 0000.0001) > cost_iprec = 32, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &ECCO_GENCOST_NML +(PID.TID 0000.0001) ># SST +(PID.TID 0000.0001) > gencost_avgperiod(1) = 'day', +(PID.TID 0000.0001) > gencost_barfile(1) = 'm_sst_day', +(PID.TID 0000.0001) > gencost_datafile(1) = 'lev_clim_temp.bin', +(PID.TID 0000.0001) > gencost_errfile(1) = 'ones_32b.bin', +(PID.TID 0000.0001) > gencost_name(1) = 'sst-MW', +(PID.TID 0000.0001) > gencost_spmin(1) = -1.8, +(PID.TID 0000.0001) > gencost_spmax(1) = 40., +(PID.TID 0000.0001) > gencost_spzero(1) = 0., +(PID.TID 0000.0001) > gencost_outputlevel(1)=1, +(PID.TID 0000.0001) > mult_gencost(1) = 0.1, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) ECCO_READPARMS: finished reading #1: ecco_cost_nml +(PID.TID 0000.0001) ECCO_READPARMS: finished reading #2: ecco_gencost_nml +(PID.TID 0000.0001) ECCO_READPARMS: done +(PID.TID 0000.0001) PROFILES_READPARMS: opening data.profiles +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.profiles +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.profiles" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># PROFILES cost f',tion +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &PROFILES_NML +(PID.TID 0000.0001) ># profilesDir = 'PROF', +(PID.TID 0000.0001) > profilesfiles(1) = 'sample_prof', +(PID.TID 0000.0001) ># has T, S, and pH constraints. +(PID.TID 0000.0001) > mult_profiles(1,1) = 0.0, +(PID.TID 0000.0001) > mult_profiles(1,2) = 0.0, +(PID.TID 0000.0001) > mult_profiles(1,14) = 1.0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PROFILES_READPARMS: finished reading data.profiles +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: opening data.diagnostics +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.diagnostics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.diagnostics" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Diagnostic Package Choices +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># dumpAtLast (logical): always write output at the end of simulation (default=F) +(PID.TID 0000.0001) ># diag_mnc (logical): write to NetCDF files (default=useMNC) +(PID.TID 0000.0001) >#--for each output-stream: +(PID.TID 0000.0001) ># fileName(n) : prefix of the output file name (max 80c long) for outp.stream n +(PID.TID 0000.0001) ># frequency(n):< 0 : write snap-shot output every |frequency| seconds +(PID.TID 0000.0001) ># > 0 : write time-average output every frequency seconds +(PID.TID 0000.0001) ># timePhase(n) : write at time = timePhase + multiple of |frequency| +(PID.TID 0000.0001) ># averagingFreq : frequency (in s) for periodic averaging interval +(PID.TID 0000.0001) ># averagingPhase : phase (in s) for periodic averaging interval +(PID.TID 0000.0001) ># repeatCycle : number of averaging intervals in 1 cycle +(PID.TID 0000.0001) ># levels(:,n) : list of levels to write to file (Notes: declared as REAL) +(PID.TID 0000.0001) ># when this entry is missing, select all common levels of this list +(PID.TID 0000.0001) ># fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +(PID.TID 0000.0001) ># (see "available_diagnostics.log" file for the full list of diags) +(PID.TID 0000.0001) ># missing_value(n) : missing value for real-type fields in output file "n" +(PID.TID 0000.0001) ># fileFlags(n) : specific code (8c string) for output file "n" +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) > &DIAGNOSTICS_LIST +(PID.TID 0000.0001) > fileName(1) = 'blingTracDiag', +(PID.TID 0000.0001) > fields(1:8,1) = 'TRAC01 ','TRAC02 ','TRAC03 ', +(PID.TID 0000.0001) > 'TRAC04 ','TRAC05 ','TRAC06 ', +(PID.TID 0000.0001) > 'TRAC07 ','TRAC08 ', +(PID.TID 0000.0001) > frequency(1) = 432000., +(PID.TID 0000.0001) ># --- +(PID.TID 0000.0001) > fileName(2) = 'adjBlingTracDiag', +(PID.TID 0000.0001) > fields(1:8,2) = 'ADJptr01','ADJptr02','ADJptr03', +(PID.TID 0000.0001) > 'ADJptr04','ADJptr05','ADJptr06', +(PID.TID 0000.0001) > 'ADJptr07','ADJptr08' +(PID.TID 0000.0001) > frequency(2) = 432000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># Parameter for Diagnostics of per level statistics: +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># diagSt_mnc (logical): write stat-diags to NetCDF files (default=diag_mnc) +(PID.TID 0000.0001) ># diagSt_regMaskFile : file containing the region-mask to read-in +(PID.TID 0000.0001) ># nSetRegMskFile : number of region-mask sets within the region-mask file +(PID.TID 0000.0001) ># set_regMask(i) : region-mask set-index that identifies the region "i" +(PID.TID 0000.0001) ># val_regMask(i) : region "i" identifier value in the region mask +(PID.TID 0000.0001) >#--for each output-stream: +(PID.TID 0000.0001) ># stat_fName(n) : prefix of the output file name (max 80c long) for outp.stream n +(PID.TID 0000.0001) ># stat_freq(n):< 0 : write snap-shot output every |stat_freq| seconds +(PID.TID 0000.0001) ># > 0 : write time-average output every stat_freq seconds +(PID.TID 0000.0001) ># stat_phase(n) : write at time = stat_phase + multiple of |stat_freq| +(PID.TID 0000.0001) ># stat_region(:,n) : list of "regions" (default: 1 region only=global) +(PID.TID 0000.0001) ># stat_fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +(PID.TID 0000.0001) ># (see "available_diagnostics.log" file for the full list of diags) +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) > &DIAG_STATIS_PARMS +(PID.TID 0000.0001) >#- an example just to check the agreement with MONITOR output: +(PID.TID 0000.0001) >#stat_fields(1:5,1) = 'ETAN ','UVEL ','VVEL ','WVEL ', 'THETA ', +(PID.TID 0000.0001) ># stat_fName(1) = 'dynStDiag', +(PID.TID 0000.0001) ># stat_freq(1) = -864000., +(PID.TID 0000.0001) ># stat_phase(1) = 0., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "diagnostics_list": start +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "diagnostics_list": OK +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "DIAG_STATIS_PARMS": start +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "DIAG_STATIS_PARMS": OK +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: global parameter summary: +(PID.TID 0000.0001) dumpAtLast = /* always write time-ave diags at the end */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diag_mnc = /* write NetCDF output files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMissingValue = /* put MissingValue where mask = 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_maxIters = /* max number of iters in diag_cg2d */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_resTarget = /* residual target for diag_cg2d */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_pcOffDFac = /* preconditioner off-diagonal factor */ +(PID.TID 0000.0001) 9.611687812379854E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: active diagnostics summary: +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) Creating Output Stream: blingTracDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: TRAC01 TRAC02 TRAC03 TRAC04 TRAC05 TRAC06 TRAC07 TRAC08 +(PID.TID 0000.0001) Creating Output Stream: adjBlingTracDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: ADJptr01 ADJptr02 ADJptr03 ADJptr04 ADJptr05 ADJptr06 ADJptr07 ADJptr08 +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: statistics diags. summary: +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.5859375000000E+02 +(PID.TID 0000.0001) %MON XC_min = 1.4062500000000E+00 +(PID.TID 0000.0001) %MON XC_mean = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.0391987692599E+02 +(PID.TID 0000.0001) %MON XG_max = 3.5718750000000E+02 +(PID.TID 0000.0001) %MON XG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON XG_mean = 1.7859375000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.0391987692599E+02 +(PID.TID 0000.0001) %MON DXC_max = 3.1259246843155E+05 +(PID.TID 0000.0001) %MON DXC_min = 7.6737143816223E+03 +(PID.TID 0000.0001) %MON DXC_mean = 1.9908248704234E+05 +(PID.TID 0000.0001) %MON DXC_sd = 9.6190602240067E+04 +(PID.TID 0000.0001) %MON DXF_max = 3.1259246843155E+05 +(PID.TID 0000.0001) %MON DXF_min = 7.6737143816223E+03 +(PID.TID 0000.0001) %MON DXF_mean = 1.9908248704234E+05 +(PID.TID 0000.0001) %MON DXF_sd = 9.6190602240067E+04 +(PID.TID 0000.0001) %MON DXG_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DXG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON DXG_mean = 1.9902252711933E+05 +(PID.TID 0000.0001) %MON DXG_sd = 9.6314600686012E+04 +(PID.TID 0000.0001) %MON DXV_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DXV_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON DXV_mean = 1.9902252711933E+05 +(PID.TID 0000.0001) %MON DXV_sd = 9.6314600686012E+04 +(PID.TID 0000.0001) %MON YC_max = 8.8593750000000E+01 +(PID.TID 0000.0001) %MON YC_min = -8.8593750000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON YC_sd = 5.1955180880375E+01 +(PID.TID 0000.0001) %MON YG_max = 8.7187500000000E+01 +(PID.TID 0000.0001) %MON YG_min = -9.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -1.4062500000000E+00 +(PID.TID 0000.0001) %MON YG_sd = 5.1955180880375E+01 +(PID.TID 0000.0001) %MON DYC_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYC_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYC_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYC_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYF_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYF_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYF_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYF_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYG_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYG_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYG_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYG_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYU_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYU_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYU_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYU_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON RA_max = 9.7733676797555E+10 +(PID.TID 0000.0001) %MON RA_min = 2.3992270990190E+09 +(PID.TID 0000.0001) %MON RA_mean = 6.2244185031956E+10 +(PID.TID 0000.0001) %MON RA_sd = 3.0074496923945E+10 +(PID.TID 0000.0001) %MON RAW_max = 9.7733676797555E+10 +(PID.TID 0000.0001) %MON RAW_min = 2.3992270990190E+09 +(PID.TID 0000.0001) %MON RAW_mean = 6.2244185031956E+10 +(PID.TID 0000.0001) %MON RAW_sd = 3.0074496923945E+10 +(PID.TID 0000.0001) %MON RAS_max = 9.7763121221868E+10 +(PID.TID 0000.0001) %MON RAS_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON RAS_mean = 6.2225438247155E+10 +(PID.TID 0000.0001) %MON RAS_sd = 3.0113265689232E+10 +(PID.TID 0000.0001) %MON RAZ_max = 9.7763121221868E+10 +(PID.TID 0000.0001) %MON RAZ_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON RAZ_mean = 6.2225438247155E+10 +(PID.TID 0000.0001) %MON RAZ_sd = 3.0113265689232E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) modelstart = /* Start time of the model integration [s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelend = /* End time of the model integration [s] */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStep = /* Time interval for a model forward step [s] */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingGregorianCalendar= /* Calendar Type: Gregorian Calendar */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingJulianCalendar = /* Calendar Type: Julian Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingNoLeapYearCal = /* Calendar Type: without Leap Year */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingModelCalendar = /* Calendar Type: Model Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate YYYYMMDD = /* Model start date YYYY-MM-DD */ +(PID.TID 0000.0001) 20070101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate HHMMSS = /* Model start date HH-MM-SS */ +(PID.TID 0000.0001) 21130 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate YYYYMMDD = /* Model end date YYYY-MM-DD */ +(PID.TID 0000.0001) 20070101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate HHMMSS = /* Model end date HH-MM-SS */ +(PID.TID 0000.0001) 31130 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intyears = /* Number of calendar years affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intmonths= /* Number of calendar months affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intdays = /* Number of calendar days affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIter0 = /* Base timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIterEnd = /* Final timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIntSteps= /* Number of model timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) etaday defined by gencost 0 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ECCO configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 1) = sst-MW +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = lev_clim_temp.bin +(PID.TID 0000.0001) model file = m_sst_day +(PID.TID 0000.0001) error file = ones_32b.bin +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 1 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ECCO configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // insitu profiles model sampling >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) profilesDir ./ +(PID.TID 0000.0001) profilesDoGenGrid F +(PID.TID 0000.0001) profilesDoNcOutput F +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) profiles file # 1 is sample_prof +(PID.TID 0000.0001) current tile is bi,bj = 1, 1 +(PID.TID 0000.0001) # of depth levels in file = 25 +(PID.TID 0000.0001) # of profiles in file = 63 +(PID.TID 0000.0001) # of profiles with erroneous HHMMSS values = 0 +(PID.TID 0000.0001) # of profiles within tile and time period = 0 +(PID.TID 0000.0001) variable # 1 is prof_T and theta +(PID.TID 0000.0001) variable # 2 is prof_S and salt +(PID.TID 0000.0001) variable # 14 is prof_PH and PH +(PID.TID 0000.0001) +(PID.TID 0000.0001) profiles file # 1 is sample_prof +(PID.TID 0000.0001) current tile is bi,bj = 2, 1 +(PID.TID 0000.0001) # of depth levels in file = 25 +(PID.TID 0000.0001) # of profiles in file = 63 +(PID.TID 0000.0001) # of profiles with erroneous HHMMSS values = 0 +(PID.TID 0000.0001) # of profiles within tile and time period = 1 +(PID.TID 0000.0001) variable # 1 is prof_T and theta +(PID.TID 0000.0001) variable # 2 is prof_S and salt +(PID.TID 0000.0001) variable # 14 is prof_PH and PH +(PID.TID 0000.0001) +(PID.TID 0000.0001) profiles file # 1 is sample_prof +(PID.TID 0000.0001) current tile is bi,bj = 1, 2 +(PID.TID 0000.0001) # of depth levels in file = 25 +(PID.TID 0000.0001) # of profiles in file = 63 +(PID.TID 0000.0001) # of profiles with erroneous HHMMSS values = 0 +(PID.TID 0000.0001) # of profiles within tile and time period = 0 +(PID.TID 0000.0001) variable # 1 is prof_T and theta +(PID.TID 0000.0001) variable # 2 is prof_S and salt +(PID.TID 0000.0001) variable # 14 is prof_PH and PH +(PID.TID 0000.0001) +(PID.TID 0000.0001) profiles file # 1 is sample_prof +(PID.TID 0000.0001) current tile is bi,bj = 2, 2 +(PID.TID 0000.0001) # of depth levels in file = 25 +(PID.TID 0000.0001) # of profiles in file = 63 +(PID.TID 0000.0001) # of profiles with erroneous HHMMSS values = 0 +(PID.TID 0000.0001) # of profiles within tile and time period = 0 +(PID.TID 0000.0001) variable # 1 is prof_T and theta +(PID.TID 0000.0001) variable # 2 is prof_S and salt +(PID.TID 0000.0001) variable # 14 is prof_PH and PH +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // insitu profiles model sampling >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) PTRACERS_INIT_FIXED: updated GAD_OlMinSize= 2 0 1 +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 445384 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 1300 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 1246 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 1205 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 16159 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 32318 +(PID.TID 0000.0001) ctrl-wet 8: atmos 32318 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 445384 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 4447 4201 4277 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 4399 4158 4229 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 4352 4111 4178 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 4282 4046 4108 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 4220 3992 4050 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 4125 3897 3960 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 4075 3846 3907 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 4021 3785 3851 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 3970 3730 3801 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 3878 3629 3692 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 3763 3505 3562 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 3557 3269 3332 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 3091 2747 2809 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 2428 2071 2146 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 1065 813 874 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 8 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 445384 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 30720 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 016159 014603 015209 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 019716 018428 019084 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 006646 006264 005997 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 013152 012505 012486 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 3 is in use +(PID.TID 0000.0001) file = xx_ptr1 +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0203 +(PID.TID 0000.0001) ncvarindex = 0303 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 4 is in use +(PID.TID 0000.0001) file = xx_ptr2 +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0204 +(PID.TID 0000.0001) ncvarindex = 0304 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 5 is in use +(PID.TID 0000.0001) file = xx_ptr3 +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0205 +(PID.TID 0000.0001) ncvarindex = 0305 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 6 is in use +(PID.TID 0000.0001) file = xx_ptr4 +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0206 +(PID.TID 0000.0001) ncvarindex = 0306 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 7 is in use +(PID.TID 0000.0001) file = xx_ptr5 +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0207 +(PID.TID 0000.0001) ncvarindex = 0307 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 8 is in use +(PID.TID 0000.0001) file = xx_ptr6 +(PID.TID 0000.0001) weight = ones_32b.bin +(PID.TID 0000.0001) index = 0208 +(PID.TID 0000.0001) ncvarindex = 0308 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGNOSTICS_SET_LEVELS: done +(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 433 +(PID.TID 0000.0001) write list of available Diagnostics to file: available_diagnostics.log +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 233 TRAC01 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 248 TRAC02 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 263 TRAC03 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 278 TRAC04 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 293 TRAC05 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 308 TRAC06 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 323 TRAC07 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 338 TRAC08 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 247 ADJptr01 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 262 ADJptr02 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 277 ADJptr03 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 292 ADJptr04 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 307 ADJptr05 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 322 ADJptr06 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 337 ADJptr07 +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 352 ADJptr08 +(PID.TID 0000.0001) space allocated for all diagnostics: 240 levels +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: blingTracDiag +(PID.TID 0000.0001) Levels: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: adjBlingTracDiag +(PID.TID 0000.0001) Levels: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: done +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGSTATS_SET_REGIONS: define no region +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) space allocated for all stats-diags: 0 levels +(PID.TID 0000.0001) DIAGSTATS_SET_POINTERS: done +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) %MON fCori_max = 1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCori_mean = 2.3039296165317E-19 +(PID.TID 0000.0001) %MON fCori_sd = 1.0312619976228E-04 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4566679669714E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4584247033981E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -2.2787885990593E-06 +(PID.TID 0000.0001) %MON fCoriG_sd = 1.0310101939326E-04 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.5791533929553E-06 +(PID.TID 0000.0001) %MON fCoriCos_mean = 9.2855522572229E-05 +(PID.TID 0000.0001) %MON fCoriCos_sd = 4.4864964117307E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 7.0372759228205380E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 2.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 3.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 1.300000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 1.500000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.500000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 9.000000000000000E+02 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) alph_AB = /* Adams-Bashforth-3 primary factor */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta_AB = /* Adams-Bashforth-3 secondary factor */ +(PID.TID 0000.0001) 4.166666666666667E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startFromPickupAB2= /* start from AB-2 pickup */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.971999950222133E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 7.776000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 128 @ 2.812500000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 64 @ 2.812500000000000E+00 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -9.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 1.406250000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 4.218750000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 7.031250000000000E+00, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.296875000000000E+01, /* I = 30 */ +(PID.TID 0000.0001) 8.578125000000000E+01, /* I = 31 */ +(PID.TID 0000.0001) 8.859375000000000E+01, /* I = 32 */ +(PID.TID 0000.0001) 9.140625000000000E+01, /* I = 33 */ +(PID.TID 0000.0001) 9.421875000000000E+01, /* I = 34 */ +(PID.TID 0000.0001) 9.703125000000000E+01, /* I = 35 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.729687500000000E+02, /* I = 62 */ +(PID.TID 0000.0001) 1.757812500000000E+02, /* I = 63 */ +(PID.TID 0000.0001) 1.785937500000000E+02, /* I = 64 */ +(PID.TID 0000.0001) 1.814062500000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 1.842187500000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 1.870312500000000E+02, /* I = 67 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.629687500000000E+02, /* I = 94 */ +(PID.TID 0000.0001) 2.657812500000000E+02, /* I = 95 */ +(PID.TID 0000.0001) 2.685937500000000E+02, /* I = 96 */ +(PID.TID 0000.0001) 2.714062500000000E+02, /* I = 97 */ +(PID.TID 0000.0001) 2.742187500000000E+02, /* I = 98 */ +(PID.TID 0000.0001) 2.770312500000000E+02, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.529687500000000E+02, /* I =126 */ +(PID.TID 0000.0001) 3.557812500000000E+02, /* I =127 */ +(PID.TID 0000.0001) 3.585937500000000E+02 /* I =128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -8.859375000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -8.578125000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -8.296875000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -8.015625000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -7.734375000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -7.453125000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -7.171875000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -6.890625000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -6.609375000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -6.328125000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -6.046875000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -5.765625000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -5.484375000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -5.203125000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -4.921875000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -4.640625000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -4.359375000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -4.078125000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -3.796875000000000E+01, /* J = 19 */ +(PID.TID 0000.0001) -3.515625000000000E+01, /* J = 20 */ +(PID.TID 0000.0001) -3.234375000000000E+01, /* J = 21 */ +(PID.TID 0000.0001) -2.953125000000000E+01, /* J = 22 */ +(PID.TID 0000.0001) -2.671875000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) -2.390625000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) -2.109375000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) -1.828125000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) -1.546875000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) -1.265625000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) -9.843750000000000E+00, /* J = 29 */ +(PID.TID 0000.0001) -7.031250000000000E+00, /* J = 30 */ +(PID.TID 0000.0001) -4.218750000000000E+00, /* J = 31 */ +(PID.TID 0000.0001) -1.406250000000000E+00, /* J = 32 */ +(PID.TID 0000.0001) 1.406250000000000E+00, /* J = 33 */ +(PID.TID 0000.0001) 4.218750000000000E+00, /* J = 34 */ +(PID.TID 0000.0001) 7.031250000000000E+00, /* J = 35 */ +(PID.TID 0000.0001) 9.843750000000000E+00, /* J = 36 */ +(PID.TID 0000.0001) 1.265625000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 1.546875000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 1.828125000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 2.109375000000000E+01, /* J = 40 */ +(PID.TID 0000.0001) 2.390625000000000E+01, /* J = 41 */ +(PID.TID 0000.0001) 2.671875000000000E+01, /* J = 42 */ +(PID.TID 0000.0001) 2.953125000000000E+01, /* J = 43 */ +(PID.TID 0000.0001) 3.234375000000000E+01, /* J = 44 */ +(PID.TID 0000.0001) 3.515625000000000E+01, /* J = 45 */ +(PID.TID 0000.0001) 3.796875000000000E+01, /* J = 46 */ +(PID.TID 0000.0001) 4.078125000000000E+01, /* J = 47 */ +(PID.TID 0000.0001) 4.359375000000000E+01, /* J = 48 */ +(PID.TID 0000.0001) 4.640625000000000E+01, /* J = 49 */ +(PID.TID 0000.0001) 4.921875000000000E+01, /* J = 50 */ +(PID.TID 0000.0001) 5.203125000000000E+01, /* J = 51 */ +(PID.TID 0000.0001) 5.484375000000000E+01, /* J = 52 */ +(PID.TID 0000.0001) 5.765625000000000E+01, /* J = 53 */ +(PID.TID 0000.0001) 6.046875000000000E+01, /* J = 54 */ +(PID.TID 0000.0001) 6.328125000000000E+01, /* J = 55 */ +(PID.TID 0000.0001) 6.609375000000000E+01, /* J = 56 */ +(PID.TID 0000.0001) 6.890625000000000E+01, /* J = 57 */ +(PID.TID 0000.0001) 7.171875000000000E+01, /* J = 58 */ +(PID.TID 0000.0001) 7.453125000000000E+01, /* J = 59 */ +(PID.TID 0000.0001) 7.734375000000000E+01, /* J = 60 */ +(PID.TID 0000.0001) 8.015625000000000E+01, /* J = 61 */ +(PID.TID 0000.0001) 8.296875000000000E+01, /* J = 62 */ +(PID.TID 0000.0001) 8.578125000000000E+01, /* J = 63 */ +(PID.TID 0000.0001) 8.859375000000000E+01 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 7.673714381622299E+03 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.673714381622299E+03, /* J = 1 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 3 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 5 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 3.125924684315491E+05, /* J = 32: 33 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 57 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 58 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 59 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 60 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 61 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 62 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 63 */ +(PID.TID 0000.0001) 7.673714381622299E+03 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 1.534280640463982E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 3 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 5 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 14 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 26 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 32 */ +(PID.TID 0000.0001) 3.126866438026091E+05, /* J = 33 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 57 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 58 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 59 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 60 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 61 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 62 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 63 */ +(PID.TID 0000.0001) 1.534280640463982E+04 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 7.673714381622299E+03 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.673714381622299E+03, /* J = 1 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 3 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 5 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 3.125924684315491E+05, /* J = 32: 33 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 57 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 58 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 59 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 60 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 61 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 62 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 63 */ +(PID.TID 0000.0001) 7.673714381622299E+03 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 1.534280640463982E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 3 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 5 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 14 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 26 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 32 */ +(PID.TID 0000.0001) 3.126866438026091E+05, /* J = 33 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 57 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 58 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 59 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 60 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 61 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 62 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 63 */ +(PID.TID 0000.0001) 1.534280640463982E+04 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 2.399227099019018E+09 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 2.399227099019018E+09, /* J = 1 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 2 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 3 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 6 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 13 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 16 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 9.773367679755542E+10, /* J = 32: 33 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 40 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 44 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 53 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 55 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 62 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 63 */ +(PID.TID 0000.0001) 2.399227099019018E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 2.399227099019018E+09 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 2.399227099019018E+09, /* J = 1 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 2 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 3 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 6 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 13 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 16 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 9.773367679755542E+10, /* J = 32: 33 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 40 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 44 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 53 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 55 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 62 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 63 */ +(PID.TID 0000.0001) 2.399227099019018E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 4.797008993346594E+09, /* J = 2 */ +(PID.TID 0000.0001) 9.582461571859739E+09, /* J = 3 */ +(PID.TID 0000.0001) 1.434482916112175E+10, /* J = 4 */ +(PID.TID 0000.0001) 1.907263880047594E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.375450078239423E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.837913609127881E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.293540357560110E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.741232678790870E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.179912042805190E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.608521632591324E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.026028890105701E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.431428003795675E+10, /* J = 13 */ +(PID.TID 0000.0001) 5.823742331687641E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.202026754202965E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.565369951034003E+10, /* J = 16 */ +(PID.TID 0000.0001) 6.912896596594559E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.243769468755632E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.557191465787256E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.852407526645966E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.128706449983365E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.385422607492096E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.621937547463148E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.837681484689812E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.032134673130376E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.204828658021815E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.355347404428317E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.483328299505896E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.588463026068500E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.670498305351135E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.729236507180571E+10, /* J = 31 */ +(PID.TID 0000.0001) 9.764536126083739E+10, /* J = 32 */ +(PID.TID 0000.0001) 9.776312122186816E+10, /* J = 33 */ +(PID.TID 0000.0001) 9.764536126083739E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.729236507180571E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.670498305351135E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.588463026068500E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.483328299505896E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.355347404428317E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.204828658021815E+10, /* J = 40 */ +(PID.TID 0000.0001) 9.032134673130376E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.837681484689812E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.621937547463148E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.385422607492096E+10, /* J = 44 */ +(PID.TID 0000.0001) 8.128706449983365E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.852407526645966E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.557191465787256E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.243769468755632E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.912896596594559E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.565369951034003E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.202026754202965E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.823742331687641E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.431428003795675E+10, /* J = 53 */ +(PID.TID 0000.0001) 5.026028890105701E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.608521632591324E+10, /* J = 55 */ +(PID.TID 0000.0001) 4.179912042805190E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.741232678790870E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.293540357560110E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.837913609127881E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.375450078239423E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.907263880047594E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.434482916112175E+10, /* J = 62 */ +(PID.TID 0000.0001) 9.582461571859739E+09, /* J = 63 */ +(PID.TID 0000.0001) 4.797008993346594E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.303322488638320E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) the_run_name = /* Name of this simulation */ +(PID.TID 0000.0001) 'Tutorial Biogeo' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+48 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'gkw91 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_CHECK: #define ALLOW_PTRACERS +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // PTRACERS parameters +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) PTRACERS_numInUse = /* number of tracers */ +(PID.TID 0000.0001) 8 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_Iter0 = /* timestep number when tracers are initialized */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_startAllTrc =/* all tracers start @ startTime */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_doAB_onGpTr =/* apply AB on Tendencies (rather than on Tracers) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_addSrelax2EmP =/* add Salt relaxation to EmP */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dTLev = /* Ptracer timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 9.000000000000000E+02 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_monitorFreq = /* Frequency^-1 for monitor output (s) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dumpFreq = /* Frequency^-1 for snapshot output (s) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_taveFreq = /* Frequency^-1 for time-Aver. output (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useRecords = /* all tracers in 1 file */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_timeave_mnc = /* use MNC for Tave output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_snapshot_mnc = /* use MNC for snapshot output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_write_mnc = /* use MNC for writing pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_read_mnc = /* use MNC for reading pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 1 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'dic' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Inorganic Carbon' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '01' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 2.028200000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 2 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'alk' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Alkalinity' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '02' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 2.308600000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 3 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'o2' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Oxygen' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '03' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E-01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 4 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'no3' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Nitrate' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '04' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-02 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 5 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'po4' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Phosphate' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '05' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 5.438000000000000E-04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 6 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'fet' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Inorganic Iron' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '06' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 6.000000000000000E-07 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 7 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'don' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Organic Nitrogen' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '07' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 8 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'dop' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Organic Phosphorus' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '08' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) GCHEM_CHECK --> Starts to check GCHEM set-up +(PID.TID 0000.0001) GCHEM_CHECK <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 1 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 2 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 3 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 4 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 5 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 6 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) etaday defined by gencost 0 +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 0 +(PID.TID 0000.0001) %MON time_secondsf = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_max = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9350790023804E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.7028400846158E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4919297691180E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.9105714045853E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7393074035645E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1641572952271E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4716565199218E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9642246219911E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.3126046363364E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON pe_b_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_vol = 1.2571476858570E+18 +(PID.TID 0000.0001) %MON vort_r_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_r_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_a_mean = -2.4002453570026E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3137909706342E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.8585773838204E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1453381765431E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 2.3453021049500E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 1.8064596652985E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 2.2008880582142E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 7.6952373502975E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 4.2611729558358E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer02_max = 2.3977425098419E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_min = 2.1285221576691E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_mean = 2.3062094517207E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_sd = 4.1745946677143E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer02_del2 = 2.3436609996259E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_max = 4.7903439402580E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer03_min = 1.7168744234368E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_mean = 1.7341069695970E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer03_sd = 6.3443852530264E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer03_del2 = 4.9162187058022E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer04_max = 4.8773415386677E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer04_min = 2.7919921308239E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_mean = 3.1284105112480E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer04_sd = 9.0970619731602E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer04_del2 = 6.5860528220661E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer05_max = 3.6434102803469E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_min = 4.3383789716245E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer05_mean = 2.1903152966321E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_sd = 6.4715585569804E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer05_del2 = 5.2087562122133E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer06_max = 4.3144641495019E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer06_min = 4.5710002893884E-08 +(PID.TID 0000.0001) %MON trcstat_ptracer06_mean = 4.3239734366228E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer06_sd = 1.4362069390415E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer06_del2 = 3.2640702710884E-10 +(PID.TID 0000.0001) %MON trcstat_ptracer07_max = 4.8014768399298E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer07_min = -3.0291218990897E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer07_mean = 9.5284881618563E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer07_sd = 4.2149730496556E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer07_del2 = 5.2191611800717E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer08_max = 3.0009230249561E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer08_min = -1.8932011869310E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer08_mean = 5.9553051011602E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer08_sd = 2.6343581560347E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer08_del2 = 3.2619757375448E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) cg2d_init_res = 2.97840395365656E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 28 +(PID.TID 0000.0001) cg2d_last_res = 3.14075801385278E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 4 +(PID.TID 0000.0001) %MON time_secondsf = 3.6000000000000E+03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 4.3025866030339E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -4.1263700757261E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 2.5128582748279E-17 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 8.5501178513596E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.1341501591767E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 3.1587709912837E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.8196775387011E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.6186487042207E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.6695198854832E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.4027158418364E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 4.1308170375065E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.4010888413703E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 2.6312354510116E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.5216149871005E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.2337673882789E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.3970200563371E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.2181148513548E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.7686389101005E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.7274686429816E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.3678815845269E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9351281728126E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8999684300144E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.7027873832266E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4918151269233E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.9116321026813E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7393131974960E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1641507559828E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4716560533193E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9642287051355E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.3132484212418E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.4846066466083E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 9.9848885576019E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.5553424280834E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.5131262472104E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.1889651852552E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 4.8357523280806E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.4448477447825E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 9.4221038620814E-06 +(PID.TID 0000.0001) %MON ke_max = 7.4508707170666E-04 +(PID.TID 0000.0001) %MON ke_mean = 4.1049463967704E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.2571476858570E+18 +(PID.TID 0000.0001) %MON vort_r_min = -2.4129378622169E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.6601506105775E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.4002453570025E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3137547698782E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.8585773838203E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1453287023759E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.1219658746935E-04 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 9.8253770294457E-06 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 2.3452948113342E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 1.8064748257086E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 2.2008884384357E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 7.6949170175032E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 4.2746660876981E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer02_max = 2.3977379589520E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_min = 2.1285155818458E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_mean = 2.3062093194179E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_sd = 4.1744699113172E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer02_del2 = 2.3465428579778E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_max = 4.7899923229029E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer03_min = 1.7172304767235E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_mean = 1.7341072692073E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer03_sd = 6.3442523949307E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer03_del2 = 4.9487527347121E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer04_max = 4.8773045393525E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer04_min = 1.2315847598441E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_mean = 3.1284163552583E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer04_sd = 9.0967254754095E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer04_del2 = 6.6228886673824E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer05_max = 3.6434033955381E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_min = 4.6263777740446E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer05_mean = 2.1903191896753E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_sd = 6.4713319243087E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer05_del2 = 5.2293415611193E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer06_max = 4.3089354138082E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer06_min = 4.5712497808765E-08 +(PID.TID 0000.0001) %MON trcstat_ptracer06_mean = 4.3239638405988E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer06_sd = 1.4360507511263E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer06_del2 = 3.2621586912913E-10 +(PID.TID 0000.0001) %MON trcstat_ptracer07_max = 4.8005616169925E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer07_min = 9.9999287018024E-12 +(PID.TID 0000.0001) %MON trcstat_ptracer07_mean = 9.5285751288969E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer07_sd = 4.2141712346972E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer07_del2 = 5.3236660044468E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer08_max = 3.0002654430777E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer08_min = 9.9998574036048E-12 +(PID.TID 0000.0001) %MON trcstat_ptracer08_mean = 5.9551957294765E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer08_sd = 2.6337817679656E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer08_del2 = 3.3271963609360E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %CHECKPOINT 4 ckptA +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781593896451D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782431771415D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782431771415D+03 +(PID.TID 0000.0001) global fc = 0.995782431771415D+03 +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781593896451D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782431771415D+03 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = 1.33226762955019E-15 8.94842851221943E-11 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = 3.34259529777281E-16 1.46080515053663E-06 + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = 1.17494013650299E-13 1.47045730958665E-06 + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781593896451D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782431771415D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782431771415D+03 +(PID.TID 0000.0001) global fc = 0.995782431771415D+03 +(PID.TID 0000.0001) grdchk reference fc: fcref = 9.95782431771415E+02 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj + grad-res exact position met: + grad-res 0 257 34 10 1 2 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 257 55673 1 + ph-grd _loc: bi, bj, icomptest, ichknum 2 1 0 1 + ph-grd -->hit<-- 34 10 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 34 10 1 ; bi,bj= 2 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781593924261D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782431799324D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782431799324D+03 +(PID.TID 0000.0001) global fc = 0.995782431799324D+03 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.95782431799324E+02 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781593868642D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782431743706D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782431743706D+03 +(PID.TID 0000.0001) global fc = 0.995782431743706D+03 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.95782431743706E+02 +grad-res ------------------------------- + grad-res 0 1 34 10 1 2 1 1 9.95782431771E+02 9.95782431799E+02 9.95782431744E+02 + grad-res 0 1 1 257 0 2 1 1 2.78090569191E-03 2.78090510619E-03 2.10620083263E-07 +(PID.TID 0000.0001) ADM ref_cost_function = 9.95782431771415E+02 +(PID.TID 0000.0001) ADM adjoint_gradient = 2.78090569190681E-03 +(PID.TID 0000.0001) ADM finite-diff_grad = 2.78090510619222E-03 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 258 55673 2 + ph-grd _loc: bi, bj, icomptest, ichknum 2 1 257 2 + ph-grd -->hit<-- 35 10 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 35 10 1 ; bi,bj= 2 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781800318722D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782638193785D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782638193785D+03 +(PID.TID 0000.0001) global fc = 0.995782638193785D+03 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.95782638193785E+02 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781387466837D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782225341901D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782225341901D+03 +(PID.TID 0000.0001) global fc = 0.995782225341901D+03 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.95782225341901E+02 +grad-res ------------------------------- + grad-res 0 2 35 10 1 2 1 1 9.95782431771E+02 9.95782638194E+02 9.95782225342E+02 + grad-res 0 2 2 258 0 2 1 1 2.06425952911E+01 2.06425942338E+01 5.12222584348E-08 +(PID.TID 0000.0001) ADM ref_cost_function = 9.95782431771415E+02 +(PID.TID 0000.0001) ADM adjoint_gradient = 2.06425952911377E+01 +(PID.TID 0000.0001) ADM finite-diff_grad = 2.06425942337773E+01 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 259 55673 3 + ph-grd _loc: bi, bj, icomptest, ichknum 2 1 258 3 + ph-grd -->hit<-- 36 10 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 36 10 1 ; bi,bj= 2 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995782390376883D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995783228251946D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995783228251946D+03 +(PID.TID 0000.0001) global fc = 0.995783228251946D+03 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.95783228251946E+02 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995780797388968D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995781635264032D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995781635264032D+03 +(PID.TID 0000.0001) global fc = 0.995781635264032D+03 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.95781635264032E+02 +grad-res ------------------------------- + grad-res 0 3 36 10 1 2 1 1 9.95782431771E+02 9.95783228252E+02 9.95781635264E+02 + grad-res 0 3 3 259 0 2 1 1 7.96493988037E+01 7.96493957068E+01 3.88813118368E-08 +(PID.TID 0000.0001) ADM ref_cost_function = 9.95782431771415E+02 +(PID.TID 0000.0001) ADM adjoint_gradient = 7.96493988037109E+01 +(PID.TID 0000.0001) ADM finite-diff_grad = 7.96493957068378E+01 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 260 55673 4 + ph-grd _loc: bi, bj, icomptest, ichknum 2 1 259 4 + ph-grd -->hit<-- 37 10 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 37 10 1 ; bi,bj= 2 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781593991128D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782431866191D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782431866191D+03 +(PID.TID 0000.0001) global fc = 0.995782431866191D+03 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.95782431866191E+02 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) + BLING_SURFFORCING_INIT, it= 0 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + BLING_FIELDS_LOAD, it= 0 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.86517468137026E-14 1.12640530997835E+00 + cg2d: Sum(rhs),rhsMax = -8.61533067109121E-14 2.39652939031455E+00 + cg2d: Sum(rhs),rhsMax = -1.03916875104915E-13 3.40300341422513E+00 + cg2d: Sum(rhs),rhsMax = -1.18349774425042E-13 4.12647380987143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) +(PID.TID 0000.0001) == cost_profiles: begin == +(PID.TID 0000.0001) cost_profiles( 1, 1)= 0.15761D+05 0.24000D+02 +(PID.TID 0000.0001) cost_profiles( 1, 2)= 0.17325D+06 0.19000D+02 +(PID.TID 0000.0001) cost_profiles( 1,14)= 0.99578D+03 0.24000D+02 +(PID.TID 0000.0001) == cost_profiles: end == +(PID.TID 0000.0001) +(PID.TID 0000.0001) --> f_profiles = 0.157611479210415D+05 1 1 +(PID.TID 0000.0001) --> f_profiles = 0.173248996930195D+06 1 2 +(PID.TID 0000.0001) --> f_profiles = 0.995781593801775D+03 114 +(PID.TID 0000.0001) --> f_gencost = 0.837874963434406D-02 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_genarr3d = 0.999999949475751D-10 4 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> fc = 0.995782431676838D+03 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.995782431676838D+03 +(PID.TID 0000.0001) global fc = 0.995782431676838D+03 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.95782431676838E+02 +grad-res ------------------------------- + grad-res 0 4 37 10 1 2 1 1 9.95782431771E+02 9.95782431866E+02 9.95782431677E+02 + grad-res 0 4 4 260 0 2 1 1 9.46766324341E-03 9.46766363086E-03 -4.09229534704E-08 +(PID.TID 0000.0001) ADM ref_cost_function = 9.95782431771415E+02 +(PID.TID 0000.0001) ADM adjoint_gradient = 9.46766324341297E-03 +(PID.TID 0000.0001) ADM finite-diff_grad = 9.46766363085771E-03 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 34 10 1 2 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 1 9.9578243177141E+02 9.9578243179932E+02 9.9578243174371E+02 +(PID.TID 0000.0001) grdchk output (g): 1 2.7809051061922E-03 2.7809056919068E-03 2.1062008326300E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 35 10 1 2 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 2 9.9578243177141E+02 9.9578263819379E+02 9.9578222534190E+02 +(PID.TID 0000.0001) grdchk output (g): 2 2.0642594233777E+01 2.0642595291138E+01 5.1222258434791E-08 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 36 10 1 2 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 3 9.9578243177141E+02 9.9578322825195E+02 9.9578163526403E+02 +(PID.TID 0000.0001) grdchk output (g): 3 7.9649395706838E+01 7.9649398803711E+01 3.8881311836825E-08 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 37 10 1 2 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 4 9.9578243177141E+02 9.9578243186619E+02 9.9578243167684E+02 +(PID.TID 0000.0001) grdchk output (g): 4 9.4676636308577E-03 9.4676632434130E-03 -4.0922953470357E-08 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 4 ratios = 1.1199440138213E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 108.03695266647264 +(PID.TID 0000.0001) System time: 2.6022480318788439 +(PID.TID 0000.0001) Wall clock time: 111.03285789489746 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.26363699231296778 +(PID.TID 0000.0001) System time: 5.2691998658701777E-002 +(PID.TID 0000.0001) Wall clock time: 0.34624099731445312 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 59.585151314735413 +(PID.TID 0000.0001) System time: 2.8081715106964111E-002 +(PID.TID 0000.0001) Wall clock time: 59.774497985839844 +(PID.TID 0000.0001) No. starts: 40 +(PID.TID 0000.0001) No. stops: 40 +(PID.TID 0000.0001) Seconds in section "DO_STATEVARS_DIAGS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.8658280372619629E-002 +(PID.TID 0000.0001) System time: 6.6995620727539062E-005 +(PID.TID 0000.0001) Wall clock time: 1.8832445144653320E-002 +(PID.TID 0000.0001) No. starts: 8 +(PID.TID 0000.0001) No. stops: 8 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 9.8267793655395508E-002 +(PID.TID 0000.0001) System time: 3.0907690525054932E-003 +(PID.TID 0000.0001) Wall clock time: 0.10613870620727539 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 6.5640568733215332E-002 +(PID.TID 0000.0001) System time: 2.1281391382217407E-003 +(PID.TID 0000.0001) Wall clock time: 6.8064689636230469E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.5143694877624512E-002 +(PID.TID 0000.0001) System time: 3.3855438232421875E-005 +(PID.TID 0000.0001) Wall clock time: 7.5426101684570312E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.0361661911010742E-002 +(PID.TID 0000.0001) System time: 2.2098422050476074E-005 +(PID.TID 0000.0001) Wall clock time: 2.0454406738281250E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.7837380170822144 +(PID.TID 0000.0001) System time: 1.9788742065429688E-005 +(PID.TID 0000.0001) Wall clock time: 2.7912733554840088 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 33.077173590660095 +(PID.TID 0000.0001) System time: 1.2159347534179688E-005 +(PID.TID 0000.0001) Wall clock time: 33.164688110351562 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.2646449804306030 +(PID.TID 0000.0001) System time: 1.9073486328125000E-006 +(PID.TID 0000.0001) Wall clock time: 7.2840054035186768 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.90458369255065918 +(PID.TID 0000.0001) System time: 1.3917684555053711E-005 +(PID.TID 0000.0001) Wall clock time: 0.90697813034057617 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.19442081451416016 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.19498777389526367 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.19940829277038574 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.19999194145202637 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.3174285888671875E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.5629997253417969E-004 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "GCHEM_FORCING_SEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.1372015476226807 +(PID.TID 0000.0001) System time: 6.8809986114501953E-003 +(PID.TID 0000.0001) Wall clock time: 7.1655621528625488 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.81195092201232910 +(PID.TID 0000.0001) System time: 5.6132674217224121E-005 +(PID.TID 0000.0001) Wall clock time: 0.81467080116271973 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.2868862152099609E-002 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.2929420471191406E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.2506713867187500E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.5200843811035156E-004 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.5145492553710938E-002 +(PID.TID 0000.0001) System time: 8.9229643344879150E-003 +(PID.TID 0000.0001) Wall clock time: 7.4312686920166016E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "PTRACERS_RESET [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.4580955505371094E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.5033950805664062E-004 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 8.8925600051879883E-002 +(PID.TID 0000.0001) System time: 9.9481940269470215E-003 +(PID.TID 0000.0001) Wall clock time: 9.9265813827514648E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "COST_GENCOST_ALL [ECCO SPIN-DOWN]": +(PID.TID 0000.0001) User time: 0.10156154632568359 +(PID.TID 0000.0001) System time: 7.0146620273590088E-003 +(PID.TID 0000.0001) Wall clock time: 0.10903930664062500 +(PID.TID 0000.0001) No. starts: 10 +(PID.TID 0000.0001) No. stops: 10 +(PID.TID 0000.0001) Seconds in section "CTRL_COST_DRIVER [ECCO SPIN-DOWN]": +(PID.TID 0000.0001) User time: 0.36970424652099609 +(PID.TID 0000.0001) System time: 3.9372146129608154E-003 +(PID.TID 0000.0001) Wall clock time: 0.37488269805908203 +(PID.TID 0000.0001) No. starts: 10 +(PID.TID 0000.0001) No. stops: 10 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 60.207893371582031 +(PID.TID 0000.0001) System time: 5.8790922164916992E-002 +(PID.TID 0000.0001) Wall clock time: 60.425422906875610 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 5.5771827697753906 +(PID.TID 0000.0001) System time: 3.6810636520385742E-002 +(PID.TID 0000.0001) Wall clock time: 5.6292185783386230 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 54.532981872558594 +(PID.TID 0000.0001) System time: 8.3489418029785156E-003 +(PID.TID 0000.0001) Wall clock time: 54.684335947036743 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "COST_AVERAGESFIELDS [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 0.53802108764648438 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.53900265693664551 +(PID.TID 0000.0001) No. starts: 36 +(PID.TID 0000.0001) No. stops: 36 +(PID.TID 0000.0001) Seconds in section "PROFILES_INLOOP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 3.7803649902343750E-003 +(PID.TID 0000.0001) System time: 2.4557113647460938E-005 +(PID.TID 0000.0001) Wall clock time: 3.7996768951416016E-003 +(PID.TID 0000.0001) No. starts: 36 +(PID.TID 0000.0001) No. stops: 36 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 53.417816162109375 +(PID.TID 0000.0001) System time: 2.1116733551025391E-003 +(PID.TID 0000.0001) Wall clock time: 53.560151815414429 +(PID.TID 0000.0001) No. starts: 36 +(PID.TID 0000.0001) No. stops: 36 +(PID.TID 0000.0001) Seconds in section "COST_AVERAGESFIELDS [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.13811492919921875 +(PID.TID 0000.0001) System time: 9.5367431640625000E-007 +(PID.TID 0000.0001) Wall clock time: 0.13837695121765137 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "PROFILES_INLOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 8.6975097656250000E-004 +(PID.TID 0000.0001) System time: 9.5367431640625000E-007 +(PID.TID 0000.0001) Wall clock time: 8.7451934814453125E-004 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "ECCO_COST_DRIVER [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.42352676391601562 +(PID.TID 0000.0001) System time: 4.9717426300048828E-003 +(PID.TID 0000.0001) Wall clock time: 0.43002581596374512 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 1.8386840820312500E-003 +(PID.TID 0000.0001) System time: 2.5987625122070312E-004 +(PID.TID 0000.0001) Wall clock time: 2.1040439605712891E-003 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 58896 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 58896 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/global_ocean.90x40x15/code/GGL90_OPTIONS.h b/verification/global_ocean.90x40x15/code/GGL90_OPTIONS.h index 39605ba365..5724370113 100644 --- a/verification/global_ocean.90x40x15/code/GGL90_OPTIONS.h +++ b/verification/global_ocean.90x40x15/code/GGL90_OPTIONS.h @@ -21,11 +21,19 @@ C Use horizontal averaging for viscosity and diffusivity as C originally implemented in OPA. #undef ALLOW_GGL90_SMOOTH -c----------------------------------------------------------------------- -c include IDEMIX model -c----------------------------------------------------------------------- +C allow IDEMIX model #define ALLOW_GGL90_IDEMIX +#ifdef ALLOW_GGL90_IDEMIX +C The cvmix version of idemix uses different regularisations for the +C Coriolis parameter, buoyancy frequency etc, when used in the denominator +# undef GGL90_IDEMIX_CVMIX_VERSION +#endif +C include Langmuir circulation parameterization +#undef ALLOW_GGL90_LANGMUIR + +C recover old bug prior to Jun 2023 +#undef GGL90_MISSING_HFAC_BUG #endif /* ALLOW_GGL90 */ #endif /* GGL90_OPTIONS_H */ diff --git a/verification/global_ocean.90x40x15/results/output.idemix.txt b/verification/global_ocean.90x40x15/results/output.idemix.txt index d7cb9e0896..cc1ec3d367 100644 --- a/verification/global_ocean.90x40x15/results/output.idemix.txt +++ b/verification/global_ocean.90x40x15/results/output.idemix.txt @@ -5,10 +5,10 @@ (PID.TID 0000.0001) // ====================================================== (PID.TID 0000.0001) // execution environment starting up... (PID.TID 0000.0001) -(PID.TID 0000.0001) // MITgcmUV version: checkpoint68a +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68p (PID.TID 0000.0001) // Build user: jm_c (PID.TID 0000.0001) // Build host: villon -(PID.TID 0000.0001) // Build date: Tue Aug 17 12:08:23 EDT 2021 +(PID.TID 0000.0001) // Build date: Mon Jun 12 11:58:03 EDT 2023 (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Execution Environment parameter file "eedata" @@ -226,7 +226,9 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Parameter file "data.ggl90" (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) ># Parameters for Gaspar et al. (1990)'s TKE vertical mixing scheme | +(PID.TID 0000.0001) ># ===================================================================== +(PID.TID 0000.0001) ># | Parameters for Gaspar et al. (1990)'s TKE vertical mixing scheme | +(PID.TID 0000.0001) ># ===================================================================== (PID.TID 0000.0001) > &GGL90_PARM01 (PID.TID 0000.0001) > GGL90diffTKEh=0.E3, (PID.TID 0000.0001) > GGL90ck = 0.1, @@ -236,16 +238,12 @@ (PID.TID 0000.0001) > GGL90TKEmin = 0.E-6, (PID.TID 0000.0001) > GGL90TKEbottom=4.E-6, (PID.TID 0000.0001) > GGL90TKEsurfMin=1.E-4, -(PID.TID 0000.0001) >#GGL90mixingLengthMin=, (PID.TID 0000.0001) > mxlMaxFlag=2, (PID.TID 0000.0001) > GGL90viscMax=1.E2, (PID.TID 0000.0001) > GGL90diffMax=1.E2, (PID.TID 0000.0001) > GGL90_dirichlet=.FALSE., (PID.TID 0000.0001) > useIDEMIX = .TRUE., (PID.TID 0000.0001) >#-- IO related params: -(PID.TID 0000.0001) >#GGL90TKEFile=, -(PID.TID 0000.0001) >#GGL90dumpFreq=, -(PID.TID 0000.0001) >#GGL90taveFreq=, (PID.TID 0000.0001) > GGL90mixingMaps=.FALSE., (PID.TID 0000.0001) > GGL90writeState=.FALSE., (PID.TID 0000.0001) > / @@ -255,6 +253,11 @@ (PID.TID 0000.0001) > IDEMIX_include_GM = .FALSE., (PID.TID 0000.0001) > IDEMIX_tidal_file = 'tidal_energy.bin', (PID.TID 0000.0001) > IDEMIX_wind_file = 'wind_energy.bin', +(PID.TID 0000.0001) ># these are old defaults that are not recommended +(PID.TID 0000.0001) > IDEMIX_tau_v = 86400.0, +(PID.TID 0000.0001) > IDEMIX_jstar = 10.0, +(PID.TID 0000.0001) >#IDEMIX_mu0 = 4.0/3.0 +(PID.TID 0000.0001) > IDEMIX_mu0 = 1.3333333333333333, (PID.TID 0000.0001) > / (PID.TID 0000.0001) (PID.TID 0000.0001) GGL90_READPARMS ; starts to read GGL90_PARM01 @@ -269,7 +272,7 @@ (PID.TID 0000.0001) 8.640000000000000E+05 (PID.TID 0000.0001) ; (PID.TID 0000.0001) GGL90taveFreq = /* GGL90 averaging interval ( s ). */ -(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) 1.234567000000000E+05 (PID.TID 0000.0001) ; (PID.TID 0000.0001) GGL90mixingMAPS = /* GGL90 IO flag */ (PID.TID 0000.0001) F @@ -793,7 +796,7 @@ (PID.TID 0000.0001) // =================================== (PID.TID 0000.0001) ------------------------------------------------------------ (PID.TID 0000.0001) DIAGNOSTICS_SET_LEVELS: done -(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 230 +(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 233 (PID.TID 0000.0001) write list of available Diagnostics to file: available_diagnostics.log (PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 91 surForcT (PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 92 surForcS @@ -801,24 +804,24 @@ (PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 81 oceTAUY (PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 23 ETAN (PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 77 MXLDEPTH -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 205 IDEM_F_b -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 206 IDEM_F_s -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 207 IDEM_F_g -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 197 GGL90flx -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 198 GGL90tau +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 208 IDEM_F_b +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 209 IDEM_F_s +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 210 IDEM_F_g +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 199 GGL90flx +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 200 GGL90tau (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 26 THETA (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 27 SALT (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 30 UVEL (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 31 VVEL (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 32 WVEL (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 191 GGL90TKE -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 196 GGL90Kr -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 199 IDEMIX_E -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 203 IDEMIX_K -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 204 IDEMIX_F -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 201 IDEMIX_v -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 200 IDEMIX_c -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 202 IDEMIX_t +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 197 GGL90Kr +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 201 IDEMIX_E +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 206 IDEMIX_K +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 207 IDEMIX_F +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 204 IDEMIX_v +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 203 IDEMIX_c +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 205 IDEMIX_t (PID.TID 0000.0001) space allocated for all diagnostics: 206 levels (PID.TID 0000.0001) set mate pointer for diag # 80 oceTAUX , Parms: UU U1 , mate: 81 (PID.TID 0000.0001) set mate pointer for diag # 81 oceTAUY , Parms: VV U1 , mate: 80 @@ -878,6 +881,26 @@ (PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ (PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ (PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024871553740665E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025131853965179E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025500122698715E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026019055456198E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026730727023644E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027654834729768E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028788857592232E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030129714500301E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031673780307277E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033416904722807E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035354433881450E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037481234443614E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039791720064872E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042279880049878E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939309988095E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; (PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -1265,8 +1288,8 @@ (PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ (PID.TID 0000.0001) 500 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cg2dChkResFreq = /* 2d con. grad convergence test frequency */ -(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; (PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ (PID.TID 0000.0001) 0 @@ -1283,6 +1306,9 @@ (PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ (PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; @@ -1629,15 +1655,6 @@ (PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ (PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ (PID.TID 0000.0001) ; -(PID.TID 0000.0001) rVel2wUnit = /* convert units: rVel -> wSpeed (=1 if z-coord)*/ -(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) wUnit2rVel = /* convert units: wSpeed -> rVel (=1 if z-coord)*/ -(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ -(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ -(PID.TID 0000.0001) ; (PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -2116,11 +2133,11 @@ listId= 1 ; file name: diags2D 81 |oceTAUY | 4 | 3 | 1 | 0 | 0 | 23 |ETAN | 5 | 0 | 1 | 0 | 77 |MXLDEPTH| 6 | 0 | 1 | 0 | - 205 |IDEM_F_b| 7 | 0 | 1 | 0 | - 206 |IDEM_F_s| 8 | 0 | 1 | 0 | - 207 |IDEM_F_g| 9 | 0 | 1 | 0 | - 197 |GGL90flx| 10 | 0 | 1 | 0 | - 198 |GGL90tau| 11 | 0 | 1 | 0 | + 208 |IDEM_F_b| 7 | 0 | 1 | 0 | + 209 |IDEM_F_s| 8 | 0 | 1 | 0 | + 210 |IDEM_F_g| 9 | 0 | 1 | 0 | + 199 |GGL90flx| 10 | 0 | 1 | 0 | + 200 |GGL90tau| 11 | 0 | 1 | 0 | ------------------------------------------------------------------------ listId= 2 ; file name: diags3D nFlds, nActive, freq & phase , nLev @@ -2133,13 +2150,13 @@ listId= 2 ; file name: diags3D 31 |VVEL | 57 | 42 | 15 | 0 | 0 | 32 |WVEL | 72 | 0 | 15 | 0 | 191 |GGL90TKE| 87 | 0 | 15 | 0 | - 196 |GGL90Kr | 102 | 0 | 15 | 0 | - 199 |IDEMIX_E| 117 | 0 | 15 | 0 | - 203 |IDEMIX_K| 132 | 0 | 15 | 0 | - 204 |IDEMIX_F| 147 | 0 | 15 | 0 | - 201 |IDEMIX_v| 162 | 0 | 15 | 0 | - 200 |IDEMIX_c| 177 | 0 | 15 | 0 | - 202 |IDEMIX_t| 192 | 0 | 15 | 0 | + 197 |GGL90Kr | 102 | 0 | 15 | 0 | + 201 |IDEMIX_E| 117 | 0 | 15 | 0 | + 206 |IDEMIX_K| 132 | 0 | 15 | 0 | + 207 |IDEMIX_F| 147 | 0 | 15 | 0 | + 204 |IDEMIX_v| 162 | 0 | 15 | 0 | + 203 |IDEMIX_c| 177 | 0 | 15 | 0 | + 205 |IDEMIX_t| 192 | 0 | 15 | 0 | ------------------------------------------------------------------------ Global & Regional Statistics diagnostics: Number of lists: 0 ------------------------------------------------------------------------ @@ -2334,15 +2351,15 @@ Global & Regional Statistics diagnostics: Number of lists: 0 cg2d: Sum(rhs),rhsMax = 1.04360964314765E-14 2.64520401917383E+00 (PID.TID 0000.0001) cg2d_init_res = 5.58822337956443E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 139 -(PID.TID 0000.0001) cg2d_last_res = 8.32141253092959E-14 +(PID.TID 0000.0001) cg2d_last_res = 8.32141265595548E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 2 (PID.TID 0000.0001) %MON time_secondsf = 1.7280000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 9.0324117148348E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3210004431069E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -5.4338153160951E-18 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.0324117148345E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3210004431070E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.2640897150396E-17 (PID.TID 0000.0001) %MON dynstat_eta_sd = 4.4344471918000E-01 (PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.5909166548568E-03 (PID.TID 0000.0001) %MON dynstat_uvel_max = 3.1744676637344E-02 @@ -2356,8 +2373,8 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.2266431274803E-03 (PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.4141613392214E-05 (PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0855530914353E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -9.8396819921399E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 9.9821488388002E-23 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -9.8396819921400E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 5.4608226000495E-22 (PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.2122659629746E-05 (PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7008446305722E-07 (PID.TID 0000.0001) %MON dynstat_theta_max = 2.9717076062146E+01 @@ -2418,45 +2435,45 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 2 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.4333333333 0.5666666667 - cg2d: Sum(rhs),rhsMax = -2.22044604925031E-15 2.37884408973423E+00 -(PID.TID 0000.0001) cg2d_init_res = 5.81232322475357E-01 + cg2d: Sum(rhs),rhsMax = -4.10782519111308E-15 2.37884408973422E+00 +(PID.TID 0000.0001) cg2d_init_res = 5.81232322474891E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 138 -(PID.TID 0000.0001) cg2d_last_res = 9.86994968949567E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.86994975839760E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 3 (PID.TID 0000.0001) %MON time_secondsf = 2.5920000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 8.9329116064314E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.5760995105323E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = 3.0791620124539E-17 +(PID.TID 0000.0001) %MON dynstat_eta_max = 8.9329116064312E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.5760995105322E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.2602891896571E-17 (PID.TID 0000.0001) %MON dynstat_eta_sd = 5.2927829184694E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.4201762211698E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 5.0481261742316E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.4201762211696E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 5.0481261742315E-02 (PID.TID 0000.0001) %MON dynstat_uvel_min = -4.7233665906022E-02 (PID.TID 0000.0001) %MON dynstat_uvel_mean = -9.2222165955539E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.4935802140573E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 4.7224541374671E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.4935802143402E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 4.7224541377901E-05 (PID.TID 0000.0001) %MON dynstat_vvel_max = 5.0679328667827E-02 (PID.TID 0000.0001) %MON dynstat_vvel_min = -6.2391266087981E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 8.0825851958483E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.8178035008633E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 6.1939090075861E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 8.0825851958482E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.8178035009601E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 6.1939090085523E-05 (PID.TID 0000.0001) %MON dynstat_wvel_max = 1.4850482901394E-04 (PID.TID 0000.0001) %MON dynstat_wvel_min = -1.2994222430949E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -9.3949636129884E-23 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.6328070384579E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.2986676462224E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 6.2828819161860E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.6328070384631E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.2986676462696E-07 (PID.TID 0000.0001) %MON dynstat_theta_max = 2.9703777692972E+01 (PID.TID 0000.0001) %MON dynstat_theta_min = -1.9013272428997E+00 (PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6187150263427E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4142740678581E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5451631399023E-03 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4142740678717E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5451623611856E-03 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.7450452370452E+01 (PID.TID 0000.0001) %MON dynstat_salt_min = 2.9752956048926E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717930286047E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9599295263422E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0172408491796E-03 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9599295264377E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0172408267816E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.2798718261719E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8609266001383E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6675181426744E+01 @@ -2484,66 +2501,66 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.4636987924417E-04 (PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.6620968412026E-02 (PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.5633734311014E-03 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 3.1798767270133E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 3.1798767270132E-02 (PID.TID 0000.0001) %MON advcfl_uvel_max = 1.6427692900569E-02 (PID.TID 0000.0001) %MON advcfl_vvel_max = 1.2121622365289E-02 (PID.TID 0000.0001) %MON advcfl_wvel_max = 4.6626364892377E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 5.2761412904531E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.5846715085310E-04 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 5.2761412904532E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.5846715085309E-04 (PID.TID 0000.0001) %MON ke_max = 2.0775791857689E-03 -(PID.TID 0000.0001) %MON ke_mean = 2.1419970743167E-05 +(PID.TID 0000.0001) %MON ke_mean = 2.1419970744571E-05 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 (PID.TID 0000.0001) %MON vort_r_min = -2.4278157835472E-07 (PID.TID 0000.0001) %MON vort_r_max = 2.1370023960690E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274807203329E-05 (PID.TID 0000.0001) %MON vort_a_sd = 7.3604169436087E-05 (PID.TID 0000.0001) %MON vort_p_mean = -3.1845655554883E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162500996377E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.0338979052913E-05 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = 4.1572053945311E-07 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162500996379E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.0338978852203E-05 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 4.1572054017769E-07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 3 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.4000000000 0.6000000000 - cg2d: Sum(rhs),rhsMax = -3.33066907387547E-16 2.20486080157103E+00 -(PID.TID 0000.0001) cg2d_init_res = 4.05101146512987E-01 + cg2d: Sum(rhs),rhsMax = 1.77635683940025E-15 2.20486080157101E+00 +(PID.TID 0000.0001) cg2d_init_res = 4.05101172804556E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 138 -(PID.TID 0000.0001) cg2d_last_res = 8.95429440934783E-14 +(PID.TID 0000.0001) cg2d_last_res = 8.95429417847564E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 4 (PID.TID 0000.0001) %MON time_secondsf = 3.4560000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 8.6579425110887E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.5896768336351E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.6225435440634E-17 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.5510480102435E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3412795207759E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 7.0685407848773E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -5.9965914203160E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -8.4471593237465E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 4.6635359514134E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.8110038105676E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 6.2599588418823E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -7.8607992735024E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 5.5199970916471E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.2697110636819E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 7.7165140574119E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.8258249607488E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.5416451530436E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.0745489632355E-21 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9920528953433E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.7643016187316E-07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 8.6579425095052E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.5896768466027E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 9.0563588601586E-18 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.5510480089388E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3412795148312E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 7.0685407841268E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -5.9965914203646E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -8.4471593264068E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 4.6635359489146E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.8110038210526E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 6.2599588418821E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -7.8607992772898E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 5.5199970854813E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.2697110657131E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 7.7165140447810E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.8258249607439E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.5416451530026E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.6441186322730E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9920528996341E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.7643016379213E-07 (PID.TID 0000.0001) %MON dynstat_theta_max = 2.9695782894323E+01 (PID.TID 0000.0001) %MON dynstat_theta_min = -1.9006418175409E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6186703725212E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4131656616833E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5924364547554E-03 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6186703724849E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4131656617144E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5924345672564E-03 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.7444318102593E+01 (PID.TID 0000.0001) %MON dynstat_salt_min = 2.9750324657384E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717930447420E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9583107561837E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0263288550766E-03 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9583107561631E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0263288822918E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.2903536987305E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8562549743652E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6662669470921E+01 @@ -2569,68 +2586,68 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_mean = -6.1440480618348E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 4.5513649503191E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.4740184358134E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.8542673516495E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.8542673516494E-02 (PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.1612438615113E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 4.2907674805561E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.2788207513427E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.5272272267783E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.8249914569638E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.5914377013012E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.9430398583194E-04 -(PID.TID 0000.0001) %MON ke_max = 3.6286966995962E-03 -(PID.TID 0000.0001) %MON ke_mean = 3.4067770418314E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 4.2907674805562E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.2788212321165E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.5272272275141E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.8249914569175E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.5914377012488E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.9430398564659E-04 +(PID.TID 0000.0001) %MON ke_max = 3.6286967000520E-03 +(PID.TID 0000.0001) %MON ke_mean = 3.4067770420882E-05 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 -(PID.TID 0000.0001) %MON vort_r_min = -2.7426061450028E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.3337380298912E-07 +(PID.TID 0000.0001) %MON vort_r_min = -2.7426061450045E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.3337380298944E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274807100877E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.3604185547227E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3604185547229E-05 (PID.TID 0000.0001) %MON vort_p_mean = -3.1845655425795E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162490696471E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.7925287680814E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -6.8576137008220E-08 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162490696474E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.7925287255054E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -6.8576134896777E-08 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 4 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.3666666667 0.6333333333 - cg2d: Sum(rhs),rhsMax = 3.33066907387547E-15 2.00710277647478E+00 -(PID.TID 0000.0001) cg2d_init_res = 5.47404787712920E-01 + cg2d: Sum(rhs),rhsMax = 1.23234755733392E-14 2.00710277647493E+00 +(PID.TID 0000.0001) cg2d_init_res = 5.47404821862348E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 138 -(PID.TID 0000.0001) cg2d_last_res = 8.10566143451495E-14 +(PID.TID 0000.0001) cg2d_last_res = 8.10565982621858E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 5 (PID.TID 0000.0001) %MON time_secondsf = 4.3200000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 8.9318832213169E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.5354918886373E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.4490174176254E-17 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.5353992099200E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.2733415058030E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 9.1327031738056E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -7.0593584045282E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -6.8214121075809E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.9208004148076E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 6.6708434328704E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 7.3811610600136E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -9.2527893310200E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 2.5258284413086E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.4778585143132E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 8.9344005527621E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.0694599602314E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.6979419174724E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 6.8113486194166E-22 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.2630209365745E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.0738094053107E-07 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9694421440997E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8998308971257E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6187797176151E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4133154266066E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5184979734883E-03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 8.9318832215627E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.5354918970363E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.6225435440634E-17 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.5353992073947E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.2733415184453E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 9.1327031716907E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -7.0593584047598E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -6.8214121150118E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.9208011008642E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 6.6708412398491E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 7.3811610589744E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -9.2527893325047E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 2.5258284240086E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.4778585410136E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 8.9344004423808E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.0694599602085E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.6979419178430E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 6.4003189613484E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.2630209436348E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.0738094582839E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9694421441002E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8998308971226E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6187797175056E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4133154266806E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5184937965348E-03 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.7439176275343E+01 (PID.TID 0000.0001) %MON dynstat_salt_min = 2.9746526636792E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717937971578E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9580153016861E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0237056377194E-03 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717937971581E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9580153017401E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0237057593942E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.3008355712891E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8515833485921E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6650157515098E+01 @@ -2656,68 +2673,68 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_mean = -6.0702855349740E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 4.5662631572644E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.4897783530480E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.2792835961357E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.4795442924087E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 5.2221472221523E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.9067287093475E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.7976685701175E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.7723195142611E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.6634141871902E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.9208397730278E-04 -(PID.TID 0000.0001) %MON ke_max = 5.4355898279750E-03 -(PID.TID 0000.0001) %MON ke_mean = 4.8433885618416E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.2792840770071E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.4795442924259E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 5.2221472221220E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.9067293509599E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.7976685704059E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.7723195141483E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.6634141870625E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.9208397694504E-04 +(PID.TID 0000.0001) %MON ke_max = 5.4355898325035E-03 +(PID.TID 0000.0001) %MON ke_mean = 4.8433889512591E-05 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 -(PID.TID 0000.0001) %MON vort_r_min = -2.7232030760910E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.2591190545255E-07 +(PID.TID 0000.0001) %MON vort_r_min = -2.7232030761230E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.2591190545615E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274807014640E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.3604218172007E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3604218172017E-05 (PID.TID 0000.0001) %MON vort_p_mean = -3.1845655317138E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162480793532E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.1194861405887E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6277558024291E-07 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162480793587E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.1194859869701E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6277560460023E-07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 5 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.3333333333 0.6666666667 - cg2d: Sum(rhs),rhsMax = 7.32747196252603E-15 1.78680552006839E+00 -(PID.TID 0000.0001) cg2d_init_res = 6.50454581357221E-01 + cg2d: Sum(rhs),rhsMax = 7.54951656745106E-15 1.78680552004422E+00 +(PID.TID 0000.0001) cg2d_init_res = 6.50454690804347E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 137 -(PID.TID 0000.0001) cg2d_last_res = 7.34232874543373E-14 +(PID.TID 0000.0001) cg2d_last_res = 7.34233479533570E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 6 (PID.TID 0000.0001) %MON time_secondsf = 5.1840000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0340296944667E+00 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4866066951526E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = 3.6225435440634E-18 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.4313265113323E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.1767472316094E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.1143776334200E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -7.8779911776337E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.7673396876870E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 7.2402416895755E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 7.3235216722874E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.2650876982429E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.0373565958817E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.7265664307431E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 9.3981949268613E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 9.8219587600152E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.2176866590819E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.7602987816729E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -2.2900223806659E-22 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.4371389486026E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.2254142180994E-07 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9696076055798E+01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0340296945498E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4866067152299E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.6225435440634E-18 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.4313265046649E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.1767472651554E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.1143776332519E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -7.8779911781049E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.7673397010825E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 7.2402428202303E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 7.3235179209200E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.2650876975503E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.0373565966293E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.7265667895554E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 9.3981950520019E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 9.8219583754895E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.2176866590388E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.7602987821229E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -7.2810968000660E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.4371389623297E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.2254143491993E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9696076055815E+01 (PID.TID 0000.0001) %MON dynstat_theta_min = -1.9010978573498E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6189244343036E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4133864708661E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.4906669164810E-03 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6189244340362E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4133864712638E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.4906672567950E-03 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.7434881061900E+01 (PID.TID 0000.0001) %MON dynstat_salt_min = 2.9742090567484E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717946034765E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9575095040854E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0230850534086E-03 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717946034775E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9575095037887E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0230849465104E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.3113174438477E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8469117228190E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6637645559275E+01 @@ -2743,68 +2760,68 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_mean = -5.9965230081132E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 4.5826577347902E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.5109215240509E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.9073190867377E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.7404375982142E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.0668695648589E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.4975168908123E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.0154174938024E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.4594399837739E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 8.4409452447968E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.7747919802284E-04 -(PID.TID 0000.0001) %MON ke_max = 7.3916505752032E-03 -(PID.TID 0000.0001) %MON ke_mean = 6.3572531499737E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.9073197284803E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.7404375984935E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.0668695647578E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.4975176151840E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.0154174952548E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.4594399835644E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 8.4409452445597E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.7747919709607E-04 +(PID.TID 0000.0001) %MON ke_max = 7.3916503858276E-03 +(PID.TID 0000.0001) %MON ke_mean = 6.3572539994617E-05 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 -(PID.TID 0000.0001) %MON vort_r_min = -2.7022624762737E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.2605243908132E-07 +(PID.TID 0000.0001) %MON vort_r_min = -2.7022624800276E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.2605235085183E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274806965077E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.3604258317326E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3604258317352E-05 (PID.TID 0000.0001) %MON vort_p_mean = -3.1845655254690E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162469117881E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -2.1188556728717E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7382782831817E-07 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162469118205E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -2.1188556447145E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7382780423333E-07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 6 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.3000000000 0.7000000000 - cg2d: Sum(rhs),rhsMax = 2.22044604925031E-15 1.56003720416141E+00 -(PID.TID 0000.0001) cg2d_init_res = 7.58288548136571E-01 + cg2d: Sum(rhs),rhsMax = 7.32747196252603E-15 1.56003720410589E+00 +(PID.TID 0000.0001) cg2d_init_res = 7.58288033618600E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 136 -(PID.TID 0000.0001) cg2d_last_res = 8.51975068459881E-14 +(PID.TID 0000.0001) cg2d_last_res = 8.51977851533699E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 7 (PID.TID 0000.0001) %MON time_secondsf = 6.0480000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0879093310116E+00 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4506236508309E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -8.5129773285491E-17 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.3201161946605E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.0870016115279E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.3020024567320E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.4422688342361E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.5576358436605E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 8.5877996246748E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 7.7998179801469E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.8729033416358E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1115928609226E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.1073450501256E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0026611635704E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0382708892226E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.3248313631423E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.8661649727598E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -7.0462227097413E-23 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.5167466579660E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.2316014324528E-07 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9698141159398E+01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0879093311100E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4506236689132E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.8112717720317E-18 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.3201161938022E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.0870015561949E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.3020024584614E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.4422688229578E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.5576358777023E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 8.5878008244859E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 7.7998150049601E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.8729033413704E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1115928630602E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.1073450316278E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0026611909822E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0382708474850E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.3248309037504E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.8661648899619E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.6441186322730E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.5167466501154E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.2316014374359E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9698141159443E+01 (PID.TID 0000.0001) %MON dynstat_theta_min = -1.9015149273148E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6190524513741E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4136359733583E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.4151145012342E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7431296402006E+01 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6190524510831E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4136359740070E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.4151105463788E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7431296402007E+01 (PID.TID 0000.0001) %MON dynstat_salt_min = 2.9737581287677E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717951781714E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9573957649299E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0212936469814E-03 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717951781711E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9573957645464E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0212937180306E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.3217993164062E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8422400970459E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6625133603452E+01 @@ -2830,68 +2847,68 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_mean = -5.9227604812524E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 4.6005326854092E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.5373726950670E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.4982272615075E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.9512542192820E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.6824149854641E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.0236375028503E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.1596466507113E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.8822758219016E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 8.9194173774149E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.6217914194850E-04 -(PID.TID 0000.0001) %MON ke_max = 9.3936107570622E-03 -(PID.TID 0000.0001) %MON ke_mean = 7.8689179240154E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.4982279860263E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.9512542206881E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.6824149852764E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.0236384816103E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.1596466548644E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.8822740671741E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 8.9194153918023E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.6217914183163E-04 +(PID.TID 0000.0001) %MON ke_max = 9.3936100047883E-03 +(PID.TID 0000.0001) %MON ke_mean = 7.8689191070711E-05 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 -(PID.TID 0000.0001) %MON vort_r_min = -2.9542290304629E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.4571648077555E-07 +(PID.TID 0000.0001) %MON vort_r_min = -2.9542290448277E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.4571639587333E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274806970359E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.3604299405672E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3604299405722E-05 (PID.TID 0000.0001) %MON vort_p_mean = -3.1845655261345E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162455174045E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.6001282282217E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.1412748361415E-07 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162455175132E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.6001280458642E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.1412749889592E-07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 7 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.2666666667 0.7333333333 - cg2d: Sum(rhs),rhsMax = 7.32747196252603E-15 1.34056216067935E+00 -(PID.TID 0000.0001) cg2d_init_res = 8.80397082299022E-01 + cg2d: Sum(rhs),rhsMax = -8.88178419700125E-16 1.34056216058508E+00 +(PID.TID 0000.0001) cg2d_init_res = 8.80397785038316E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 137 -(PID.TID 0000.0001) cg2d_last_res = 9.51326083378419E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.51318884783369E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 8 (PID.TID 0000.0001) %MON time_secondsf = 6.9120000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0581854481045E+00 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4197671817531E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.8112717720317E-17 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.2385880427478E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9936376003453E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.4700230214573E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.7497140786364E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.0690261438954E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 9.9187926623713E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 8.1470329624996E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.2070028050372E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1490415607267E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -3.0987549578121E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0373820118079E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0636572014555E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.3503735115136E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.9682954723460E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.2882372645459E-22 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.5116894992670E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.1148782872227E-07 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9699838752251E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9024300666438E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6191461569904E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4136632644154E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.3686809696809E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7428500444121E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9733531427286E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717955237706E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9571597118528E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0206175545760E-03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0581854480502E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4197671977232E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.0791620124539E-17 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.2385880337763E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9936376651813E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.4700230158657E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.7497142014334E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.0690264992643E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 9.9187937029161E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 8.1470314223887E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.2070028047665E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1490415741981E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -3.0987550113071E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0373820560202E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0636571128014E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.3503730828109E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.9682954102325E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 5.9892893032801E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.5116894643114E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.1148783222254E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9699838752278E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9024300666484E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6191461565526E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4136632650839E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.3686778371093E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7428500444127E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9733531427284E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717955237714E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9571597110952E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0206174250483E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.3322811889648E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8375684712728E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6612621647628E+01 @@ -2917,68 +2934,68 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_mean = -5.8489979543915E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 4.6198708258185E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.5690396795039E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.0244547324046E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.0908916650358E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.0612054237868E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.4612470708746E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.2324034683813E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 8.0460535225851E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.1047447755568E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.5116376349069E-04 -(PID.TID 0000.0001) %MON ke_max = 1.1348702713848E-02 -(PID.TID 0000.0001) %MON ke_mean = 9.3054100867484E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.0244557113635E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.0908916690566E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.0612038518435E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.4612481757346E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.2324034945542E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 8.0460519972634E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.1047430495349E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.5116376228790E-04 +(PID.TID 0000.0001) %MON ke_max = 1.1348700919041E-02 +(PID.TID 0000.0001) %MON ke_mean = 9.3054114365193E-05 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 -(PID.TID 0000.0001) %MON vort_r_min = -2.9610806940263E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.5844822803832E-07 +(PID.TID 0000.0001) %MON vort_r_min = -2.9610807513283E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.5844832170880E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274807024393E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.3604336601413E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3604336601498E-05 (PID.TID 0000.0001) %MON vort_p_mean = -3.1845655329427E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162439088731E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -7.2765666614406E-07 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.4972668361342E-07 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162439091279E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -7.2765665274513E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.4972668194358E-07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 8 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.2333333333 0.7666666667 - cg2d: Sum(rhs),rhsMax = -6.21724893790088E-15 1.17833084095994E+00 -(PID.TID 0000.0001) cg2d_init_res = 9.71286758146264E-01 + cg2d: Sum(rhs),rhsMax = 1.26565424807268E-14 1.17833009089952E+00 +(PID.TID 0000.0001) cg2d_init_res = 9.71286874063816E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 137 -(PID.TID 0000.0001) cg2d_last_res = 8.61244862009459E-14 +(PID.TID 0000.0001) cg2d_last_res = 8.61248914437431E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 9 (PID.TID 0000.0001) %MON time_secondsf = 7.7760000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 9.7064771144246E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3904640651519E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = 2.8980348352507E-17 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.2049155715277E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9154089808730E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.6129970952847E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.8033948479943E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.5155664205260E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1191154574655E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 8.4123434239666E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.4601873400301E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1734951394365E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -3.2372652685863E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0466806678177E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0626811947299E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.2998948894992E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0125965910240E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.5231113548707E-23 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.4378791994161E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.9067840701294E-07 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9701554244060E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9029608145822E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6192148987312E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4137537967719E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.3031727856030E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7429171514078E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9730263144636E+01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.7064771096309E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3904639345245E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -9.0563588601586E-18 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.2049155577954E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9154090300794E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.6129970843500E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.8033950490870E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.5155663848813E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1191155134963E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 8.4123420744095E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.4601874774100E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1734951796884E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -3.2372653099776E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0466807397254E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0626810924337E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.2998945103030E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0125964594168E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.2313038580847E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.4378791574450E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.9067840461360E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9701554244110E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9029608145828E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6192148982054E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4137537976682E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.3031688160313E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7429171514079E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9730263144629E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717957138047E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9570782027377E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0195487308836E-03 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9570782028153E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0195485915793E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.3427630615234E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8328968454997E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6600109691805E+01 @@ -3004,68 +3021,68 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_mean = -5.7752354275308E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 4.6406538642117E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.6058148956476E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.4621531820620E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.1613321806593E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2079229473158E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.7929853904510E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.2799128499320E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.9659045374420E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.0140498713160E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.4666386816095E-04 -(PID.TID 0000.0001) %MON ke_max = 1.3175818283629E-02 -(PID.TID 0000.0001) %MON ke_mean = 1.0614040543521E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.4621542871465E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.1613322059989E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2079215808818E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.7929863029223E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.2799129281350E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.9659031809752E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.0140483363667E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.4666386633173E-04 +(PID.TID 0000.0001) %MON ke_max = 1.3175815031586E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.0614041789137E-04 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 -(PID.TID 0000.0001) %MON vort_r_min = -3.3655851631678E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.8033634234906E-07 +(PID.TID 0000.0001) %MON vort_r_min = -3.3655854313803E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.8033634236437E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274807106651E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.3604366514115E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3604366514246E-05 (PID.TID 0000.0001) %MON vort_p_mean = -3.1845655433070E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162421249315E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -5.8598858911886E-08 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.0659779098084E-07 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162421254210E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -5.8599023220637E-08 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.0659781136373E-07 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 9 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.2000000000 0.8000000000 - cg2d: Sum(rhs),rhsMax = 8.88178419700125E-15 1.11384181227068E+00 -(PID.TID 0000.0001) cg2d_init_res = 9.66721968064628E-01 + cg2d: Sum(rhs),rhsMax = 1.77635683940025E-14 1.11384176206381E+00 +(PID.TID 0000.0001) cg2d_init_res = 9.66722232907589E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 137 -(PID.TID 0000.0001) cg2d_last_res = 7.75242972999645E-14 +(PID.TID 0000.0001) cg2d_last_res = 7.75240820665285E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 10 (PID.TID 0000.0001) %MON time_secondsf = 8.6400000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 8.5734360593365E-01 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3657496383835E+00 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -5.4338153160951E-18 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.2217644926756E-01 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.8462579955141E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.7267114277613E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.9847105264351E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 3.1129298811225E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2364105290348E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 8.6330303150791E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.7825518692645E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1635073451098E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.7662934635690E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0348133529497E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0410848220091E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.1820189243764E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.9981555021753E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -3.6405484000330E-22 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.3158654321943E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6460495996792E-07 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9703702772276E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9042579550421E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6192699559835E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4137051550997E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.2684878171742E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7429607064224E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9727885942481E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717958354916E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9568752415401E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0197622895550E-03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 8.5734360481081E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3657495619793E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -5.9771968477047E-17 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.2217644756143E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.8462581237532E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.7267113989720E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.9847105240217E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 3.1129298133935E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2364105321586E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 8.6330289279397E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.7825520913971E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1635074859742E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.7662934922688E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0348134528414E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0410847050146E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.1820185866244E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.9981553723288E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.5619127006593E-21 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.3158653844074E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6460495367399E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9703702772294E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9042579550384E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6192699551786E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4137051555861E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.2684828841107E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7429607064225E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9727885942471E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4717958354915E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9568752402320E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0197622590780E-03 (PID.TID 0000.0001) %MON forcing_qnet_max = 4.3532449340820E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -1.8282252197266E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -1.6587597735982E+01 @@ -3091,171 +3108,171 @@ Global & Regional Statistics diagnostics: Number of lists: 0 (PID.TID 0000.0001) %MON forcing_fv_mean = -5.7014729006700E-03 (PID.TID 0000.0001) %MON forcing_fv_sd = 4.6628624802842E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 4.6475770842672E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.7939588800638E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.2073290430917E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.1361228147918E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.0092736195391E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.2605081674049E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.6673429746036E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 8.6762038923146E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 3.4891188389046E-04 -(PID.TID 0000.0001) %MON ke_max = 1.4810165546234E-02 -(PID.TID 0000.0001) %MON ke_mean = 1.1760467614129E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.7939597927204E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.2073291188049E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.1361215996236E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.0092746025912E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.2605084410818E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.6673417579427E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 8.6762025155668E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 3.4891188161043E-04 +(PID.TID 0000.0001) %MON ke_max = 1.4810160298696E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.1760468577244E-04 (PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 -(PID.TID 0000.0001) %MON vort_r_min = -3.7037649866947E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.9782510030804E-07 +(PID.TID 0000.0001) %MON vort_r_min = -3.7037652751199E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.9782510031810E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.5274807184605E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.3604387928554E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -3.1845655531290E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.3162402674002E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.7971796785106E-07 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -8.6201909178329E-08 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3604387928740E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -3.1845655531291E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3162402682063E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.7971733152994E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -8.6201969757268E-08 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %CHECKPOINT 10 ckptA (PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 11.392005207017064 -(PID.TID 0000.0001) System time: 0.27557700686156750 -(PID.TID 0000.0001) Wall clock time: 11.669352054595947 +(PID.TID 0000.0001) User time: 12.284670663066208 +(PID.TID 0000.0001) System time: 0.34731400525197387 +(PID.TID 0000.0001) Wall clock time: 12.708964109420776 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 0.16049699671566486 -(PID.TID 0000.0001) System time: 9.2055998742580414E-002 -(PID.TID 0000.0001) Wall clock time: 0.25291895866394043 +(PID.TID 0000.0001) User time: 0.17795599438250065 +(PID.TID 0000.0001) System time: 0.12306899763643742 +(PID.TID 0000.0001) Wall clock time: 0.35041093826293945 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "THE_MAIN_LOOP [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 11.231453537940979 -(PID.TID 0000.0001) System time: 0.18346500396728516 -(PID.TID 0000.0001) Wall clock time: 11.416343927383423 +(PID.TID 0000.0001) User time: 12.106621980667114 +(PID.TID 0000.0001) System time: 0.22421099245548248 +(PID.TID 0000.0001) Wall clock time: 12.358454942703247 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 0.52097900211811066 -(PID.TID 0000.0001) System time: 0.14011500775814056 -(PID.TID 0000.0001) Wall clock time: 0.66118979454040527 +(PID.TID 0000.0001) User time: 0.57308998703956604 +(PID.TID 0000.0001) System time: 0.16311900317668915 +(PID.TID 0000.0001) Wall clock time: 0.75866699218750000 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 10.710452854633331 -(PID.TID 0000.0001) System time: 4.3344005942344666E-002 -(PID.TID 0000.0001) Wall clock time: 10.755128145217896 +(PID.TID 0000.0001) User time: 11.533509314060211 +(PID.TID 0000.0001) System time: 6.1084002256393433E-002 +(PID.TID 0000.0001) Wall clock time: 11.599760055541992 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 10.710335850715637 -(PID.TID 0000.0001) System time: 4.3344005942344666E-002 -(PID.TID 0000.0001) Wall clock time: 10.755000114440918 +(PID.TID 0000.0001) User time: 11.533402919769287 +(PID.TID 0000.0001) System time: 6.1079978942871094E-002 +(PID.TID 0000.0001) Wall clock time: 11.599648714065552 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": -(PID.TID 0000.0001) User time: 10.710184752941132 -(PID.TID 0000.0001) System time: 4.3344005942344666E-002 -(PID.TID 0000.0001) Wall clock time: 10.754849195480347 +(PID.TID 0000.0001) User time: 11.533233761787415 +(PID.TID 0000.0001) System time: 6.1075985431671143E-002 +(PID.TID 0000.0001) Wall clock time: 11.599479198455811 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_STATEVARS_DIAGS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.2498409748077393E-002 -(PID.TID 0000.0001) System time: 1.0102987289428711E-004 -(PID.TID 0000.0001) Wall clock time: 4.2619466781616211E-002 +(PID.TID 0000.0001) User time: 4.6841442584991455E-002 +(PID.TID 0000.0001) System time: 3.2496452331542969E-004 +(PID.TID 0000.0001) Wall clock time: 4.7203302383422852E-002 (PID.TID 0000.0001) No. starts: 20 (PID.TID 0000.0001) No. stops: 20 (PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.5894293785095215E-002 -(PID.TID 0000.0001) System time: 1.0132789611816406E-006 -(PID.TID 0000.0001) Wall clock time: 1.5898466110229492E-002 +(PID.TID 0000.0001) User time: 1.8331289291381836E-002 +(PID.TID 0000.0001) System time: 7.7992677688598633E-005 +(PID.TID 0000.0001) Wall clock time: 1.8439531326293945E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": -(PID.TID 0000.0001) User time: 1.5737533569335938E-002 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 1.5744924545288086E-002 +(PID.TID 0000.0001) User time: 1.8158435821533203E-002 +(PID.TID 0000.0001) System time: 7.5012445449829102E-005 +(PID.TID 0000.0001) Wall clock time: 1.8271684646606445E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 8.1360340118408203E-005 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 9.5129013061523438E-005 +(PID.TID 0000.0001) User time: 8.5711479187011719E-005 +(PID.TID 0000.0001) System time: 1.9967555999755859E-006 +(PID.TID 0000.0001) Wall clock time: 8.5830688476562500E-005 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.9710686206817627 -(PID.TID 0000.0001) System time: 2.1994113922119141E-005 -(PID.TID 0000.0001) Wall clock time: 2.9716820716857910 +(PID.TID 0000.0001) User time: 3.1633465886116028 +(PID.TID 0000.0001) System time: 8.6799263954162598E-004 +(PID.TID 0000.0001) Wall clock time: 3.1655299663543701 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "GGL90_CALC [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 1.7517680525779724 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 1.7523725032806396 +(PID.TID 0000.0001) User time: 1.8594989180564880 +(PID.TID 0000.0001) System time: 6.4197182655334473E-004 +(PID.TID 0000.0001) Wall clock time: 1.8610417842864990 (PID.TID 0000.0001) No. starts: 360 (PID.TID 0000.0001) No. stops: 360 (PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.1588053703308105 +(PID.TID 0000.0001) User time: 2.3925098180770874 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 2.1588912010192871 +(PID.TID 0000.0001) Wall clock time: 2.3935093879699707 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.7970561981201172 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 2.7976257801055908 +(PID.TID 0000.0001) User time: 3.0368694067001343 +(PID.TID 0000.0001) System time: 8.8006258010864258E-005 +(PID.TID 0000.0001) Wall clock time: 3.0391211509704590 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "UPDATE_SURF_DR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.0106415748596191E-002 +(PID.TID 0000.0001) User time: 4.3323755264282227E-002 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 4.0114402770996094E-002 +(PID.TID 0000.0001) Wall clock time: 4.3335676193237305E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.4944530725479126 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 1.4945201873779297 +(PID.TID 0000.0001) User time: 1.5061788558959961 +(PID.TID 0000.0001) System time: 3.4280121326446533E-003 +(PID.TID 0000.0001) Wall clock time: 1.5100038051605225 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 9.2413067817687988E-002 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 9.2437267303466797E-002 +(PID.TID 0000.0001) User time: 0.10408604145050049 +(PID.TID 0000.0001) System time: 6.8038702011108398E-005 +(PID.TID 0000.0001) Wall clock time: 0.10417270660400391 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.12148272991180420 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 0.12149548530578613 +(PID.TID 0000.0001) User time: 0.13592636585235596 +(PID.TID 0000.0001) System time: 4.8702955245971680E-004 +(PID.TID 0000.0001) Wall clock time: 0.13644003868103027 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 7.9035758972167969E-005 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 7.4625015258789062E-005 +(PID.TID 0000.0001) User time: 8.7141990661621094E-005 +(PID.TID 0000.0001) System time: 9.8347663879394531E-007 +(PID.TID 0000.0001) Wall clock time: 8.8930130004882812E-005 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.34350371360778809 -(PID.TID 0000.0001) System time: 3.5039931535720825E-003 -(PID.TID 0000.0001) Wall clock time: 0.34703707695007324 +(PID.TID 0000.0001) User time: 0.37631261348724365 +(PID.TID 0000.0001) System time: 7.8179836273193359E-003 +(PID.TID 0000.0001) Wall clock time: 0.38428330421447754 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.56838178634643555 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 0.56841731071472168 +(PID.TID 0000.0001) User time: 0.62040627002716064 +(PID.TID 0000.0001) System time: 3.9439797401428223E-003 +(PID.TID 0000.0001) Wall clock time: 0.62452626228332520 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.6760935783386230E-002 -(PID.TID 0000.0001) System time: 7.7109932899475098E-003 -(PID.TID 0000.0001) Wall clock time: 3.4486770629882812E-002 +(PID.TID 0000.0001) User time: 3.3963441848754883E-002 +(PID.TID 0000.0001) System time: 1.6038000583648682E-002 +(PID.TID 0000.0001) Wall clock time: 5.0024032592773438E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 3.6023497581481934E-002 -(PID.TID 0000.0001) System time: 3.2000005245208740E-002 -(PID.TID 0000.0001) Wall clock time: 6.8093776702880859E-002 +(PID.TID 0000.0001) User time: 5.3177833557128906E-002 +(PID.TID 0000.0001) System time: 2.7902007102966309E-002 +(PID.TID 0000.0001) Wall clock time: 8.1173896789550781E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) // ====================================================== diff --git a/verification/global_ocean.cs32x15/code/GGL90_OPTIONS.h b/verification/global_ocean.cs32x15/code/GGL90_OPTIONS.h index 7f2f407c9d..a6920dff3a 100644 --- a/verification/global_ocean.cs32x15/code/GGL90_OPTIONS.h +++ b/verification/global_ocean.cs32x15/code/GGL90_OPTIONS.h @@ -23,6 +23,17 @@ C originally implemented in OPA. C allow IDEMIX model #define ALLOW_GGL90_IDEMIX +#ifdef ALLOW_GGL90_IDEMIX +C The cvmix version of idemix uses different regularisations for the +C Coriolis parameter, buoyancy frequency etc, when used in the denominator +# define GGL90_IDEMIX_CVMIX_VERSION +#endif + +C include Langmuir circulation parameterization +#undef ALLOW_GGL90_LANGMUIR + +C recover old bug prior to Jun 2023 +#undef GGL90_MISSING_HFAC_BUG #endif /* ALLOW_GGL90 */ #endif /* GGL90_OPTIONS_H */ diff --git a/verification/global_ocean.cs32x15/code_tap/AUTODIFF_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..97d74f5c9a --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,86 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C let autodiff_init_varia reset variables to 0 to reproduce old bug +#undef ALLOW_AUTODIFF_INIT_OLD + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +#undef AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o allow using viscFacInAd to recompute viscosities in AD +#undef AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/global_ocean.cs32x15/code_tap/COST_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/COST_OPTIONS.h new file mode 100644 index 0000000000..41c6475da2 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/COST_OPTIONS.h @@ -0,0 +1,77 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT + +#define ALLOW_COST_TEST +#define ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/global_ocean.cs32x15/code_tap/CPP_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..517798dfae --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/CPP_OPTIONS.h @@ -0,0 +1,141 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#define ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#define ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#define ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#define INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#define ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#define NONLIN_FRSURF +#undef DISABLE_RSTAR_CODE +#define DISABLE_SIGMA_CODE + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +c#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +c#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/global_ocean.cs32x15/code_tap/CTRL_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..25037dcf8f --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,74 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +#undef EXCLUDE_CTRL_PACK +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO + +C >>> Other Control. +#define ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#define ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/global_ocean.cs32x15/code_tap/CTRL_SIZE.h b/verification/global_ocean.cs32x15/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..b0df139b02 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 1 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 4 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 4 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_ocean.cs32x15/code_tap/DIAGNOSTICS_SIZE.h b/verification/global_ocean.cs32x15/code_tap/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..e610f014e7 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/DIAGNOSTICS_SIZE.h @@ -0,0 +1,28 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numdiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C sizRegMsk :: maximum size of the regional-mask (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numdiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numdiags + INTEGER nRegions, sizRegMsk, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 10, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numdiags = 40*Nr ) + PARAMETER( nRegions = 10 , sizRegMsk = 3 , nStats = 4 ) + PARAMETER( diagSt_size = 10*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_ocean.cs32x15/code_tap/DIAG_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/DIAG_OPTIONS.h new file mode 100644 index 0000000000..c9e8d9194e --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/DIAG_OPTIONS.h @@ -0,0 +1,25 @@ +#ifndef DIAG_OPTIONS_H +#define DIAG_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_DIAGNOSTICS +C Package-specific Options & Macros go here + +C allow to define specific regions and the corresponding mask ; +C used to perform regional statistics over a limited area +#define DIAGSTATS_REGION_MASK + +C allow to stop & restart at any time (i.e. not at a multiple of +C the diagnostics frequency) reading diagnostics storage arrays +C from pickup file. +C Note: Use with cautious since it does not work for all restart +C cases (e.g., changing data.diagnostics). +#undef DIAGNOSTICS_HAS_PICKUP + +#endif /* ALLOW_DIAGNOSTICS */ +#endif /* DIAG_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_ocean.cs32x15/code_tap/EXF_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/EXF_OPTIONS.h new file mode 100644 index 0000000000..03b9c44820 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/EXF_OPTIONS.h @@ -0,0 +1,233 @@ +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 -------------------- +C pkg/exf CPP options: +C (see also table below on how to combine options) + +C > ( EXF_VERBOSE ) < replaced with run-time integer parameter "exf_debugLev" +C +C >>> ALLOW_ATM_WIND <<< +C If defined, set default value of run-time param. "useAtmWind" to True. +C If useAtmWind=True, read-in and use wind vector (uwind/vwind) +C to compute surface wind stress. +C +C >>> ALLOW_ATM_TEMP <<< +C This is the main EXF option controlling air-sea buoyancy fluxes: +C If undefined, net heat flux (Qnet) and net fresh water flux +C (EmP or EmPmR) are set according to hfluxfile & sfluxfile setting. +C If defined, net heat flux and net fresh water flux are computed +C from sum of various components (radiative SW,LW + turbulent heat +C fluxes SH,LH ; Evap, Precip and optionally RunOff) thus ignoring +C hfluxfile & sfluxfile. +C In addition, it allows to read-in from files atmospheric temperature +C and specific humidity, net radiative fluxes, and precip. +C Also enable to read-in Evap (if EXF_READ_EVAP is defined) or +C turbulent heat fluxes (if ALLOW_READ_TURBFLUXES is defined). +C +C >>> ALLOW_DOWNWARD_RADIATION <<< +C If defined, downward long-wave and short-wave radiation +C can be read-in form files to compute net 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 fluxes (Sensible,Latent,Evap) at the ocean surface. +C +C >>> EXF_CALC_ATMRHO +C Calculate the local air density as function of temp, humidity +C and pressure +C +C >>> EXF_READ_EVAP <<< +C If defined, evaporation field is read-in from file; +C Note: if ALLOW_BULKFORMULAE is defined, evap that is computed from +C atmospheric state will be replaced by read-in evap but computed +C latent heat flux will be kept. +C +C >>> ALLOW_READ_TURBFLUXES <<< +C If defined, turbulent heat fluxes (sensible and latent) can be read-in +C from files (but overwritten if ALLOW_BULKFORMULAE is defined). +C +C >>> ALLOW_RUNOFF <<< +C If defined, river and glacier runoff can be read-in from files. +C +C >>> ALLOW_SALTFLX <<< +C If defined, upward salt flux can be read-in from files. +C +C >>> ALLOW_RUNOFTEMP <<< +C If defined, river and glacier runoff temperature +C 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.h) +C +C >>> EXF_ALLOW_TIDES <<< +C If defined, 2-D tidal geopotential can be read-in from files +C +C >>> EXF_SEAICE_FRACTION <<< +C If defined, seaice fraction can be read-in from files (areaMaskFile) +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 to provide input field on arbitrary Lat-Lon input grid +C (as specified in EXF_NML_04) and to interpolate to model grid. +C Note: default is to interpolate unless {FLD}_interpMethod is set to 0 +C +C ==================================================================== +C +C The following CPP options: +C ALLOW_ATM_WIND / useAtmWind (useWind) +C ALLOW_ATM_TEMP (TEMP) +C ALLOW_DOWNWARD_RADIATION (DOWN) +C ALLOW_BULKFORMULAE (BULK) +C EXF_READ_EVAP (EVAP) +C ALLOW_READ_TURBFLUXES (TURB) +C +C permit all ocean-model forcing configurations listed in the 2 tables below. +C The first configuration (A1,B1) is the flux-forced, ocean model. +C Configurations A2,B3 and A2,B4 use pkg/exf open-water bulk formulae +C to compute, from atmospheric variables, the missing surface fluxes. +C The forcing fields in the rightmost column are defined in EXF_FIELDS.h +C (ocean-model surface forcing field are defined in model/inc/FFIELDS.h) +C +C (A) Surface momentum flux: [model: fu,fv ; exf: ustress,vstress] +C +C # |useWind| actions +C ---|-------|------------------------------------------------------------- +C (1)| False | Read-in ustress,vstress (if needed in B, compute wind-speed) +C | | +C (2)| True | Read-in uwind,vwind ; compute wind stress ustress,vstress. +C ---|-------|------------------------------------------------------------- +C +C (B) Surface buoyancy flux: +C [ net heat flux: Qnet (exf: hflux), net short-wave: Qsw (exf: swflux) +C fresh-water flux: EmPmR (exf: sflux) and saltFlux (exf: saltflx) ] +C +C # |TEMP |DOWN |BULK |EVAP |TURB | actions +C ---|-----|-----|-----|-----|-----|------------------------------------- +C (1)| - | - | - | - | - | Read-in hflux, swflux and sflux. +C | | | | | | +C (2)| - | def | - | - | - | Read-in hflux, swdown and sflux. +C | | | | | | Compute swflux. +C | | | | | | +C (3)| def | def | def | - | - | Read-in atemp, aqh, swdown, lwdown, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (4)| def | - | def | - | - | Read-in atemp, aqh, swflux, lwflux, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux and sflux. +C | | | | | | +C (5)| def | def | - | def | def | Read-in hs, hl, swdown, lwdown, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (6)| def | - | - | def | def | Read-in hs, hl, swflux, lwflux, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux and sflux. +C +C ======================================================================= + +C- Bulk formulae related flags. +#define ALLOW_ATM_TEMP +#undef ALLOW_ATM_WIND +#define ALLOW_DOWNWARD_RADIATION +#ifdef ALLOW_ATM_TEMP +C Note: To use ALLOW_BULKFORMULAE or EXF_READ_EVAP, needs #define ALLOW_ATM_TEMP +# define ALLOW_BULKFORMULAE +# undef ALLOW_BULK_LARGEYEAGER04 +# undef EXF_READ_EVAP +# ifndef ALLOW_BULKFORMULAE +C Note: To use ALLOW_READ_TURBFLUXES, ALLOW_ATM_TEMP needs to +C be defined but ALLOW_BULKFORMULAE needs to be undef +# define ALLOW_READ_TURBFLUXES +# endif +#endif /* ALLOW_ATM_TEMP */ + +C- Other forcing fields +#define ALLOW_RUNOFF +#undef ALLOW_RUNOFTEMP +#undef ALLOW_SALTFLX + +#if (defined (ALLOW_BULKFORMULAE) && defined (ATMOSPHERIC_LOADING)) +C Note: To use EXF_CALC_ATMRHO, both ALLOW_BULKFORMULAE +C and ATMOSPHERIC_LOADING need to be defined +# undef EXF_CALC_ATMRHO +#endif + +C- Zenith Angle/Albedo related flags. +#ifdef ALLOW_DOWNWARD_RADIATION +# undef ALLOW_ZENITHANGLE +#endif + +C- Use ocean_emissivity*lwdown in lwFlux. This flag should be defined +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. +#define ALLOW_CLIMSST_RELAXATION +#define ALLOW_CLIMSSS_RELAXATION + +C- Allows to read-in (2-d) tidal geopotential forcing +#undef EXF_ALLOW_TIDES + +C- Allows to read-in seaice fraction from files (areaMaskFile) +#undef EXF_SEAICE_FRACTION + +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 USE_EXF_INTERPOLATION && 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 */ diff --git a/verification/global_ocean.cs32x15/code_tap/GMREDI_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..d77fd372c5 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,47 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_ocean.cs32x15/code_tap/SEAICE_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/SEAICE_OPTIONS.h new file mode 100644 index 0000000000..88dcc7134d --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/SEAICE_OPTIONS.h @@ -0,0 +1,175 @@ +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. +#define 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. +#define 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#define 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. +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Enable grease ice parameterization +C The grease ice parameterization delays formation of solid +C sea ice from frazil ice by a time constant and provides a +C dynamic calculation of the initial solid sea ice thickness +C HO as a function of winds, currents and available grease ice +C volume. Grease ice does not significantly reduce heat loss +C from the ocean in winter and area covered by grease is thus +C handled like open water. +C (For details see Smedsrud and Martin, 2014, Ann.Glac.) +C Set SItrName(1) = 'grease' in namelist SEAICE_PARM03 in data.seaice +C then output SItr01 is SItrNameLong(1) = 'grease ice volume fraction', +C with SItrUnit(1) = '[0-1]', which needs to be multiplied by SIheff +C to yield grease ice volume. Additionally, the actual grease ice +C layer thickness (diagnostic SIgrsLT) can be saved. +#undef SEAICE_GREASE +C-- grease ice uses SItracer: +#ifdef SEAICE_GREASE +# define ALLOW_SITRACER +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Historically, the seaice model was discretized on a B-Grid. This +C discretization should still work but it is not longer actively tested +C and supported. The following flag should always be set in order to use +C the operational C-grid discretization. +#define SEAICE_CGRID + +C-- Only for the C-grid version it is possible to +#ifdef SEAICE_CGRID +C enable advection of sea ice momentum +# undef SEAICE_ALLOW_MOM_ADVECTION +C enable JFNK code by defining the following flag +# undef SEAICE_ALLOW_JFNK +C enable Krylov code by defining the following flag +# undef SEAICE_ALLOW_KRYLOV +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 +# define 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 smooth regularization (without max-function) of delta for +C better differentiability +# undef SEAICE_DELTA_SMOOTHREG +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 +C Use LSR vector code; not useful on non-vector machines, because it +C slows down convergence considerably, but the extra iterations are +C more than made up by the much faster code on vector machines. For +C the only regularly test vector machine these flags a specified +C in the build options file SUPER-UX_SX-8_sxf90_awi, so that we comment +C them out here. +# undef SEAICE_VECTORIZE_LSR +C Use zebra-method (alternate lines) for line-successive-relaxation +C This modification improves the convergence of the vector code +C dramatically, so that is may actually be useful in general, but +C that needs to be tested. Can be used without vectorization options. +# undef SEAICE_LSR_ZEBRA +C Use parameterisation of grounding ice for a better representation +C of fastice in shallow seas +# define SEAICE_ALLOW_BOTTOMDRAG +#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. +# define 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. +# define 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 +#define 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 +#define SEAICE_ALLOW_FREEDRIFT + +C-- pkg/seaice cost functions compile flags +c >>> Sea-ice volume (requires pkg/cost) +#undef ALLOW_COST_ICE +c >>> Sea-ice misfit to obs (requires pkg/cost and ecco) +#undef ALLOW_SEAICE_COST_SMR_AREA + +#endif /* ALLOW_SEAICE */ +#endif /* SEAICE_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_ocean.cs32x15/code_tap/SIZE.h b/verification/global_ocean.cs32x15/code_tap/SIZE.h new file mode 100644 index 0000000000..32ba816a01 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/SIZE.h @@ -0,0 +1,73 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr +C-- Note: the 4 test-experiments (input, input.thsice, input.viscA4 and +C input.icedyn ) have different minimum Overlap-size requirement: +C input & input.thsice : work with Olx=Oly=2 (= absolute minimum size) ; +C input.viscA4 : needs at least Olx=Oly=3 (for biharmonic viscosity) ; +C input.icedyn : needs at least Olx=Oly=4 (CS-grid multidimensional Advect.) + PARAMETER ( + & sNx = 32, + & sNy = 16, + & OLx = 4, + & OLy = 4, + & nSx = 12, + & nSy = 1, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/global_ocean.cs32x15/code_tap/SIZE.h_mpi b/verification/global_ocean.cs32x15/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..0de0a4174a --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/SIZE.h_mpi @@ -0,0 +1,73 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr +C-- Note: the 4 test-experiments (input, input.thsice, input.viscA4 and +C input.icedyn ) have different minimum Overlap-size requirement: +C input & input.thsice : work with Olx=Oly=2 (= absolute minimum size) ; +C input.viscA4 : needs at least Olx=Oly=3 (for biharmonic viscosity) ; +C input.icedyn : needs at least Olx=Oly=4 (CS-grid multidimensional Advect.) + PARAMETER ( + & sNx = 32, + & sNy = 16, + & OLx = 4, + & OLy = 4, + & nSx = 3, + & nSy = 1, + & nPx = 4, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/global_ocean.cs32x15/code_tap/THSICE_OPTIONS.h b/verification/global_ocean.cs32x15/code_tap/THSICE_OPTIONS.h new file mode 100644 index 0000000000..3e27c35713 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/THSICE_OPTIONS.h @@ -0,0 +1,27 @@ +#ifndef THSICE_OPTIONS_H +#define THSICE_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_THSICE +C Package-specific Options & Macros go here + +C- use continuous power-law function for partition of energy between lateral +C melting/freezing and thinning/thickening ; otherwise, use step function. +#define THSICE_FRACEN_POWERLAW + +C- allow single grid-point debugging write to standard-output +#undef ALLOW_DBUG_THSICE + +C- only to check conservation +C (change content of ICE_qleft,fresh,salFx-T files) +#undef CHECK_ENERGY_CONSERV + +C CPP Macros go here + +#endif /* ALLOW_THSICE */ +#endif /* THSICE_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_ocean.cs32x15/code_tap/cost_test.F b/verification/global_ocean.cs32x15/code_tap/cost_test.F new file mode 100644 index 0000000000..d11a653e33 --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/cost_test.F @@ -0,0 +1,94 @@ +#include "COST_OPTIONS.h" + + subroutine cost_test( myThid ) +C *==========================================================* +C | subroutine cost_test +C | o this routine computes the cost function for the tiles +C | of this processor +C *==========================================================* +C | Notes +C *==========================================================* + IMPLICIT NONE + +C == Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "DYNVARS.h" +#include "GRID.h" + +#include "cost.h" + +C == Routine arguments == +C myThid - Thread number for this instance of the routine. + integer myThid + +#ifdef ALLOW_COST_TEST +C == Local variables + integer bi, bj + _RL thetaRef + integer i, j, k + integer ig, jg + integer itlo,ithi + integer jtlo,jthi + _RL thetaLev(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + + jtlo = mybylo(mythid) + jthi = mybyhi(mythid) + itlo = mybxlo(mythid) + ithi = mybxhi(mythid) + + if ( useCubedSphereExchange) then + iLocOut = 7 + jLocOut = 28 + kLocOut = 1 + else + iLocOut = 80 + jLocOut = 30 + kLocOut = 1 + endif + + CALL READ_FLD_XYZ_RL( hydrogThetaFile, ' ', thetaLev, 0, myThid ) + +ce some reference temperature + thetaRef = 24.0 _d 0 + +C-- Calculate mask for tracer cells (0 => land, 1 => water) + k=1 + +C-- Calculate cost function on tile of this instance + do bj = jtlo,jthi + do bi = itlo,ithi + do j=1,sNy + jg = myYGlobalLo-1+(bj-1)*sNy+j + do i=1,sNx + ig = myXGlobalLo-1+(bi-1)*sNx+i + +#ifndef ALLOW_COST_TSQUARED + if ((ig .eq. iLocOut) .and. (jg .eq. jLocOut)) then + write(*,'(a,3(x,i4),a,4(x,i4))') + & 'COST ',ig,jg,kLocOut,' TILE ',i,j,bi,bj + objf_test(bi,bj) = theta(i,j,kLocOut,bi,bj) +cph( + print *, 'ph-cost ', ig, jg, kLocOut, + & theta(i,j,kLocOut,bi,bj) +cph) + endif +#else + do k=1,nr + if (maskC(i,j,k,bi,bj).NE.0.) then + objf_test(bi,bj) = objf_test(bi,bj) + + & (theta(i,j,k,bi,bj)-thetaLev(i,j,k,bi,bj))**2 + endif + enddo +#endif + + enddo + enddo + enddo + enddo + +#endif /* ALLOW_COST_TEST */ + + RETURN + END diff --git a/verification/global_ocean.cs32x15/code_tap/packages.conf b/verification/global_ocean.cs32x15/code_tap/packages.conf new file mode 100644 index 0000000000..745f6a760b --- /dev/null +++ b/verification/global_ocean.cs32x15/code_tap/packages.conf @@ -0,0 +1,12 @@ +#-- list of packages (or group of packages) to compile for this experiment: +exch2 +gfd -mom_fluxform +gmredi +exf +# cal <- automatically turned on when compiling exf +seaice +thsice +diagnostics + +tapenade +adjoint diff --git a/verification/global_ocean.cs32x15/input_tap/data b/verification/global_ocean.cs32x15/input_tap/data new file mode 100644 index 0000000000..61e4833f19 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data @@ -0,0 +1,105 @@ +# ==================== +# | Model parameters | +# ==================== +# +# Continuous equation parameters + &PARM01 + tRef=15*20., + sRef=15*35., + viscAh =3.E5, +#- biharmonic Viscosity: 3.e15 is close to the stability limit with deltaTmom=20mn +#viscA4 =3.E15, + viscAr =1.E-3, + diffKhT=0., + diffK4T=0., +#- diffKrT unused when compiled with ALLOW_3D_DIFFKR +#diffKrT=3.E-5, + diffKhS=0., + diffK4S=0., + diffKrS=3.E-5, + ivdc_kappa=10., + implicitDiffusion=.TRUE., + gravity=9.81, + rhoConst=1035., + rhoConstFresh=1000., + eosType='JMD95Z', + staggerTimeStep=.TRUE., + vectorInvariantMomentum=.TRUE., + implicitFreeSurface=.TRUE., + tempAdvScheme=30, + saltAdvScheme=30, + tempVertAdvScheme=30, + saltVertAdvScheme=30, + tempImplVertAdv=.TRUE., + saltImplVertAdv=.TRUE., + exactConserv=.TRUE., + select_rStar=2, + nonlinFreeSurf=4, + hFacInf=0.2, + hFacSup=2.0, + useRealFreshWaterFlux=.TRUE., + allowFreezing=.TRUE., + hFacMin=.1, + hFacMinDr=20., + readBinaryPrec=64, + & + +# Elliptic solver parameters + &PARM02 + cg2dMaxIters=200, +#cg2dTargetResidual=1.E-9, + cg2dTargetResWunit=1.E-14, + & + +# Time stepping parameters + &PARM03 + nIter0=72000, + nTimeSteps=5, + deltaTMom =1200., + deltaTtracer=86400., + deltaTFreeSurf=86400., + deltaTClock =86400., + abEps = 0.1, + forcing_In_AB=.FALSE., + momDissip_In_AB=.FALSE., + pChkptFreq =311040000., + chkptFreq = 31104000., +#taveFreq =311040000., +#dumpFreq = 31104000., +#adjDumpFreq = 31104000., +#monitorFreq = 31104000., + periodicExternalForcing=.TRUE., + externForcingPeriod=2592000., + externForcingCycle=31104000., +# 2 months restoring timescale for temperature + tauThetaClimRelax = 5184000., +# 2yrs restoring timescale for salinity + tauSaltClimRelax = 62208000., + monitorFreq =1., + adjMonitorFreq=1., + dumpFreq = 432000., + adjDumpFreq = 432000., + pickupStrictlyMatch=.FALSE., + & + +# Gridding parameters + &PARM04 + usingCurvilinearGrid=.TRUE., + horizGridFile='grid_cs32', + delR= 50., 70., 100., 140., 190., + 240., 290., 340., 390., 440., + 490., 540., 590., 640., 690., + & + +# Input datasets + &PARM05 + bathyFile ='bathy_Hmin50.bin', + hydrogThetaFile='lev_T_cs_15k.bin', + hydrogSaltFile ='lev_S_cs_15k.bin', + zonalWindFile ='trenberth_taux.bin', + meridWindFile ='trenberth_tauy.bin', + thetaClimFile ='lev_surfT_cs_12m.bin', + saltClimFile ='lev_surfS_cs_12m.bin', + surfQnetFile ='shiQnet_cs32.bin', + EmPmRFile ='shiEmPR_cs32.bin', + & diff --git a/verification/global_ocean.cs32x15/input_tap/data.autodiff b/verification/global_ocean.cs32x15/input_tap/data.autodiff new file mode 100644 index 0000000000..4585444d65 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.autodiff @@ -0,0 +1,8 @@ +# ========================= +# pkg AUTODIFF parameters : +# ========================= +# inAdExact :: get an exact adjoint (no approximation) (def=.True.) +# + &AUTODIFF_PARM01 +# inAdExact = .FALSE., + & diff --git a/verification/global_ocean.cs32x15/input_tap/data.cost b/verification/global_ocean.cs32x15/input_tap/data.cost new file mode 100644 index 0000000000..7204cbebf9 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.cost @@ -0,0 +1,10 @@ +# +# +# ****************** +# cost function +# ****************** + &COST_NML +#revert to default 1 month +# lastinterval=7776000., + mult_test=1., + & diff --git a/verification/global_ocean.cs32x15/input_tap/data.ctrl b/verification/global_ocean.cs32x15/input_tap/data.ctrl new file mode 100644 index 0000000000..92ef89a469 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.ctrl @@ -0,0 +1,47 @@ +# +# +# ********************* +# ECCO controlvariables +# ********************* + &CTRL_NML + & +# +# ********************* +# names for ctrl_pack/unpack +# ********************* + &CTRL_PACKNAMES + & +# +# ********************* +# names for CTRL_GENARR, CTRL_GENTIM +# ********************* + &CTRL_NML_GENARR + xx_genarr3d_file(1) = 'xx_theta', + xx_genarr3d_weight(1) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +# + xx_genarr3d_file(2) = 'xx_salt', + xx_genarr3d_weight(2) = 'ones_64b.bin', +# not clear why I have to comment this out, but the reference results have no bounds applied +#xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +# + xx_genarr3d_file(3) = 'xx_ptr1', + xx_genarr3d_weight(3) = 'ones_64b.bin', +# + xx_genarr3d_file(4) = 'xx_diffkr', + xx_genarr3d_weight(4) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,4) = 1.E-6,2.E-6,4.E-4,5.E-4,0., +# + xx_gentim2d_file(1) = 'xx_qnet', + xx_gentim2d_weight(1) = 'ones_64b.bin', +# + xx_gentim2d_file(2) = 'xx_empmr', + xx_gentim2d_weight(2) = 'ones_64b.bin', +# + xx_gentim2d_file(3) = 'xx_fu', + xx_gentim2d_weight(3) = 'ones_64b.bin', +# + xx_gentim2d_file(4) = 'xx_fv', + xx_gentim2d_weight(4) = 'ones_64b.bin', +# + & diff --git a/verification/global_ocean.cs32x15/input_tap/data.diagnostics b/verification/global_ocean.cs32x15/input_tap/data.diagnostics new file mode 100644 index 0000000000..2d150ce7c5 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.diagnostics @@ -0,0 +1,79 @@ +# Diagnostic Package Choices +#-------------------- +# dumpAtLast (logical): always write output at the end of simulation (default=F) +# diag_mnc (logical): write to NetCDF files (default=useMNC) +#--for each output-stream: +# fileName(n) : prefix of the output file name (max 80c long) for outp.stream n +# frequency(n):< 0 : write snap-shot output every |frequency| seconds +# > 0 : write time-average output every frequency seconds +# timePhase(n) : write at time = timePhase + multiple of |frequency| +# averagingFreq : frequency (in s) for periodic averaging interval +# averagingPhase : phase (in s) for periodic averaging interval +# repeatCycle : number of averaging intervals in 1 cycle +# levels(:,n) : list of levels to write to file (Notes: declared as REAL) +# when this entry is missing, select all common levels of this list +# fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +# (see "available_diagnostics.log" file for the full list of diags) +# missing_value(n) : missing value for real-type fields in output file "n" +# fileFlags(n) : specific code (8c string) for output file "n" +#-------------------- + &DIAGNOSTICS_LIST +# diag_mnc = .FALSE., +#-- + fields(1:12,1) = 'ETAN ','ETANSQ ','DETADT2 ','PHIBOT ','PHIBOTSQ', + 'oceTAUX ','oceTAUY ','TFLUX ','SFLUX ','oceFreez', + 'TRELAX ','SRELAX ', + levels(1,1) = 1., + fileName(1) = 'surfDiag', + frequency(1) = 432000., + + fields(1:9,2) = 'UVEL ','VVEL ','WVEL ','PHIHYD ', + 'VVELMASS','UVELMASS','WVELSQ ', + 'THETA ','SALT ', +# do not specify levels => all levels are selected + fileName(2) = 'dynDiag', + frequency(2) = 432000., + +# fields(1:6,3) = 'DRHODR ','RHOAnoma','CONVADJ ', +# 'GM_Kwx ','GM_Kwy ','GM_Kwz ', +# levels(1,3) = 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., +# fileName(3) = 'oceDiag', +# frequency(3) = 864000., + + fields(1:5,3) = 'ADJuvel ','ADJvvel ','ADJwvel ', + 'ADJtheta','ADJsalt ', + fileName(3) = 'adjDiag', +# frequency(3) = 311040000., + frequency(3) = 432000., + + fields(1:5,4) = 'ADJetan ','ADJqnet ','ADJempmr', + 'ADJtaux ','ADJtauy ', + fileName(4) = 'adjDiagSurf', +# frequency(4) = 311040000., + frequency(4) = 432000., + & + +#-------------------- +# Parameter for Diagnostics of per level statistics: +#-------------------- +# diagSt_mnc (logical): write stat-diags to NetCDF files (default=diag_mnc) +# diagSt_regMaskFile : file containing the region-mask to read-in +# nSetRegMskFile : number of region-mask sets within the region-mask file +# set_regMask(i) : region-mask set-index that identifies the region "i" +# val_regMask(i) : region "i" identifier value in the region mask +#--for each output-stream: +# stat_fName(n) : prefix of the output file name (max 80c long) for outp.stream n +# stat_freq(n):< 0 : write snap-shot output every |stat_freq| seconds +# > 0 : write time-average output every stat_freq seconds +# stat_phase(n) : write at time = stat_phase + multiple of |stat_freq| +# stat_region(:,n) : list of "regions" (default: 1 region only=global) +# stat_fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +# (see "available_diagnostics.log" file for the full list of diags) +#-------------------- + &DIAG_STATIS_PARMS +# an example just to check the agreement with MONITOR output: + stat_fields(1:5,1) = 'ETAN ','UVEL ','VVEL ','WVEL ', 'THETA ', + stat_fName(1) = 'dynStDiag', + stat_freq(1) = -172800., + stat_phase(1) = 0., + & diff --git a/verification/global_ocean.cs32x15/input_tap/data.gmredi b/verification/global_ocean.cs32x15/input_tap/data.gmredi new file mode 100644 index 0000000000..121c510089 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.gmredi @@ -0,0 +1,34 @@ +# GM+Redi package parameters: +# GM_Small_Number :: epsilon used in computing the slope +# GM_slopeSqCutoff :: slope^2 cut-off value + +#-from MOM : +# GM_background_K: G & Mc.W diffusion coefficient +# GM_maxSlope : max slope of isopycnals +# GM_Scrit : transition for scaling diffusion coefficient +# GM_Sd : half width scaling for diffusion coefficient +# GM_taper_scheme: slope clipping or one of the tapering schemes +# GM_Kmin_horiz : horizontal diffusion minimum value + +#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +# GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +# GM_AdvForm : turn on GM Advective form (default=Skew flux form) + + &GM_PARM01 + GM_Small_Number = 1.D-20, + GM_slopeSqCutoff = 1.D+08, + GM_AdvForm = .FALSE., + GM_background_K = 1.D+3, + GM_taper_scheme = 'dm95', + GM_maxSlope = 1.D-2, + GM_Kmin_horiz = 50., + GM_Scrit = 4.D-3, + GM_Sd = 1.D-3, +# GM_Visbeck_alpha = 1.5D-2, + GM_Visbeck_alpha = 0., + GM_Visbeck_length = 2.D+5, + GM_Visbeck_depth = 1.D+3, + GM_Visbeck_maxval_K= 2.5D+3, + & + + diff --git a/verification/global_ocean.cs32x15/input_tap/data.grdchk b/verification/global_ocean.cs32x15/input_tap/data.grdchk new file mode 100644 index 0000000000..2dc0bbecb5 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.grdchk @@ -0,0 +1,15 @@ +# ******************* +# ECCO gradient check +# ******************* + &GRDCHK_NML + grdchk_eps = 1.d-2, +# iglopos = 6, +# jglopos = 17, +# kglopos = 1, + nbeg = 1, + nstep = 1, + nend = 4, +# this is xx_theta +#grdchkvarindex = 1, + grdchkvarindex =201, + & diff --git a/verification/global_ocean.cs32x15/input_tap/data.optim b/verification/global_ocean.cs32x15/input_tap/data.optim new file mode 100644 index 0000000000..46dcb14fcd --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.optim @@ -0,0 +1,3 @@ + &OPTIM + optimcycle=0, + / diff --git a/verification/global_ocean.cs32x15/input_tap/data.pkg b/verification/global_ocean.cs32x15/input_tap/data.pkg new file mode 100644 index 0000000000..ebaedcf9b8 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/data.pkg @@ -0,0 +1,9 @@ +# Packages + &PACKAGES + useGMRedi = .TRUE., + useEXF = .FALSE., + useTHSICE = .FALSE., + useDiagnostics=.TRUE., +#useMNC=.TRUE., + useGrdchk=.TRUE., + & diff --git a/verification/global_ocean.cs32x15/input_tap/eedata b/verification/global_ocean.cs32x15/input_tap/eedata new file mode 100644 index 0000000000..0b870d3ee9 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/eedata @@ -0,0 +1,12 @@ +# Example "eedata" file +# Lines beginning "#" are comments +# nTx :: No. threads per process in X +# nTy :: No. threads per process in Y +# debugMode :: print debug msg (sequence of S/R calls) + &EEPARMS + useCubedSphereExchange=.TRUE., + nTx=1, + nTy=1, + & +# Note: Some systems use & as the namelist terminator (as shown here). +# Other systems use a / character. diff --git a/verification/global_ocean.cs32x15/input_tap/genweights.py b/verification/global_ocean.cs32x15/input_tap/genweights.py new file mode 100644 index 0000000000..b92407ce84 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/genweights.py @@ -0,0 +1,7 @@ +import numpy as np + +nx,ny,nr,nt=32*6,32,15,1 + +# double prec ieee-be +wt64 = np.ones((nt,nr,ny,nx),dtype='>f8') +wt64.tofile('ones_64b.bin') diff --git a/verification/global_ocean.cs32x15/input_tap/prepare_run b/verification/global_ocean.cs32x15/input_tap/prepare_run new file mode 100755 index 0000000000..20dd03fb35 --- /dev/null +++ b/verification/global_ocean.cs32x15/input_tap/prepare_run @@ -0,0 +1,73 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take files: +fileList="grid_cs32.face001.bin grid_cs32.face002.bin grid_cs32.face003.bin grid_cs32.face004.bin grid_cs32.face005.bin grid_cs32.face006.bin" + +#- from this dir: +fromDir="../../tutorial_held_suarez_cs/input" + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- in order to save disc space, take files: +fileList=`(cd ../input ; ls -1 *.bin pickup*)` + +#- from this dir: +fromDir="../input" + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And take file 'ones_64b.bin' +#- from this dir: +fromDir="../../isomip/input_ad" + +fileList='ones_64b.bin' + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/global_ocean.cs32x15/results/output.in_p.txt b/verification/global_ocean.cs32x15/results/output.in_p.txt index 9b1519da8b..f730abaf01 100644 --- a/verification/global_ocean.cs32x15/results/output.in_p.txt +++ b/verification/global_ocean.cs32x15/results/output.in_p.txt @@ -5,10 +5,10 @@ (PID.TID 0000.0001) // ====================================================== (PID.TID 0000.0001) // execution environment starting up... (PID.TID 0000.0001) -(PID.TID 0000.0001) // MITgcmUV version: checkpoint68a +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68p (PID.TID 0000.0001) // Build user: jm_c (PID.TID 0000.0001) // Build host: villon -(PID.TID 0000.0001) // Build date: Thu Aug 19 11:54:34 EDT 2021 +(PID.TID 0000.0001) // Build date: Mon Jun 12 12:00:52 EDT 2023 (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Execution Environment parameter file "eedata" @@ -147,7 +147,7 @@ (PID.TID 0000.0001) > deltaTClock =86400., (PID.TID 0000.0001) > abEps = 0.1, (PID.TID 0000.0001) > forcing_In_AB=.FALSE., -(PID.TID 0000.0001) > pickupStrictlyMatch=.FALSE., +(PID.TID 0000.0001) >#pickupStrictlyMatch=.FALSE., (PID.TID 0000.0001) > pChkptFreq =3110400000., (PID.TID 0000.0001) > chkptFreq = 155520000., (PID.TID 0000.0001) >#tave_lastIter=0., @@ -374,7 +374,9 @@ (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Parameter file "data.ggl90" (PID.TID 0000.0001) // ======================================================= -(PID.TID 0000.0001) ># Parameters for Gaspar et al. (1990)'s TKE vertical mixing scheme | +(PID.TID 0000.0001) ># ===================================================================== +(PID.TID 0000.0001) ># | Parameters for Gaspar et al. (1990)'s TKE vertical mixing scheme | +(PID.TID 0000.0001) ># ===================================================================== (PID.TID 0000.0001) > &GGL90_PARM01 (PID.TID 0000.0001) > GGL90diffTKEh=0.E3, (PID.TID 0000.0001) > GGL90ck = 0.1, @@ -384,7 +386,6 @@ (PID.TID 0000.0001) > GGL90TKEmin = 0.E-6, (PID.TID 0000.0001) > GGL90TKEbottom=4.E-6, (PID.TID 0000.0001) > GGL90TKEsurfMin=1.E-4, -(PID.TID 0000.0001) >#GGL90mixingLengthMin=, (PID.TID 0000.0001) > mxlMaxFlag=2, (PID.TID 0000.0001) > GGL90viscMax=1.E2, (PID.TID 0000.0001) > GGL90diffMax=1.E2, @@ -392,9 +393,6 @@ (PID.TID 0000.0001) > GGL90_dirichlet=.FALSE., (PID.TID 0000.0001) > useIDEMIX = .TRUE., (PID.TID 0000.0001) >#-- IO related params: -(PID.TID 0000.0001) >#GGL90TKEFile=, -(PID.TID 0000.0001) >#GGL90dumpFreq=, -(PID.TID 0000.0001) >#GGL90taveFreq=, (PID.TID 0000.0001) > GGL90mixingMaps=.FALSE., (PID.TID 0000.0001) > GGL90writeState=.FALSE., (PID.TID 0000.0001) > / @@ -423,7 +421,7 @@ (PID.TID 0000.0001) 0.000000000000000E+00 (PID.TID 0000.0001) ; (PID.TID 0000.0001) GGL90taveFreq = /* GGL90 averaging interval ( s ). */ -(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) 1.234567000000000E+05 (PID.TID 0000.0001) ; (PID.TID 0000.0001) GGL90mixingMAPS = /* GGL90 IO flag */ (PID.TID 0000.0001) F @@ -992,6 +990,9 @@ (PID.TID 0000.0001) exf_monFreq = /* EXF monitor frequency [ s ] */ (PID.TID 0000.0001) 0.000000000000000E+00 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_adjMonSelect = /* select group of exf AD-variables to monitor */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; (PID.TID 0000.0001) repeatPeriod = /* period for cycling forcing dataset [ s ] */ (PID.TID 0000.0001) 3.110400000000000E+07 (PID.TID 0000.0001) ; @@ -1052,22 +1053,31 @@ (PID.TID 0000.0001) sstExtrapol = /* extrapolation coeff from lev. 1 & 2 to surf [-] */ (PID.TID 0000.0001) 0.000000000000000E+00 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cDrag_1 = /* coef used in drag calculation [?] */ +(PID.TID 0000.0001) cDrag_1 = /* coef used in drag calculation [m/s] */ (PID.TID 0000.0001) 2.700000000000000E-03 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cDrag_2 = /* coef used in drag calculation [?] */ +(PID.TID 0000.0001) cDrag_2 = /* coef used in drag calculation [-] */ (PID.TID 0000.0001) 1.420000000000000E-04 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cDrag_3 = /* coef used in drag calculation [?] */ +(PID.TID 0000.0001) cDrag_3 = /* coef used in drag calculation [s/m] */ (PID.TID 0000.0001) 7.640000000000000E-05 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cStanton_1 = /* coef used in Stanton number calculation [?] */ +(PID.TID 0000.0001) cDrag_8 = /* coef used in drag calculation [(s/m)^6] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDragMax = /* maximum drag (Large and Yeager, 2009) [-] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* at maximum wind (Large and Yeager, 2009) [m/s] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_1 = /* coef used in Stanton number calculation [-] */ (PID.TID 0000.0001) 3.270000000000000E-02 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cStanton_2 = /* coef used in Stanton number calculation [?] */ +(PID.TID 0000.0001) cStanton_2 = /* coef used in Stanton number calculation [-] */ (PID.TID 0000.0001) 1.800000000000000E-02 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cDalton = /* coef used in Dalton number calculation [?] */ +(PID.TID 0000.0001) cDalton = /* Dalton number [-] */ (PID.TID 0000.0001) 3.460000000000000E-02 (PID.TID 0000.0001) ; (PID.TID 0000.0001) exf_scal_BulkCdn= /* Drag coefficient scaling factor [-] */ @@ -1672,7 +1682,7 @@ (PID.TID 0000.0001) (PID.TID 0000.0001) ------------------------------------------------------------ (PID.TID 0000.0001) DIAGNOSTICS_SET_LEVELS: done -(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 315 +(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 320 (PID.TID 0000.0001) write list of available Diagnostics to file: available_diagnostics.log (PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 23 ETAN (PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 24 ETANSQ @@ -1702,16 +1712,16 @@ (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 55 WSLTMASS (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 79 DRHODR (PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 64 RHOAnoma -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 221 GGL90TKE -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 226 GGL90Kr -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 222 GGL90Lmx -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 229 IDEMIX_E -(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 233 IDEMIX_K -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 241 SIheff -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 238 SIarea -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 243 SIhsnow -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 255 SIuice -(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 256 SIvice +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 223 GGL90TKE +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 229 GGL90Kr +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 225 GGL90Lmx +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 233 IDEMIX_E +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 238 IDEMIX_K +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 246 SIheff +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 243 SIarea +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 248 SIhsnow +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 260 SIuice +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 261 SIvice (PID.TID 0000.0001) space allocated for all diagnostics: 346 levels (PID.TID 0000.0001) set mate pointer for diag # 81 oceTAUX , Parms: UU U1 , mate: 82 (PID.TID 0000.0001) set mate pointer for diag # 82 oceTAUY , Parms: VV U1 , mate: 81 @@ -1723,8 +1733,8 @@ (PID.TID 0000.0001) set mate pointer for diag # 51 VTHMASS , Parms: VVr MR , mate: 50 (PID.TID 0000.0001) set mate pointer for diag # 53 USLTMASS , Parms: UUr MR , mate: 54 (PID.TID 0000.0001) set mate pointer for diag # 54 VSLTMASS , Parms: VVr MR , mate: 53 -(PID.TID 0000.0001) set mate pointer for diag # 255 SIuice , Parms: UU M1 , mate: 256 -(PID.TID 0000.0001) set mate pointer for diag # 256 SIvice , Parms: VV M1 , mate: 255 +(PID.TID 0000.0001) set mate pointer for diag # 260 SIuice , Parms: UU M1 , mate: 261 +(PID.TID 0000.0001) set mate pointer for diag # 261 SIvice , Parms: VV M1 , mate: 260 (PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: surfDiag (PID.TID 0000.0001) Levels: 1. (PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: dynDiag @@ -1749,11 +1759,11 @@ (PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 27 SALT (PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 80 CONVADJ (PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 25 DETADT2 -(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 241 SIheff -(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 238 SIarea -(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 243 SIhsnow -(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 255 SIuice -(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 256 SIvice +(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 246 SIheff +(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 243 SIarea +(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 248 SIhsnow +(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 260 SIuice +(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 261 SIvice (PID.TID 0000.0001) space allocated for all stats-diags: 97 levels (PID.TID 0000.0001) DIAGSTATS_SET_POINTERS: done (PID.TID 0000.0001) ------------------------------------------------------------ @@ -1802,6 +1812,26 @@ (PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ (PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ (PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.045006090994056E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.042335728800325E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.039837815303430E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.037518625812328E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.035384090172583E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.033439735959791E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.031690745578445E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030141809390861E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.028797029769959E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.027659973548148E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.026733637080825E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.026020449285047E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.025500616493752E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.025131935990423E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.024871544283267E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; (PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -2168,8 +2198,8 @@ (PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; -(PID.TID 0000.0001) balanceEmPmR = /* balance net fresh-water flux on/off flag */ -(PID.TID 0000.0001) F +(PID.TID 0000.0001) selectBalanceEmPmR = /* balancing glob.mean EmPmR selector */ +(PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; (PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ (PID.TID 0000.0001) F @@ -2186,7 +2216,7 @@ (PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ (PID.TID 0000.0001) 64 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) balancePrintMean = /* print means for balancing fluxes */ +(PID.TID 0000.0001) balancePrintMean = /* print means for balancing fluxes */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; (PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ @@ -2223,8 +2253,8 @@ (PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ (PID.TID 0000.0001) 200 (PID.TID 0000.0001) ; -(PID.TID 0000.0001) cg2dChkResFreq = /* 2d con. grad convergence test frequency */ -(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; (PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ (PID.TID 0000.0001) 0 @@ -2241,6 +2271,9 @@ (PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ (PID.TID 0000.0001) 0 (PID.TID 0000.0001) ; @@ -2281,7 +2314,7 @@ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; (PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ -(PID.TID 0000.0001) F +(PID.TID 0000.0001) T (PID.TID 0000.0001) ; (PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ (PID.TID 0000.0001) 0 @@ -2545,7 +2578,7 @@ (PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ (PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ (PID.TID 0000.0001) ; -(PID.TID 0000.0001) rVel2wUnit = /* convert units: rVel -> wSpeed (=1 if z-coord)*/ +(PID.TID 0000.0001) rVel2wUnit = /* convert units: rVel [Pa/s] -> wSpeed [m/s] */ (PID.TID 0000.0001) 9.741871157545671E-05, /* K = 1 */ (PID.TID 0000.0001) 9.767581758248818E-05, /* K = 2 */ (PID.TID 0000.0001) 9.791836483646056E-05, /* K = 3 */ @@ -2563,7 +2596,7 @@ (PID.TID 0000.0001) 9.945247415878185E-05, /* K = 15 */ (PID.TID 0000.0001) 9.947353552744134E-05 /* K = 16 */ (PID.TID 0000.0001) ; -(PID.TID 0000.0001) wUnit2rVel = /* convert units: wSpeed -> rVel (=1 if z-coord)*/ +(PID.TID 0000.0001) wUnit2rVel = /* convert units: wSpeed [m/s] -> rVel [Pa/s] */ (PID.TID 0000.0001) 1.026496844218104E+04, /* K = 1 */ (PID.TID 0000.0001) 1.023794860130544E+04, /* K = 2 */ (PID.TID 0000.0001) 1.021258884040967E+04, /* K = 3 */ @@ -2581,8 +2614,39 @@ (PID.TID 0000.0001) 1.005505401910303E+04, /* K = 15 */ (PID.TID 0000.0001) 1.005292507899384E+04 /* K = 16 */ (PID.TID 0000.0001) ; -(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ -(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) rUnit2z = /* convert units (@ center): dr [Pa] -> dz [m] */ +(PID.TID 0000.0001) 9.754660768296464E-05, /* K = 1 */ +(PID.TID 0000.0001) 9.779651255150739E-05, /* K = 2 */ +(PID.TID 0000.0001) 9.803144075382551E-05, /* K = 3 */ +(PID.TID 0000.0001) 9.825057271111057E-05, /* K = 4 */ +(PID.TID 0000.0001) 9.845312493406605E-05, /* K = 5 */ +(PID.TID 0000.0001) 9.863835852008675E-05, /* K = 6 */ +(PID.TID 0000.0001) 9.880557678876149E-05, /* K = 7 */ +(PID.TID 0000.0001) 9.895414228918873E-05, /* K = 8 */ +(PID.TID 0000.0001) 9.908348900200352E-05, /* K = 9 */ +(PID.TID 0000.0001) 9.919312010620956E-05, /* K = 10 */ +(PID.TID 0000.0001) 9.928261381825273E-05, /* K = 11 */ +(PID.TID 0000.0001) 9.935162525809044E-05, /* K = 12 */ +(PID.TID 0000.0001) 9.940198722945051E-05, /* K = 13 */ +(PID.TID 0000.0001) 9.943773635929138E-05, /* K = 14 */ +(PID.TID 0000.0001) 9.946300075664020E-05 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) z2rUnit = /* convert units (@ center): dz [m] -> dr [Pa] */ +(PID.TID 0000.0001) 1.025150975265169E+04, /* K = 1 */ +(PID.TID 0000.0001) 1.022531349953119E+04, /* K = 2 */ +(PID.TID 0000.0001) 1.020080896812665E+04, /* K = 3 */ +(PID.TID 0000.0001) 1.017805771921893E+04, /* K = 4 */ +(PID.TID 0000.0001) 1.015711792459304E+04, /* K = 5 */ +(PID.TID 0000.0001) 1.013804380976555E+04, /* K = 6 */ +(PID.TID 0000.0001) 1.012088621412454E+04, /* K = 7 */ +(PID.TID 0000.0001) 1.010569115012435E+04, /* K = 8 */ +(PID.TID 0000.0001) 1.009249886204330E+04, /* K = 9 */ +(PID.TID 0000.0001) 1.008134434050733E+04, /* K = 10 */ +(PID.TID 0000.0001) 1.007225697976289E+04, /* K = 11 */ +(PID.TID 0000.0001) 1.006526060748631E+04, /* K = 12 */ +(PID.TID 0000.0001) 1.006016104780371E+04, /* K = 13 */ +(PID.TID 0000.0001) 1.005654429206605E+04, /* K = 14 */ +(PID.TID 0000.0001) 1.005398984941885E+04 /* K = 15 */ (PID.TID 0000.0001) ; (PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ (PID.TID 0000.0001) F @@ -3201,22 +3265,22 @@ listId= 3 ; file name: oceDiag diag# | name | ipt | iMate | kLev| count | mate.C| 79 |DRHODR | 237 | 0 | 15 | 0 | 64 |RHOAnoma| 252 | 0 | 15 | 0 | - 221 |GGL90TKE| 267 | 0 | 15 | 0 | - 226 |GGL90Kr | 282 | 0 | 15 | 0 | - 222 |GGL90Lmx| 297 | 0 | 15 | 0 | - 229 |IDEMIX_E| 312 | 0 | 15 | 0 | - 233 |IDEMIX_K| 327 | 0 | 15 | 0 | + 223 |GGL90TKE| 267 | 0 | 15 | 0 | + 229 |GGL90Kr | 282 | 0 | 15 | 0 | + 225 |GGL90Lmx| 297 | 0 | 15 | 0 | + 233 |IDEMIX_E| 312 | 0 | 15 | 0 | + 238 |IDEMIX_K| 327 | 0 | 15 | 0 | ------------------------------------------------------------------------ listId= 4 ; file name: seaiceDiag nFlds, nActive, freq & phase , nLev 5 | 5 | 15552000.000000 0.000000 | 1 levels: 1 diag# | name | ipt | iMate | kLev| count | mate.C| - 241 |SIheff | 342 | 0 | 1 | 0 | - 238 |SIarea | 343 | 0 | 1 | 0 | - 243 |SIhsnow | 344 | 0 | 1 | 0 | - 255 |SIuice | 345 | 346 | 1 | 0 | 0 | - 256 |SIvice | 346 | 345 | 1 | 0 | 0 | + 246 |SIheff | 342 | 0 | 1 | 0 | + 243 |SIarea | 343 | 0 | 1 | 0 | + 248 |SIhsnow | 344 | 0 | 1 | 0 | + 260 |SIuice | 345 | 346 | 1 | 0 | 0 | + 261 |SIvice | 346 | 345 | 1 | 0 | 0 | ------------------------------------------------------------------------ Global & Regional Statistics diagnostics: Number of lists: 2 ------------------------------------------------------------------------ @@ -3239,11 +3303,11 @@ listId= 2 ; file name: seaiceStDiag 5 | 5 | 864000.000000 0.000000 | Regions: 0 1 3 diag# | name | ipt | iMate | Volume | mate-Vol. | - 241 |SIheff | 93 | 0 | 0.00000E+00 | - 238 |SIarea | 94 | 0 | 0.00000E+00 | - 243 |SIhsnow | 95 | 0 | 0.00000E+00 | - 255 |SIuice | 96 | 0 | 0.00000E+00 | - 256 |SIvice | 97 | 0 | 0.00000E+00 | + 246 |SIheff | 93 | 0 | 0.00000E+00 | + 243 |SIarea | 94 | 0 | 0.00000E+00 | + 248 |SIhsnow | 95 | 0 | 0.00000E+00 | + 260 |SIuice | 96 | 0 | 0.00000E+00 | + 261 |SIvice | 97 | 0 | 0.00000E+00 | ------------------------------------------------------------------------ (PID.TID 0000.0001) MDS_READ_FIELD: opening global file: idemix_tidal_forcing.192x32.bin (PID.TID 0000.0001) MDS_READ_FIELD: opening global file: idemix_wind_forcing.192x32.bin @@ -3530,42 +3594,42 @@ listId= 2 ; file name: seaiceStDiag cg2d: Sum(rhs),rhsMax = 7.66661733960334E-02 2.00457239865341E+01 (PID.TID 0000.0001) cg2d_init_res = 4.84221893084459E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 109 -(PID.TID 0000.0001) cg2d_last_res = 8.73698225551374E-10 +(PID.TID 0000.0001) cg2d_last_res = 8.72134032829565E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 2 (PID.TID 0000.0001) %MON time_secondsf = 1.7280000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.4036965276469E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.1104916362745E+04 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.4036965281545E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.1104916363493E+04 (PID.TID 0000.0001) %MON dynstat_eta_mean = -2.3208444477514E+01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 6.2877655143791E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.5570817524595E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 3.8475392352709E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.4818734840653E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.3193706828645E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.3399471127987E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.2333958516494E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 7.3366327761078E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -5.6465928920443E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -6.8051627587629E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.4524493854771E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.2959830361881E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.8519222567622E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.9433441322230E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.4537896047546E-03 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 8.9180884635835E-02 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 7.6787545006645E-04 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 6.2877655144800E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.5570817535807E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 3.8475392352333E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.4823815930103E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.3193706828789E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.3399461644413E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.2333968631790E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 7.3366327757407E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -5.6465928900626E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -6.8051627588129E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.4524491995193E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.2959847032468E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.8519222502983E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.9433441100198E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.4537896049680E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 8.9180896435702E-02 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 7.6787559900016E-04 (PID.TID 0000.0001) %MON dynstat_theta_max = 2.9400728092453E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8772209402070E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5913487270743E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4274065144544E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.1125133401235E-03 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8772209402071E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5913487270748E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4274062489107E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.1124454951614E-03 (PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715790109972E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8061466083989E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721464665354E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8779469479226E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1533979349649E-04 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8061466083978E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721464665353E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8779450630651E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1533721840593E-04 (PID.TID 0000.0001) %MON forcing_qnet_max = 6.9568301659527E+02 (PID.TID 0000.0001) %MON forcing_qnet_min = -3.1666111122704E+02 (PID.TID 0000.0001) %MON forcing_qnet_mean = -2.1816692279327E+01 @@ -3591,25 +3655,25 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) %MON forcing_fv_mean = -1.3688466828709E-02 (PID.TID 0000.0001) %MON forcing_fv_sd = 7.5192568394714E-02 (PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3387409827505E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.5992061863050E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.4917775183746E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.6016944092193E-02 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 1.4235257679332E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.3940139947835E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 8.3246518347193E-02 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.1981214764409E-02 -(PID.TID 0000.0001) %MON pe_b_mean = 1.2124608444698E-02 -(PID.TID 0000.0001) %MON ke_max = 1.6821389677744E-03 -(PID.TID 0000.0001) %MON ke_mean = 5.3584166009114E-06 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.5992061894204E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.4917775182499E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.6016943787255E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 1.4235257677939E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.3940139946637E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 8.3246518013255E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.1981214395431E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 1.2124608444922E-02 +(PID.TID 0000.0001) %MON ke_max = 1.6821389676847E-03 +(PID.TID 0000.0001) %MON ke_mean = 5.3584141387406E-06 (PID.TID 0000.0001) %MON ke_vol = 1.3604174062081E+22 -(PID.TID 0000.0001) %MON vort_r_min = -3.6133388808004E-07 -(PID.TID 0000.0001) %MON vort_r_max = 4.3008997581372E-07 +(PID.TID 0000.0001) %MON vort_r_min = -3.6133387798083E-07 +(PID.TID 0000.0001) %MON vort_r_max = 4.3008997580748E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247345870991E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247345870982E-05 (PID.TID 0000.0001) %MON vort_p_mean = -2.4859276343879E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2919529007563E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 7.0941751989975E-03 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.3489600592981E-03 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2919529006778E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 7.0941749915515E-03 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.3489599575422E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3647,95 +3711,95 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 2 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.4333333333 0.5666666667 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 5.59552731E-04 8.46157403E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 2.57960320E-13 2.89103018E-19 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 1.46355150E-13 3.72958036E-19 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 1.59909279E-04 1.95870480E-04 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 2.29816166E-14 1.76490575E-19 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 3.57535182E-14 2.54268604E-19 - cg2d: Sum(rhs),rhsMax = 1.38052606713420E-01 1.98889658832416E+01 -(PID.TID 0000.0001) cg2d_init_res = 1.91531361232788E-01 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 5.59552584E-04 8.46157398E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 2.57904809E-13 2.16025633E-19 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 1.46355150E-13 3.30061695E-19 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 1.59909242E-04 1.95870477E-04 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 2.29816166E-14 1.47802991E-19 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 3.57535182E-14 3.23199287E-19 + cg2d: Sum(rhs),rhsMax = 1.38049418287892E-01 1.98889658832409E+01 +(PID.TID 0000.0001) cg2d_init_res = 1.91529691361689E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 104 -(PID.TID 0000.0001) cg2d_last_res = 9.55216726667132E-10 +(PID.TID 0000.0001) cg2d_last_res = 9.54976166060649E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 3 (PID.TID 0000.0001) %MON time_secondsf = 2.5920000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3305516267538E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3897811146253E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -4.1464584156843E+01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.0652231489416E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3851332401790E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 5.4254287487464E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -6.4682685936967E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.5171961834275E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.2106818600630E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.7238998723449E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.8892309210740E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -8.2041474526688E-02 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.5754303240927E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.3125842823997E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.8229265293268E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.6902884982683E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -4.3239239590868E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 8.8462129421083E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.2601842491347E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.0609020315929E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9408480192316E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8865125633169E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5914740040887E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4277428416434E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0890334659231E-03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3305516525782E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3897564836885E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -4.1463626502066E+01 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.0652247926150E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3851343160711E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 5.4254244566472E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -6.4744466395613E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.5171924094435E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.2106858600837E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.7239083073786E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.8892296034739E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -8.2041441953290E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.5754247862320E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.3125866735790E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.8229281066357E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.6902867121093E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -4.3239209096409E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 8.8462872651697E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.2601871748408E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.0609038796043E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9408480192321E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8865125950417E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5914740059420E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4277422829079E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0889810983244E-03 (PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715813000502E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.7830036718049E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721481369760E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8771678743736E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1199657429540E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 6.8753660317769E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1582909723281E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.4471125344133E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.6481270334977E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 1.1177546456799E+00 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.7830036731073E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721481368934E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8771643650950E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1199098246823E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 6.8753323860620E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1582909723280E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.4471476972363E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.6481294298568E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 1.1176544417419E+00 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0189127925792E+02 (PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8593879213097E+02 (PID.TID 0000.0001) %MON forcing_qsw_sd = 7.9086030762482E+01 (PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1032203144530E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.7770026263123E-03 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.7770026263126E-03 (PID.TID 0000.0001) %MON forcing_empmr_min = -4.4823526083756E-04 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.1539032921022E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.7645063787534E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 2.7017488297787E-06 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.1537903056870E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.7644261253022E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 2.7013953513842E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4751003717351E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.0922350306190E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.4451620513313E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.3963989757948E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0566380550564E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.4451620514432E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.3963989758030E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0566380550572E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.5817746358114E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.2849573188785E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3688991867914E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5246627512635E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3426168312794E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.2399480879829E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.1505581546679E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.1159291957786E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.0095833520198E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.6274879162605E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2219902820118E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.3502847851171E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3156197486337E-02 -(PID.TID 0000.0001) %MON ke_max = 2.6260745816611E-03 -(PID.TID 0000.0001) %MON ke_mean = 9.9317755242245E-06 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3688991868617E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5246627512334E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3426168318360E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.2399469630393E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.1505566378574E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.1159285137981E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.0095832861770E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.6274890318530E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2219895352140E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.3502839599143E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3156201526740E-02 +(PID.TID 0000.0001) %MON ke_max = 2.6260719230101E-03 +(PID.TID 0000.0001) %MON ke_mean = 9.9317944386625E-06 (PID.TID 0000.0001) %MON ke_vol = 1.3604168238985E+22 -(PID.TID 0000.0001) %MON vort_r_min = -4.9977015943874E-07 -(PID.TID 0000.0001) %MON vort_r_max = 5.2424368570020E-07 -(PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247335740165E-05 +(PID.TID 0000.0001) %MON vort_r_min = -4.9977030381610E-07 +(PID.TID 0000.0001) %MON vort_r_max = 5.2424367260111E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257794E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247335739735E-05 (PID.TID 0000.0001) %MON vort_p_mean = -2.4859228572284E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920027946095E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.1500625871852E-02 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -5.7353860934067E-03 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920027960414E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.1500648577671E-02 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -5.7349991265387E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3744,124 +3808,124 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 3 (PID.TID 0000.0001) %MON seaice_time_sec = 2.5920000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.2724427984109E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -1.8208668024418E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -3.0920747523053E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 9.5005011171349E-03 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.0182973990340E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.4349914707280E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.4748942201369E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 9.1149297967533E-04 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.3507372701651E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.2915897701282E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 6.7874318268466E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.2724427984130E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -1.8208657069768E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -3.0920739491056E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 9.5004997890647E-03 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.0182969242279E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.4349914735426E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.4748942201278E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 9.1149297354310E-04 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.3507372613105E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.2915897619442E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 6.7874318643245E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 9.8891530703204E-03 -(PID.TID 0000.0001) %MON seaice_area_sd = 7.2978803034180E-02 -(PID.TID 0000.0001) %MON seaice_area_del2 = 7.4107272060734E-04 -(PID.TID 0000.0001) %MON seaice_heff_max = 3.7961498256421E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 9.8891548467179E-03 +(PID.TID 0000.0001) %MON seaice_area_sd = 7.2978813832077E-02 +(PID.TID 0000.0001) %MON seaice_area_del2 = 7.4107327553472E-04 +(PID.TID 0000.0001) %MON seaice_heff_max = 3.7961498256032E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 5.2117543175003E-03 -(PID.TID 0000.0001) %MON seaice_heff_sd = 3.8744646166044E-02 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.8873869049535E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.8610648711584E-03 +(PID.TID 0000.0001) %MON seaice_heff_mean = 5.2116597594480E-03 +(PID.TID 0000.0001) %MON seaice_heff_sd = 3.8744043629781E-02 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.8870495838409E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.8610648711585E-03 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.5451750330352E-05 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.3298410271350E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.7228175765249E-06 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.5451750513235E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.3298410437080E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.7228176738363E-06 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 3 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.4000000000 0.6000000000 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 2.79848749E-04 3.78981623E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 3.15303339E-14 2.08610517E-19 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 7.81145981E-14 4.05990732E-19 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 9.45422945E-05 8.82846823E-05 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 1.88737914E-15 2.81898003E-19 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 3.63719471E-14 4.66684570E-19 - cg2d: Sum(rhs),rhsMax = 1.97550682350837E-01 1.98884008355332E+01 -(PID.TID 0000.0001) cg2d_init_res = 9.80691834943749E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 2.79845081E-04 3.78981821E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 3.15303339E-14 2.47095841E-19 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 7.81250065E-14 5.61297576E-19 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 9.45419212E-05 8.82855203E-05 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 1.91513472E-15 2.35872360E-19 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 3.63702124E-14 4.26742353E-19 + cg2d: Sum(rhs),rhsMax = 1.97520465592591E-01 1.98884008061870E+01 +(PID.TID 0000.0001) cg2d_init_res = 9.80683486143163E-02 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 103 -(PID.TID 0000.0001) cg2d_last_res = 7.44346654055150E-10 +(PID.TID 0000.0001) cg2d_last_res = 7.44320031470788E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 4 (PID.TID 0000.0001) %MON time_secondsf = 3.4560000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3102043563904E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3941106786997E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -5.9333353938275E+01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.3741600970179E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3599201397349E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9735030876457E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.2735921781811E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.6674549651920E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 4.1172620321907E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2001121399618E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.1498470269622E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.0576014588946E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.7736462632272E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.2207654669545E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.3155261540270E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.4523092468676E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.6353659442684E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.6321128349835E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.6024439788056E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.3202362579560E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9415540496387E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8888212553758E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5916322414875E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4280400243304E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.1042971283239E-03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3102045226113E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3941781808327E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -5.9324278399363E+01 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.3741565104538E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3599179353776E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9734861389440E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -8.2795555183730E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.6674385636522E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 4.1172564168226E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2001267132152E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.1498265105136E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.0576001484652E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.7736446360261E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.2207540855080E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.3155903732756E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.4523072949727E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.6353544455101E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.6323447074968E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.6024471722511E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.3202392812934E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9415540454614E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8888212710851E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5916322316469E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4280392285700E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.1044374500828E-03 (PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715840180939E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.7561079564493E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721498363828E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8760663409020E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1497155915765E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 6.8014799603551E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1494449143543E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.5937032817713E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.6014578551995E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 9.6289414230573E-01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.7561082639454E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721498356128E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8760590311321E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1503408289951E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 6.8030478499904E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1494449142178E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.5935126710853E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.6015148077915E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 9.6299168088102E-01 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0187928232211E+02 (PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8594494413350E+02 (PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8977862623668E+01 (PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1028061737191E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.6292799249638E-03 -(PID.TID 0000.0001) %MON forcing_empmr_min = -4.4998185671539E-04 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.1082004593561E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.6073176205168E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.9628254426592E-06 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.6292799960189E-03 +(PID.TID 0000.0001) %MON forcing_empmr_min = -4.4998185671542E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 2.1072426918507E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.6068846158940E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.9615803756185E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4746198790331E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.1236929972025E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.3916019255706E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.3996063727460E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0634349403201E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.3916023193581E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.3996063913125E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0634347941581E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.6086070515377E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.2928363582178E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3689821827328E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5311854890290E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3488214592842E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.9515066731923E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 4.1207065877344E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4539971668644E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.5031828295967E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.2506370061914E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.5921950144033E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.7593501984241E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3492773716362E-02 -(PID.TID 0000.0001) %MON ke_max = 4.4053414307293E-03 -(PID.TID 0000.0001) %MON ke_mean = 1.6188369780099E-05 -(PID.TID 0000.0001) %MON ke_vol = 1.3604161595818E+22 -(PID.TID 0000.0001) %MON vort_r_min = -5.6821824599306E-07 -(PID.TID 0000.0001) %MON vort_r_max = 5.8099816666122E-07 -(PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257794E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247344303265E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -2.4859216048072E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920357705815E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 9.2646952496066E-03 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -6.2744284455989E-03 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3689822429296E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5311854584450E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3488218437663E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.9515021950071E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 4.1207011141476E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4539945616154E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.5031827627543E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.2505790058440E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.5921921607266E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.7593470460484E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3492776289813E-02 +(PID.TID 0000.0001) %MON ke_max = 4.4053273844956E-03 +(PID.TID 0000.0001) %MON ke_mean = 1.6188303211417E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.3604161596166E+22 +(PID.TID 0000.0001) %MON vort_r_min = -5.6816685196962E-07 +(PID.TID 0000.0001) %MON vort_r_max = 5.8099501587791E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247344302724E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4859216047216E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920357708262E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 9.2647810959817E-03 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -6.2711723598052E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3870,124 +3934,124 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 4 (PID.TID 0000.0001) %MON seaice_time_sec = 3.4560000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.0868746797049E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -1.9589770875602E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -2.6880473282193E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 9.5683242353441E-03 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.8684636214708E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.5216497569976E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.6372540807830E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 9.6920603283433E-04 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.4178989732687E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1647691578557E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 7.8638726019433E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.0868746563635E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -1.9589701661594E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -2.6880545224237E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 9.5683255261524E-03 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.8684626461244E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.5216495766164E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.6372542797182E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 9.6920165378400E-04 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.4178977519120E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1647709228033E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 7.8638727205594E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 1.3621511580829E-02 -(PID.TID 0000.0001) %MON seaice_area_sd = 9.3182635255965E-02 -(PID.TID 0000.0001) %MON seaice_area_del2 = 8.1646287645478E-04 -(PID.TID 0000.0001) %MON seaice_heff_max = 4.5246697082647E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 1.3619909144860E-02 +(PID.TID 0000.0001) %MON seaice_area_sd = 9.3179530330817E-02 +(PID.TID 0000.0001) %MON seaice_area_del2 = 8.1678471637901E-04 +(PID.TID 0000.0001) %MON seaice_heff_max = 4.5246455815138E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 7.4176172462607E-03 -(PID.TID 0000.0001) %MON seaice_heff_sd = 5.1245459447642E-02 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 4.4896241361259E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 3.6101804455447E-03 +(PID.TID 0000.0001) %MON seaice_heff_mean = 7.4166354551416E-03 +(PID.TID 0000.0001) %MON seaice_heff_sd = 5.1242913880094E-02 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 4.4909631000572E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 3.6101802927974E-03 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 3.3613103709604E-05 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.6980322015693E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 3.5048476024768E-06 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 3.3613045781664E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 2.6980270040285E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 3.5048179962405E-06 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 4 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.3666666667 0.6333333333 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 5.14769994E-04 3.81249722E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 6.04183370E-13 5.54188802E-19 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 8.65557626E-14 7.16649267E-19 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 5.56061673E-04 1.19802125E-04 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 9.29811783E-14 6.43434356E-19 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 3.57908148E-14 5.82939947E-19 - cg2d: Sum(rhs),rhsMax = 2.46921854634471E-01 1.98977600082372E+01 -(PID.TID 0000.0001) cg2d_init_res = 8.11909424783931E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 5.11121399E-04 3.80836970E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 6.04183370E-13 5.23412007E-19 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 8.65557626E-14 6.02809198E-19 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 5.52067174E-04 1.19683578E-04 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 9.29811783E-14 4.66134264E-19 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 3.57908148E-14 6.47331829E-19 + cg2d: Sum(rhs),rhsMax = 2.46785444903784E-01 1.98977599419249E+01 +(PID.TID 0000.0001) cg2d_init_res = 8.11890398982396E-02 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 102 -(PID.TID 0000.0001) cg2d_last_res = 8.61153296608416E-10 +(PID.TID 0000.0001) cg2d_last_res = 8.61218534830516E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 5 (PID.TID 0000.0001) %MON time_secondsf = 4.3200000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3206450587225E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3570108701462E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -7.4196636602510E+01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.4414451457969E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3713979243348E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 8.4677501399395E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.0059659830970E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.9406105637186E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.0200330685401E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.6355172119911E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.3882605793582E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.2778199457556E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -3.9213624386388E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.1500824631696E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.7545873507414E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.1196896511715E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -6.8475928984619E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -3.7972891002643E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9087019974448E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.5405211282264E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9421955996520E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8938186730594E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5917949497776E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4284288843716E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0808775382787E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715864194544E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.7267714188180E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721512091915E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8754211288184E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1074884787387E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 1.4306536842617E+03 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1401884126880E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.6394683645553E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.5892995271629E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 1.3421308992178E+00 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3206462392311E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3570667417389E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -7.4155647098951E+01 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.4414202447967E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3713739725009E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 8.4677444894750E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.0065273355755E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.9406096048198E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.0200246755111E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.6355420125731E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.3882053821741E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.2778211850343E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -3.9213559206548E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.1500682929746E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.7546458487850E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.1196970899105E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -6.8475989516374E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -3.7020838857701E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9087060788883E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.5405271631449E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9421955886486E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8938198484263E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5917948790797E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4284275783521E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0808969523438E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715864194542E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.7267725868079E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721512058057E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8754120093824E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.1079892299781E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 1.4431065185702E+03 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1401884123695E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.6384316503518E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.5898000898313E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 1.3506056191623E+00 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0186728538630E+02 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8595109427343E+02 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8872389323804E+01 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8595109427350E+02 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8872389323632E+01 (PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1030265382374E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.8665720765267E-03 -(PID.TID 0000.0001) %MON forcing_empmr_min = -3.5162002222686E-03 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.7536058566747E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.6165792072811E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 3.7124011822217E-06 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.8663481310511E-03 +(PID.TID 0000.0001) %MON forcing_empmr_min = -3.5517475244697E-03 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.7498405703255E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.6171449094401E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 3.7310361784572E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4741393863310E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.1551509637860E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.3387419469924E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4042638461375E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0717903790887E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.3387452438139E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4042641722959E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0717909144229E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.6354394672640E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.3007153975572E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3691517234408E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5386118530856E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3568502807376E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.6219911212534E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.0264918149080E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.7658010226675E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.0805948017716E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.9246361539246E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.9337393591326E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.1366357860980E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3558464970427E-02 -(PID.TID 0000.0001) %MON ke_max = 6.4891609599450E-03 -(PID.TID 0000.0001) %MON ke_mean = 2.4025019502503E-05 -(PID.TID 0000.0001) %MON ke_vol = 1.3604155093609E+22 -(PID.TID 0000.0001) %MON vort_r_min = -5.8247085685285E-07 -(PID.TID 0000.0001) %MON vort_r_max = 6.2817743517033E-07 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3691530152104E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5386108637629E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3568412123518E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.6219986029975E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.0264969859858E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.7658025459362E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.0805944936912E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.9244801105508E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.9337410251956E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.1366376292674E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3558472515551E-02 +(PID.TID 0000.0001) %MON ke_max = 6.4891679787949E-03 +(PID.TID 0000.0001) %MON ke_mean = 2.4024912793592E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.3604155096912E+22 +(PID.TID 0000.0001) %MON vort_r_min = -5.8241111880551E-07 +(PID.TID 0000.0001) %MON vort_r_max = 6.2816615104464E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247363993428E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -2.4859219139138E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920535511148E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 6.4683516916120E-03 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -5.5624027172782E-03 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247363992507E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4859219133083E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920535510745E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 6.4685601417510E-03 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -5.5496562269721E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3996,124 +4060,124 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 5 (PID.TID 0000.0001) %MON seaice_time_sec = 4.3200000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.2617173250948E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -2.1181189963400E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -4.9065464301376E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 1.1923663482877E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.7675814513578E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.5590224674018E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.5990024993454E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 1.0617076627556E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5044902242010E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1221431379913E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 8.6147187163621E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.2617174414125E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.1181211813668E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -4.9064016866253E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 1.1923615286021E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.7675959730693E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.5590231155811E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.5990044891504E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 1.0616438727958E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5044616709842E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1220654430691E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 8.6147191453354E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 1.6823036460807E-02 -(PID.TID 0000.0001) %MON seaice_area_sd = 1.0898638375462E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 8.2042101162262E-04 -(PID.TID 0000.0001) %MON seaice_heff_max = 5.1952019351093E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 1.6715844116560E-02 +(PID.TID 0000.0001) %MON seaice_area_sd = 1.0882226012665E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 9.8314206697730E-04 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.1951476137961E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 9.2966023543850E-03 -(PID.TID 0000.0001) %MON seaice_heff_sd = 6.1499026295168E-02 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.2732601586369E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 6.0898210087050E-03 +(PID.TID 0000.0001) %MON seaice_heff_mean = 9.2920891339712E-03 +(PID.TID 0000.0001) %MON seaice_heff_sd = 6.1489561599873E-02 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.3052199559647E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 6.0899358360439E-03 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 5.6971773372443E-05 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 4.3980831098812E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 7.3362875323111E-06 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 5.6966725854707E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 4.3979944344115E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 7.3370265152928E-06 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 5 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.3333333333 0.6666666667 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 8.04682470E-04 3.66039483E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 2.82773804E-13 2.00474385E-16 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 5.37576927E-13 1.80689949E-16 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.11383335E-04 8.29260290E-05 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 6.25749452E-14 8.84672737E-17 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 7.50233209E-14 3.99679457E-17 - cg2d: Sum(rhs),rhsMax = 2.98910739557900E-01 1.98998102596207E+01 -(PID.TID 0000.0001) cg2d_init_res = 7.51483734631959E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 8.01712129E-04 3.65763246E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 12 2.82829316E-13 2.38248987E-16 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 12 7.97931166E-13 2.04909072E-16 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.10637513E-04 8.21361383E-05 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 12 6.96283309E-14 1.07693886E-16 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 12 1.25496835E-13 4.41749017E-17 + cg2d: Sum(rhs),rhsMax = 2.98792821083913E-01 1.98998101744940E+01 +(PID.TID 0000.0001) cg2d_init_res = 7.51561568039607E-02 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 102 -(PID.TID 0000.0001) cg2d_last_res = 9.19052240374549E-10 +(PID.TID 0000.0001) cg2d_last_res = 9.19069800841624E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 6 (PID.TID 0000.0001) %MON time_secondsf = 5.1840000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.4047421309107E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3265646906980E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -8.9827839564071E+01 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.4066176253566E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3881187679444E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 9.8471364986082E-02 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1747471290654E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.7306429182615E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.8998428004929E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.0161258512734E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.6007919883689E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.4764970987817E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.7244960268451E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.0671675544928E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.1335453692598E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.6785033261316E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -7.9345735970041E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -8.8724478963585E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.1722410682252E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7186717646396E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9427781828069E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8962377329236E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5919644014676E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4288020059048E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0815556168914E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715876245592E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.6954920736290E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721525439999E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8747856399512E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.0853912182684E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 6.7025240976665E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1305243490932E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7786891353735E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.5325213095022E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 8.5144766530336E-01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.4047428544904E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3266855757652E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -8.9792402642019E+01 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.4065966270815E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.3880911913331E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 9.8471384207465E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1753024834328E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.7306867522963E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.8998186623965E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.0161759857086E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.6007344712243E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.4764986710961E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.7245164467666E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.0671457479584E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.1336304594183E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.6784946947772E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -7.9345863777240E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -8.8735599571865E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.1722460939700E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7186802059607E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9427781655673E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8962389428769E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5919642088016E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4288002245210E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0816871957960E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715876245585E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.6954944932339E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721525411293E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8747742521308E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.0861379818230E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 6.7026753827157E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1305243489962E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7766074834980E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.5329168156935E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 8.6202060219372E-01 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0185528845048E+02 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8595720275291E+02 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8769715408587E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1038814379170E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.6094303159290E-03 -(PID.TID 0000.0001) %MON forcing_empmr_min = -4.5351270375867E-04 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.8442069413249E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.3887219958938E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.8138422281247E-06 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8595720284014E+02 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8769715203064E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1038814370205E-01 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.5956222433315E-03 +(PID.TID 0000.0001) %MON forcing_empmr_min = -4.5351270375881E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.8448620482535E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.3884092701481E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.8045140726196E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4736588936290E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.1866089303695E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.2896087808197E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4103785391289E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0827438970549E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.2896134067646E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4103808274351E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0828031572360E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.6622718829904E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.3085944368965E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3693588699084E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5467685968560E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3656568213681E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.1293132082132E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.8435045069123E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.0436008581553E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.6040672193936E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 4.5254660442564E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.2381138655660E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.4727761905127E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3538388757152E-02 -(PID.TID 0000.0001) %MON ke_max = 8.7302407280484E-03 -(PID.TID 0000.0001) %MON ke_mean = 3.3206408532521E-05 -(PID.TID 0000.0001) %MON ke_vol = 1.3604149685058E+22 -(PID.TID 0000.0001) %MON vort_r_min = -5.8476721193868E-07 -(PID.TID 0000.0001) %MON vort_r_max = 6.8233334161843E-07 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3693659245748E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5467638885466E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3656544683407E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.1293312179563E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.8435120402251E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.0436043995877E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.6040663509968E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 4.5253034423154E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.2381177485810E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.4727804756791E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3538399329326E-02 +(PID.TID 0000.0001) %MON ke_max = 8.7302564675454E-03 +(PID.TID 0000.0001) %MON ke_mean = 3.3206156901214E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.3604149699973E+22 +(PID.TID 0000.0001) %MON vort_r_min = -5.8475017003749E-07 +(PID.TID 0000.0001) %MON vort_r_max = 6.8231180719157E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247389070017E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -2.4859227151444E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920606915235E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 3.9312610484869E-03 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -6.0895576117060E-03 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247389068703E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4859227124456E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920606859946E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 3.9318552050491E-03 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -6.0919097701905E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -4122,124 +4186,124 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 6 (PID.TID 0000.0001) %MON seaice_time_sec = 5.1840000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.8248176355315E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -2.5323963490216E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -5.3013068679317E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 1.3095956280708E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.0068134822632E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.6272048622439E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.6617428026771E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 1.1131719804357E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5448026638607E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1457314456640E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 9.1248327261122E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.8248175494379E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.5323899890558E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -5.2877331660181E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 1.3089515916027E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.0073569438463E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.6272126749710E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.6617539751701E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 1.1141790905146E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5454058772207E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1458277839058E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 9.1248344088627E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 1.9654706639506E-02 -(PID.TID 0000.0001) %MON seaice_area_sd = 1.2266465642272E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 7.8099515173623E-04 -(PID.TID 0000.0001) %MON seaice_heff_max = 5.7646752706247E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 1.9559751594411E-02 +(PID.TID 0000.0001) %MON seaice_area_sd = 1.2239014219122E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 9.0043665084205E-04 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.7645858532184E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 1.1262636196020E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 7.1553254315723E-02 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.1311454956016E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 9.0867155981524E-03 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.1258522001093E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 7.1536089415444E-02 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.1299112732701E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 9.0823390176381E-03 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 8.6973728658317E-05 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.5033986871209E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.0243679794257E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 8.6939820224105E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.5014897666307E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.0239344623646E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 6 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.3000000000 0.7000000000 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 7.24696686E-04 4.01115302E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 16 1.60319674E-13 5.83295504E-16 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 16 1.88932203E-13 5.78870109E-16 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 5.52972014E-04 1.06212230E-04 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 16 8.13012851E-14 3.15939687E-16 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 16 4.81559237E-14 1.59956114E-16 - cg2d: Sum(rhs),rhsMax = 3.38571388980930E-01 1.99001902034457E+01 -(PID.TID 0000.0001) cg2d_init_res = 7.38742758473712E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 7.24318630E-04 4.00795154E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 16 2.32400904E-13 9.00227595E-16 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 16 3.18481352E-13 8.30467493E-16 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 5.52624478E-04 1.06269839E-04 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 16 1.14743284E-13 4.71467877E-16 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 16 7.69384556E-14 2.15496169E-16 + cg2d: Sum(rhs),rhsMax = 3.38474325250839E-01 1.99001901972636E+01 +(PID.TID 0000.0001) cg2d_init_res = 7.38781098095924E-02 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 98 -(PID.TID 0000.0001) cg2d_last_res = 9.08470108689426E-10 +(PID.TID 0000.0001) cg2d_last_res = 9.08585585285231E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 7 (PID.TID 0000.0001) %MON time_secondsf = 6.0480000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.4818614714353E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.2987825585533E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.0174849230372E+02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.3400202822628E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4058870445538E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.1104071858112E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.3225551897072E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.4440511776364E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 6.7496216459071E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.3378303108113E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7852315626066E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.6521576471278E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -5.0461655929721E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.9514947057400E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.4531881138106E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.1171207335517E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -8.8785543860629E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -6.8284390632446E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.3891349980692E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.8534458644225E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9433093835998E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8987890960814E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5921301300220E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4292068285828E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0661931617952E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715873150316E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.6626658610937E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721534981610E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8743879684537E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.0413223351981E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 6.8175964293967E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1203737625305E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7368212425748E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.5218872274847E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 9.1947694506017E-01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.4818626342937E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.2989110769341E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.0171932238797E+02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.3400118750844E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4058627432277E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.1104080571588E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.3231037996207E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.4441420695634E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 6.7495910753262E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.3378579265690E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7851926060462E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.6521603522663E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -5.0462584857478E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.9514674930821E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.4532556836282E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.1171112568093E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -8.8785787204465E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -6.8279536392463E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.3891427086906E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.8534584429935E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9433093675088E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8987898464432E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5921298085489E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4292045734808E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0663284318980E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715873150297E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.6626695315876E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721534957491E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8743750204371E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.0420397365592E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 6.8177960035932E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1203737630997E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7345393667278E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.5227682170353E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 9.2965450327919E-01 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0184329151467E+02 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8596329449463E+02 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8669793140559E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1053691834775E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.6400411693378E-03 -(PID.TID 0000.0001) %MON forcing_empmr_min = -8.6384680083895E-04 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.4064272968405E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.1807936086519E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.9274730826426E-06 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8596329455437E+02 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8669792999540E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1053691825417E-01 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.6400439454212E-03 +(PID.TID 0000.0001) %MON forcing_empmr_min = -9.9256215789548E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.4071666933245E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.1809531110902E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.8986843000543E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4731784009269E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.2180668969530E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.2376259214400E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4177034730750E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0947926923992E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.2375913171497E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4177032048098E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0948678177194E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.6891042987167E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.3164734762358E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3693477988828E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5556815550984E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3758940782124E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.4206778115182E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.5548911619987E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.2823505287838E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.0648644572797E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.0468798422355E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.4997469409108E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.7616655294788E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3509167365897E-02 -(PID.TID 0000.0001) %MON ke_max = 1.0996393613957E-02 -(PID.TID 0000.0001) %MON ke_mean = 4.3475726507794E-05 -(PID.TID 0000.0001) %MON ke_vol = 1.3604143997070E+22 -(PID.TID 0000.0001) %MON vort_r_min = -6.5507378469327E-07 -(PID.TID 0000.0001) %MON vort_r_max = 7.4443112579087E-07 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3693576299850E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5556752220528E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3758908330719E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.4207081638847E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.5549028646588E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.2823573483505E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.0648626259855E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.0467697113799E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.4997544118488E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.7616737812184E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3509189867020E-02 +(PID.TID 0000.0001) %MON ke_max = 1.0996425520017E-02 +(PID.TID 0000.0001) %MON ke_mean = 4.3475366924890E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.3604144009965E+22 +(PID.TID 0000.0001) %MON vort_r_min = -6.5506381517915E-07 +(PID.TID 0000.0001) %MON vort_r_max = 7.4440206863400E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247416047823E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -2.4859237146016E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920621521011E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.6963175331424E-03 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.6232736213871E-03 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247416046164E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4859237123948E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920621469850E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.6970910286410E-03 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.6258280035358E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -4248,124 +4312,124 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 7 (PID.TID 0000.0001) %MON seaice_time_sec = 6.0480000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.2385597373059E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -2.0546226275266E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -7.2134937348230E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 1.3636757105882E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.0522894866409E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.6249387477680E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.7112552226390E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 1.1707936837457E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5630470215323E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1858160534925E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 9.4573688651004E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.2385498260364E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.0541045986481E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -7.2010122647726E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 1.3630957014351E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.0514459130045E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.6249559891543E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.7112762463178E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 1.1715075285850E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5635432576733E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.1857865828187E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 9.4573687325001E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 2.1733938306411E-02 -(PID.TID 0000.0001) %MON seaice_area_sd = 1.3301706439799E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 8.3577026272132E-04 -(PID.TID 0000.0001) %MON seaice_heff_max = 6.2501371569024E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 2.1673408803178E-02 +(PID.TID 0000.0001) %MON seaice_area_sd = 1.3281506778400E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 8.9683028041482E-04 +(PID.TID 0000.0001) %MON seaice_heff_max = 6.2500069619112E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 1.2814005727862E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 7.9962447903951E-02 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.6113642962952E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.2349441764047E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.2810383569016E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 7.9931743096249E-02 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.5271077814679E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.2340675826484E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.2245137973178E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 8.9245051502550E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.3220636738827E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.2238434792028E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 8.9193761780586E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.3199478721519E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 7 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.2666666667 0.7333333333 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 5.56844777E-04 4.63718106E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 22 5.11023515E-13 6.35544597E-15 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 22 8.96588359E-13 8.77221964E-15 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.62829534E-04 1.79914879E-04 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 22 2.50055185E-13 3.31286079E-15 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 22 2.44304577E-13 2.49919975E-15 - cg2d: Sum(rhs),rhsMax = 3.77046423409817E-01 1.99023261255124E+01 -(PID.TID 0000.0001) cg2d_init_res = 7.47404701567706E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 5.56075533E-04 4.63897591E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 24 7.70772335E-14 9.71492573E-16 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 24 1.24608657E-13 1.15391594E-15 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.63495911E-04 1.80461901E-04 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 22 3.22596116E-13 4.30736094E-15 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 22 3.07059933E-13 2.96090512E-15 + cg2d: Sum(rhs),rhsMax = 3.76890551910519E-01 1.99023261033894E+01 +(PID.TID 0000.0001) cg2d_init_res = 7.47426412418457E-02 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 101 -(PID.TID 0000.0001) cg2d_last_res = 7.99209981226649E-10 +(PID.TID 0000.0001) cg2d_last_res = 7.99164811642767E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 8 (PID.TID 0000.0001) %MON time_secondsf = 6.9120000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.5252766928891E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.2590264394117E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.1332328727091E+02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.2867954624191E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4204610103329E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.2227172027585E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.4478349574407E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.9246287302674E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 7.5621001270320E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.6026043229991E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.9403114456787E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.8029119995015E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.9274962923236E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.7914808040336E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.7170774458577E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.4266229014260E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -9.6703275946041E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.2758175079778E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.5577130352593E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.9455189919483E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9437973390775E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8997345304021E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5922959683491E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4296014298145E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0699678155382E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715858077129E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.6289333168521E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721543903361E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8740082748283E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.0055989845447E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 6.7781447605764E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1096788228008E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7808283240581E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.4963474255975E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 7.9985796103905E-01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.5252788731158E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.2591460027176E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.1327643914540E+02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.2867786608596E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4204274170779E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.2227186274371E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.4483774389186E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.9252143628090E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 7.5620703542866E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.6026313017267E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.9402872841627E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.8029166281316E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.9275708524199E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.7914580164399E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.7171865564614E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.4266255540332E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -9.6703679863680E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.2680717066321E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.5577242737547E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.9455359428907E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9437973417392E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8997353373373E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5922955533258E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4295985709581E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0700840282375E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715858077084E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.6289379365668E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721543864184E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8739936689811E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.0065320396571E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 6.7731848354557E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.1096788236387E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7791993403890E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.4964324939901E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 7.9678608362971E-01 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0183129457886E+02 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8596934796250E+02 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8572683769638E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1074865260168E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.3074952096940E-03 -(PID.TID 0000.0001) %MON forcing_empmr_min = -4.5708696944378E-04 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.3656221645510E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.0657795605362E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.4716790874340E-06 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8596934799112E+02 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8572683701979E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1074865252603E-01 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.3074948520753E-03 +(PID.TID 0000.0001) %MON forcing_empmr_min = -4.5708696955277E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.3635364468222E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.0639699617813E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.4461805597813E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4726979082249E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.2495248635365E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.1869437917756E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4263393630479E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1096942058233E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.1868895474954E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4263364719146E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1097717103139E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.7159367144430E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.3243525155752E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3695587789903E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5650819647251E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3884606993314E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.5059938100482E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 7.1538551255827E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.4798531495033E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.4573764557678E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.4949017827616E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.7162009197378E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.0006455514973E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3499565795334E-02 -(PID.TID 0000.0001) %MON ke_max = 1.3162009019090E-02 -(PID.TID 0000.0001) %MON ke_mean = 5.4548618667877E-05 -(PID.TID 0000.0001) %MON ke_vol = 1.3604139659303E+22 -(PID.TID 0000.0001) %MON vort_r_min = -7.1574187565841E-07 -(PID.TID 0000.0001) %MON vort_r_max = 8.0489280726738E-07 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3695653453405E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5650804403295E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3884684075831E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.5060394659084E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 7.1538725390560E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.4798644053482E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.4573733118115E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.4948950908059E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.7162132489000E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.0006591711752E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3499614591550E-02 +(PID.TID 0000.0001) %MON ke_max = 1.3162064994146E-02 +(PID.TID 0000.0001) %MON ke_mean = 5.4548250652032E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.3604139669918E+22 +(PID.TID 0000.0001) %MON vort_r_min = -7.1573686757983E-07 +(PID.TID 0000.0001) %MON vort_r_max = 8.0486198867376E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247442190199E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -2.4859243761478E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920608598897E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.6966485832603E-05 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.3975543199979E-03 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247442189331E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4859243746088E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920608579942E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.7731719986561E-05 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -4.3902939865290E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -4374,124 +4438,124 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 8 (PID.TID 0000.0001) %MON seaice_time_sec = 6.9120000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.7784906821530E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -2.3403641080251E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -6.3829898127697E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 1.4643806450225E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.3481830643792E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.6462465976202E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.7710915546706E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 1.2473679558672E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5756145045408E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.2200412977778E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 9.6723407633678E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.7785227541675E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.3406830046501E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -6.3748184712058E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 1.4640138584133E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.3475381620919E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.6462617053023E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.7711088413974E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 1.2477527483473E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.5759576113024E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.2204420024165E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 9.6723361167031E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 2.3369665050350E-02 -(PID.TID 0000.0001) %MON seaice_area_sd = 1.4118652836029E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 8.4619766231335E-04 -(PID.TID 0000.0001) %MON seaice_heff_max = 6.6746107116645E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 2.3324692770653E-02 +(PID.TID 0000.0001) %MON seaice_area_sd = 1.4099615192851E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 8.7246541533426E-04 +(PID.TID 0000.0001) %MON seaice_heff_max = 6.6744394583665E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 1.4323041848974E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 8.7868421327187E-02 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.4491595849144E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.5781629949644E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.4317467611567E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 8.7838206881777E-02 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.3782468527296E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.5769512139840E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.6265317393874E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.1600287010372E-03 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.5096370528015E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.6232404026580E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.1589517743722E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.5368258818388E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 8 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.2333333333 0.7666666667 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.64729697E-04 5.33243207E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 32 1.43177137E-13 4.40901891E-15 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 32 4.62643812E-13 1.20297098E-14 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.61187710E-04 2.28437871E-04 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 30 3.56333019E-13 1.14402201E-14 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 30 7.42975126E-13 2.03711376E-14 - cg2d: Sum(rhs),rhsMax = 4.07036455565376E-01 1.99064581953247E+01 -(PID.TID 0000.0001) cg2d_init_res = 7.47327075259546E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.59962719E-04 5.32650452E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 32 1.69794734E-13 5.24846117E-15 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 32 5.27036748E-13 1.33438483E-14 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.60165531E-04 2.27973358E-04 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 30 4.16673640E-13 1.34158005E-14 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 30 8.27032887E-13 2.20684141E-14 + cg2d: Sum(rhs),rhsMax = 4.06862589630220E-01 1.99064579811375E+01 +(PID.TID 0000.0001) cg2d_init_res = 7.47337716818592E-02 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 101 -(PID.TID 0000.0001) cg2d_last_res = 8.10166090807646E-10 +(PID.TID 0000.0001) cg2d_last_res = 8.10116668555090E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 9 (PID.TID 0000.0001) %MON time_secondsf = 7.7760000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.5331983266011E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.2030319324835E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.2236234858132E+02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.2643239927947E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4299655958881E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.3203457812345E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.5500466684655E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.6039080233384E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 8.3323284343756E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.8173128376153E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.0658456341604E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.9267726934399E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.5361671088827E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.5819920030704E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.9330008639439E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.6008050338516E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0307356101096E+01 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 5.5311506116009E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6779766746478E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.9971290400690E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9442503383681E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9011819797437E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5924562598215E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4300101153574E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0643328977749E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715837042050E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.5951386260632E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721550719441E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8737478012424E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.9613915063497E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 6.9586199710053E+02 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.0984416531123E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7234305426717E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.4858452732874E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 8.6205894518607E-01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.5332025211928E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.2031687649391E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.2231008009396E+02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.2643179055675E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4299284186109E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.3203474887415E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.5505833731627E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.6036225476591E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 8.3322892573618E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.8173461597484E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.0658255280743E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.9267791284812E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.5362590031864E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.5819611353079E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.9331148762615E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.6008227629587E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0307413729405E+01 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 5.5356361033149E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6779907299138E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.9971502470054E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9442503899787E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9011840429105E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5924557606561E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4300067696013E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0644108612098E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715837041957E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.5951437919113E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721550676220E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8737317572109E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.9619651522837E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 6.9536487573896E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.0984416529480E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7219674705169E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.4862359730800E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 8.6249640441467E-01 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0181929764305E+02 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8597517092670E+02 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8478782586486E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1102171989524E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.1512645350295E-03 -(PID.TID 0000.0001) %MON forcing_empmr_min = -6.1284535245131E-04 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.0664502055732E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 9.1357177605444E-05 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.5589769665934E-06 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8597517094786E+02 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8478782536428E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1102171984812E-01 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.1512644894663E-03 +(PID.TID 0000.0001) %MON forcing_empmr_min = -6.9111204348053E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.0658106982385E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 9.1651283468755E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.5873959865734E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4722174155228E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.2809828301201E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.1332034150703E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4363271668821E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1264814385873E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.1332460922528E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4363309656612E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1266108571741E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.7427691301694E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.3322315549145E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3699974369496E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5748373669698E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.4023524221570E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.7688336814347E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 7.6413253430723E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.6359789892952E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.7778890850981E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.9252423449064E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.8873176986035E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.1895592808200E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3518616691663E-02 -(PID.TID 0000.0001) %MON ke_max = 1.5115913660220E-02 -(PID.TID 0000.0001) %MON ke_mean = 6.6160133797378E-05 -(PID.TID 0000.0001) %MON ke_vol = 1.3604135447389E+22 -(PID.TID 0000.0001) %MON vort_r_min = -7.6693414218150E-07 -(PID.TID 0000.0001) %MON vort_r_max = 8.5177667540065E-07 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3700059561858E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5748370115390E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.4024308847636E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.7688291923624E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 7.6413473329608E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.6359950676874E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.7778845864443E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.9252330566269E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.8873353121167E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.1895787358253E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3518705103188E-02 +(PID.TID 0000.0001) %MON ke_max = 1.5115992174453E-02 +(PID.TID 0000.0001) %MON ke_mean = 6.6159591834547E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.3604135464436E+22 +(PID.TID 0000.0001) %MON vort_r_min = -7.6693020057958E-07 +(PID.TID 0000.0001) %MON vort_r_max = 8.5174999430240E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247464799343E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -2.4859248166198E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920593878293E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.0883157060516E-03 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -3.2906098334689E-03 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247464798220E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4859248134258E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920593874843E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.0875511726788E-03 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -3.2884080362342E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -4500,124 +4564,124 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 9 (PID.TID 0000.0001) %MON seaice_time_sec = 7.7760000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.7177921580336E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -2.3110030227366E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -6.7345697196031E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 1.4918309605113E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.3417149810623E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.6590143582208E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.8429858578858E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 1.3461760280350E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.6011320013794E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.3880962183081E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 9.8169826449459E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.7178306630006E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.3107987844282E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -6.7295140444115E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 1.4916026437400E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.3418245862249E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.6590115737735E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.8429957084426E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 1.3463072821756E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.6013304395737E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.3887560261437E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 9.8169656819684E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 2.4557882781131E-02 -(PID.TID 0000.0001) %MON seaice_area_sd = 1.4707272144486E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 9.0852000470726E-04 -(PID.TID 0000.0001) %MON seaice_heff_max = 7.0604821783835E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 2.4524777927825E-02 +(PID.TID 0000.0001) %MON seaice_area_sd = 1.4691091543251E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 9.1772421310839E-04 +(PID.TID 0000.0001) %MON seaice_heff_max = 7.0602655035347E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 1.5543293991659E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 9.4527791284221E-02 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.7797486970568E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.9325335976212E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.5537074662527E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 9.4497645319301E-02 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 5.6964127125126E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 1.9311374558354E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 2.0682602768947E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.4520717854017E-03 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.6959593721112E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 2.0636536296912E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.4500520809142E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.7312530650683E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= EXTERNAL_FIELDS_LOAD, 9 : iP,iLd,i0,i1= 12 1 12 1 ; Wght= 0.2000000000 0.8000000000 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.72150144E-04 6.04428974E-04 - SEAICE_LSR (ipass= 1) iters,dU,Resid= 42 6.36157793E-14 3.66006782E-15 - SEAICE_LSR (ipass= 1) iters,dV,Resid= 42 6.86478652E-13 3.58852499E-14 - SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.96087236E-04 3.15998588E-04 - SEAICE_LSR (ipass= 2) iters,dU,Resid= 40 1.18620391E-13 7.00099738E-15 - SEAICE_LSR (ipass= 2) iters,dV,Resid= 40 7.68718422E-13 4.14008410E-14 - cg2d: Sum(rhs),rhsMax = 4.35870885061287E-01 1.99115679746786E+01 -(PID.TID 0000.0001) cg2d_init_res = 7.43066221781459E-02 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.69312665E-04 6.01937485E-04 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 42 7.66539610E-14 4.41668947E-15 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 42 7.37326866E-13 3.80281422E-14 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 2.94665127E-04 3.14246800E-04 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 40 1.38639100E-13 8.19010517E-15 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 40 8.14584511E-13 4.32792220E-14 + cg2d: Sum(rhs),rhsMax = 4.35679455767059E-01 1.99115674549999E+01 +(PID.TID 0000.0001) cg2d_init_res = 7.43077368288029E-02 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 100 -(PID.TID 0000.0001) cg2d_last_res = 8.64383276998700E-10 +(PID.TID 0000.0001) cg2d_last_res = 8.64511962926989E-10 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 10 (PID.TID 0000.0001) %MON time_secondsf = 8.6400000000000E+05 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.5132394478832E+04 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.4253343107851E+04 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.3106412158346E+02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.2833685962032E+03 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4347835954878E+01 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.4020135816502E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.6291817268774E-01 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 4.9698598813872E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 9.0569193235663E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.9888651703503E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.1625255099422E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.0221792432647E-01 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0752631113081E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 9.3200586622295E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.1073471318545E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.6379391452218E+00 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0791317451331E+01 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.1709354382722E-04 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.7512761802426E-01 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.0118138611067E-03 -(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9452368643180E+01 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9007315789492E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5926147963155E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4304129050029E+00 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0720402244744E-03 -(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715815008935E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 1.5621397827668E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721557372507E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8734454632876E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.9274556808780E-04 -(PID.TID 0000.0001) %MON forcing_qnet_max = 1.5167064466480E+03 -(PID.TID 0000.0001) %MON forcing_qnet_min = -3.0866983061640E+02 -(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7245054970430E+01 -(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.4809521232419E+02 -(PID.TID 0000.0001) %MON forcing_qnet_del2 = 9.7949775845405E-01 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.5132456891472E+04 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.4252921893278E+04 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.3100655636524E+02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.2833736621215E+03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 9.4347440056350E+01 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.4020151062600E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.6297128183134E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 4.9699621558334E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 9.0568797422703E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.9888961743442E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.1625060139196E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.0221865377000E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0753963502085E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 9.3200252675254E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.1074315423452E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.6379668362908E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0791390307870E+01 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.1712014617746E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.7512928153094E-01 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.0118377986368E-03 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9452368164193E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9013156464850E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5926142475548E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4304089953218E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.0720767943793E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.0715815008762E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.5621451337066E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4721557325704E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.8734282600151E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.9279755807656E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 1.5166264175020E+03 +(PID.TID 0000.0001) %MON forcing_qnet_min = -3.0866983038650E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -2.7236207133725E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.4810053719231E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 9.7746560174547E-01 (PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 (PID.TID 0000.0001) %MON forcing_qsw_min = -3.0180730070724E+02 -(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8597957906796E+02 -(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8390656348558E+01 -(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1136040205860E-01 -(PID.TID 0000.0001) %MON forcing_empmr_max = 1.3900868211354E-03 -(PID.TID 0000.0001) %MON forcing_empmr_min = -3.8525481980110E-03 -(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.0266561192928E-05 -(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.1205343489865E-04 -(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.9346498266320E-06 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.8597957908810E+02 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 7.8390656300922E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1136040204793E-01 +(PID.TID 0000.0001) %MON forcing_empmr_max = 1.3900860394347E-03 +(PID.TID 0000.0001) %MON forcing_empmr_min = -3.8522907819255E-03 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 1.0260311982385E-05 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.1207025481511E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.9350541113482E-06 (PID.TID 0000.0001) %MON forcing_fu_max = 2.4734156444157E-01 (PID.TID 0000.0001) %MON forcing_fu_min = -2.3124407967036E-01 -(PID.TID 0000.0001) %MON forcing_fu_mean = -4.0820700199901E-03 -(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4475182847372E-02 -(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1461479548919E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.0821721432757E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4475233181193E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1461942239119E-04 (PID.TID 0000.0001) %MON forcing_fv_max = 2.7696015458957E-01 (PID.TID 0000.0001) %MON forcing_fv_min = -3.3401105942538E-01 -(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3712175431008E-02 -(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5847420608053E-02 -(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.4172678628536E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.0143028180738E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.0221367305917E-02 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.7516917442134E-01 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.0238285355477E-02 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.2679909399953E-02 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 3.0141467328660E-01 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.3295727987037E-01 -(PID.TID 0000.0001) %MON pe_b_mean = 1.3573014408703E-02 -(PID.TID 0000.0001) %MON ke_max = 1.6765953109115E-02 -(PID.TID 0000.0001) %MON ke_mean = 7.8061030522754E-05 -(PID.TID 0000.0001) %MON ke_vol = 1.3604132158194E+22 -(PID.TID 0000.0001) %MON vort_r_min = -8.0901572145259E-07 -(PID.TID 0000.0001) %MON vort_r_max = 8.7668281604593E-07 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3712200332476E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5847477119282E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.4173874493174E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.0142974196404E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.0221593181575E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.7517122887979E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.0238231253772E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.2679804130266E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 3.0141692423127E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.3295976578434E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 1.3573143512223E-02 +(PID.TID 0000.0001) %MON ke_max = 1.6766040516621E-02 +(PID.TID 0000.0001) %MON ke_mean = 7.8060417400739E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.3604132177214E+22 +(PID.TID 0000.0001) %MON vort_r_min = -8.0901195080422E-07 +(PID.TID 0000.0001) %MON vort_r_max = 8.7666425935995E-07 (PID.TID 0000.0001) %MON vort_a_mean = -2.0556865257795E-05 -(PID.TID 0000.0001) %MON vort_a_sd = 7.5247481433079E-05 -(PID.TID 0000.0001) %MON vort_p_mean = -2.4859249139176E-05 -(PID.TID 0000.0001) %MON vort_p_sd = 1.2920585367245E-04 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.7682078863470E-03 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -3.0728482111754E-03 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5247481433762E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4859249104755E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2920585370774E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.7677686220647E-03 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -3.0709463805402E-03 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -4626,31 +4690,31 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON seaice_tsnumber = 10 (PID.TID 0000.0001) %MON seaice_time_sec = 8.6400000000000E+05 -(PID.TID 0000.0001) %MON seaice_uice_max = 1.7238918404294E-01 -(PID.TID 0000.0001) %MON seaice_uice_min = -2.3433649120502E-01 -(PID.TID 0000.0001) %MON seaice_uice_mean = -6.3143921355342E-04 -(PID.TID 0000.0001) %MON seaice_uice_sd = 1.4991042018500E-02 -(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.2256157130530E-04 -(PID.TID 0000.0001) %MON seaice_vice_max = 1.6321350891186E-01 -(PID.TID 0000.0001) %MON seaice_vice_min = -1.9202425260188E-01 -(PID.TID 0000.0001) %MON seaice_vice_mean = 1.4322875043862E-03 -(PID.TID 0000.0001) %MON seaice_vice_sd = 1.6295582028912E-02 -(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.3912402439043E-04 -(PID.TID 0000.0001) %MON seaice_area_max = 9.9180817594126E-01 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.7239334380637E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.3433433485017E-01 +(PID.TID 0000.0001) %MON seaice_uice_mean = -6.3110326793619E-04 +(PID.TID 0000.0001) %MON seaice_uice_sd = 1.4989131989185E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.2256435391408E-04 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.6321150680818E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.9202530505219E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = 1.4323450212473E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.6297086482427E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.3918046115913E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 9.9180396986537E-01 (PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_area_mean = 2.5496011537460E-02 -(PID.TID 0000.0001) %MON seaice_area_sd = 1.5116133930882E-01 -(PID.TID 0000.0001) %MON seaice_area_del2 = 1.0140913231997E-03 -(PID.TID 0000.0001) %MON seaice_heff_max = 7.4209254532922E-01 +(PID.TID 0000.0001) %MON seaice_area_mean = 2.5473874866961E-02 +(PID.TID 0000.0001) %MON seaice_area_sd = 1.5104289875350E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 1.0167841337375E-03 +(PID.TID 0000.0001) %MON seaice_heff_max = 7.4206545132637E-01 (PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_heff_mean = 1.6719012294700E-02 -(PID.TID 0000.0001) %MON seaice_heff_sd = 1.0065206165602E-01 -(PID.TID 0000.0001) %MON seaice_heff_del2 = 6.3727400848403E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.2938947193868E-02 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.6712227634251E-02 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.0061633266416E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 6.2812516276324E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.2923391373782E-02 (PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 -(PID.TID 0000.0001) %MON seaice_hsnow_mean = 2.5329474749554E-04 -(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.7627286743298E-03 -(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.9061746866339E-05 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 2.5272689390286E-04 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 1.7596879919682E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.9411931520826E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR SEAICE statistics (PID.TID 0000.0001) // ======================================================= @@ -4662,202 +4726,202 @@ listId= 2 ; file name: seaiceStDiag Compute Stats, Diag. # 27 SALT vol( 0 ): 1.360E+23 Parms: SMR MR Compute Stats, Diag. # 80 CONVADJ vol( 0 ): 1.501E+23 Parms: SMR LR Compute Stats, Diag. # 25 DETADT2 vol( 0 ): 3.639E+15 Parms: SM M1 - Compute Stats, Diag. # 241 SIheff vol( 0 ): 3.639E+15 Parms: SM M1 - Compute Stats, Diag. # 241 SIheff vol( 1 ): 1.289E+15 Parms: SM M1 - Compute Stats, Diag. # 241 SIheff vol( 3 ): 7.935E+14 Parms: SM M1 - Compute Stats, Diag. # 238 SIarea vol( 0 ): 3.639E+15 Parms: SM M1 - Compute Stats, Diag. # 238 SIarea vol( 1 ): 1.289E+15 Parms: SM M1 - Compute Stats, Diag. # 238 SIarea vol( 3 ): 7.935E+14 Parms: SM M1 - Compute Stats, Diag. # 243 SIhsnow vol( 0 ): 3.639E+15 Parms: SM M1 - Compute Stats, Diag. # 243 SIhsnow vol( 1 ): 1.289E+15 Parms: SM M1 - Compute Stats, Diag. # 243 SIhsnow vol( 3 ): 7.935E+14 Parms: SM M1 - Compute Stats, Diag. # 255 SIuice vol( 0 ): 3.457E+15 Parms: UU M1 - Compute Stats, Diag. # 255 SIuice vol( 1 ): 1.262E+15 Parms: UU M1 - Compute Stats, Diag. # 255 SIuice vol( 3 ): 7.592E+14 Parms: UU M1 - Compute Stats, Diag. # 256 SIvice vol( 0 ): 3.478E+15 Parms: VV M1 - Compute Stats, Diag. # 256 SIvice vol( 1 ): 1.293E+15 Parms: VV M1 - Compute Stats, Diag. # 256 SIvice vol( 3 ): 7.207E+14 Parms: VV M1 + Compute Stats, Diag. # 246 SIheff vol( 0 ): 3.639E+15 Parms: SM M1 + Compute Stats, Diag. # 246 SIheff vol( 1 ): 1.289E+15 Parms: SM M1 + Compute Stats, Diag. # 246 SIheff vol( 3 ): 7.935E+14 Parms: SM M1 + Compute Stats, Diag. # 243 SIarea vol( 0 ): 3.639E+15 Parms: SM M1 + Compute Stats, Diag. # 243 SIarea vol( 1 ): 1.289E+15 Parms: SM M1 + Compute Stats, Diag. # 243 SIarea vol( 3 ): 7.935E+14 Parms: SM M1 + Compute Stats, Diag. # 248 SIhsnow vol( 0 ): 3.639E+15 Parms: SM M1 + Compute Stats, Diag. # 248 SIhsnow vol( 1 ): 1.289E+15 Parms: SM M1 + Compute Stats, Diag. # 248 SIhsnow vol( 3 ): 7.935E+14 Parms: SM M1 + Compute Stats, Diag. # 260 SIuice vol( 0 ): 3.457E+15 Parms: UU M1 + Compute Stats, Diag. # 260 SIuice vol( 1 ): 1.262E+15 Parms: UU M1 + Compute Stats, Diag. # 260 SIuice vol( 3 ): 7.592E+14 Parms: UU M1 + Compute Stats, Diag. # 261 SIvice vol( 0 ): 3.478E+15 Parms: VV M1 + Compute Stats, Diag. # 261 SIvice vol( 1 ): 1.293E+15 Parms: VV M1 + Compute Stats, Diag. # 261 SIvice vol( 3 ): 7.207E+14 Parms: VV M1 (PID.TID 0000.0001) DIAGSTATS_CLOSE_IO: close file: dynStDiag.0000000000.txt , unit= 9 (PID.TID 0000.0001) DIAGSTATS_CLOSE_IO: close file: seaiceStDiag.0000000000.txt , unit= 10 (PID.TID 0000.0001) %CHECKPOINT 10 ckptA (PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 18.194577297195792 -(PID.TID 0000.0001) System time: 0.22383599355816841 -(PID.TID 0000.0001) Wall clock time: 18.455493927001953 +(PID.TID 0000.0001) User time: 16.563754410017282 +(PID.TID 0000.0001) System time: 0.28365200944244862 +(PID.TID 0000.0001) Wall clock time: 16.940467119216919 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 0.18510099407285452 -(PID.TID 0000.0001) System time: 6.1655003577470779E-002 -(PID.TID 0000.0001) Wall clock time: 0.25413298606872559 +(PID.TID 0000.0001) User time: 0.19969500554725528 +(PID.TID 0000.0001) System time: 9.7297998145222664E-002 +(PID.TID 0000.0001) Wall clock time: 0.35073304176330566 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "THE_MAIN_LOOP [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 18.009407132863998 -(PID.TID 0000.0001) System time: 0.16215999424457550 -(PID.TID 0000.0001) Wall clock time: 18.201278924942017 +(PID.TID 0000.0001) User time: 16.364025682210922 +(PID.TID 0000.0001) System time: 0.18627101182937622 +(PID.TID 0000.0001) Wall clock time: 16.589629888534546 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 0.42976601421833038 -(PID.TID 0000.0001) System time: 0.11624599248170853 -(PID.TID 0000.0001) Wall clock time: 0.54752993583679199 +(PID.TID 0000.0001) User time: 0.37602400779724121 +(PID.TID 0000.0001) System time: 0.10079600661993027 +(PID.TID 0000.0001) Wall clock time: 0.50981998443603516 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 17.579615473747253 -(PID.TID 0000.0001) System time: 4.5908987522125244E-002 -(PID.TID 0000.0001) Wall clock time: 17.653721094131470 +(PID.TID 0000.0001) User time: 15.987979054450989 +(PID.TID 0000.0001) System time: 8.5467010736465454E-002 +(PID.TID 0000.0001) Wall clock time: 16.079783916473389 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 17.579535543918610 -(PID.TID 0000.0001) System time: 4.5906990766525269E-002 -(PID.TID 0000.0001) Wall clock time: 17.653632640838623 +(PID.TID 0000.0001) User time: 15.987886726856232 +(PID.TID 0000.0001) System time: 8.5462003946304321E-002 +(PID.TID 0000.0001) Wall clock time: 16.079691886901855 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": -(PID.TID 0000.0001) User time: 17.579367876052856 -(PID.TID 0000.0001) System time: 4.5904994010925293E-002 -(PID.TID 0000.0001) Wall clock time: 17.653470039367676 +(PID.TID 0000.0001) User time: 15.987731039524078 +(PID.TID 0000.0001) System time: 8.5459008812904358E-002 +(PID.TID 0000.0001) Wall clock time: 16.079527616500854 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "UPDATE_R_STAR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.47937172651290894 -(PID.TID 0000.0001) System time: 4.7013163566589355E-005 -(PID.TID 0000.0001) Wall clock time: 0.47951698303222656 +(PID.TID 0000.0001) User time: 0.41087883710861206 +(PID.TID 0000.0001) System time: 9.6023082733154297E-005 +(PID.TID 0000.0001) Wall clock time: 0.41103982925415039 (PID.TID 0000.0001) No. starts: 20 (PID.TID 0000.0001) No. stops: 20 (PID.TID 0000.0001) Seconds in section "DO_STATEVARS_DIAGS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.78015941381454468 -(PID.TID 0000.0001) System time: 3.6700069904327393E-003 -(PID.TID 0000.0001) Wall clock time: 0.78390288352966309 +(PID.TID 0000.0001) User time: 0.68314361572265625 +(PID.TID 0000.0001) System time: 8.4090232849121094E-003 +(PID.TID 0000.0001) Wall clock time: 0.69161653518676758 (PID.TID 0000.0001) No. starts: 30 (PID.TID 0000.0001) No. stops: 30 (PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.17316156625747681 -(PID.TID 0000.0001) System time: 7.3889940977096558E-003 -(PID.TID 0000.0001) Wall clock time: 0.20458364486694336 +(PID.TID 0000.0001) User time: 0.15022367238998413 +(PID.TID 0000.0001) System time: 4.8120021820068359E-003 +(PID.TID 0000.0001) Wall clock time: 0.16047143936157227 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "EXF_GETFORCING [LOAD_FLDS_DRIVER]": -(PID.TID 0000.0001) User time: 0.16430950164794922 -(PID.TID 0000.0001) System time: 7.3800086975097656E-003 -(PID.TID 0000.0001) Wall clock time: 0.19573903083801270 +(PID.TID 0000.0001) User time: 0.14413636922836304 +(PID.TID 0000.0001) System time: 4.8010200262069702E-003 +(PID.TID 0000.0001) Wall clock time: 0.15438580513000488 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": -(PID.TID 0000.0001) User time: 8.5287094116210938E-003 -(PID.TID 0000.0001) System time: 4.9918889999389648E-006 -(PID.TID 0000.0001) Wall clock time: 8.5382461547851562E-003 +(PID.TID 0000.0001) User time: 5.8555006980895996E-003 +(PID.TID 0000.0001) System time: 1.9967555999755859E-006 +(PID.TID 0000.0001) Wall clock time: 5.8610439300537109E-003 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.1259317398071289E-004 +(PID.TID 0000.0001) User time: 7.5280666351318359E-005 (PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 1.1396408081054688E-004 +(PID.TID 0000.0001) Wall clock time: 7.4863433837890625E-005 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 5.5864607691764832 -(PID.TID 0000.0001) System time: 7.5120031833648682E-003 -(PID.TID 0000.0001) Wall clock time: 5.5958542823791504 +(PID.TID 0000.0001) User time: 5.1774162054061890 +(PID.TID 0000.0001) System time: 2.0300969481468201E-002 +(PID.TID 0000.0001) Wall clock time: 5.1982007026672363 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "SEAICE_MODEL [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 2.2371020913124084 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 2.2373747825622559 +(PID.TID 0000.0001) User time: 2.1146727204322815 +(PID.TID 0000.0001) System time: 7.4520111083984375E-003 +(PID.TID 0000.0001) Wall clock time: 2.1223514080047607 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "SEAICE_DYNSOLVER [SEAICE_MODEL]": -(PID.TID 0000.0001) User time: 1.8485223650932312 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 1.8487968444824219 +(PID.TID 0000.0001) User time: 1.7388369441032410 +(PID.TID 0000.0001) System time: 7.3489993810653687E-003 +(PID.TID 0000.0001) Wall clock time: 1.7464146614074707 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "GGL90_CALC [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 2.5566228628158569 -(PID.TID 0000.0001) System time: 3.5599917173385620E-003 -(PID.TID 0000.0001) Wall clock time: 2.5617899894714355 +(PID.TID 0000.0001) User time: 2.3135631084442139 +(PID.TID 0000.0001) System time: 1.2029975652694702E-002 +(PID.TID 0000.0001) Wall clock time: 2.3259515762329102 (PID.TID 0000.0001) No. starts: 120 (PID.TID 0000.0001) No. stops: 120 (PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.2428106069564819 -(PID.TID 0000.0001) System time: 7.2019994258880615E-003 -(PID.TID 0000.0001) Wall clock time: 4.2520029544830322 +(PID.TID 0000.0001) User time: 3.8252743482589722 +(PID.TID 0000.0001) System time: 3.7119984626770020E-003 +(PID.TID 0000.0001) Wall clock time: 3.8291804790496826 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "UPDATE_CG2D [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 9.0324282646179199E-002 -(PID.TID 0000.0001) System time: 3.9279907941818237E-003 -(PID.TID 0000.0001) Wall clock time: 9.4273090362548828E-002 +(PID.TID 0000.0001) User time: 7.6863288879394531E-002 +(PID.TID 0000.0001) System time: 1.1900067329406738E-004 +(PID.TID 0000.0001) Wall clock time: 7.6992988586425781E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.8449710607528687 -(PID.TID 0000.0001) System time: 3.7939995527267456E-003 -(PID.TID 0000.0001) Wall clock time: 1.8489282131195068 +(PID.TID 0000.0001) User time: 1.6723481416702271 +(PID.TID 0000.0001) System time: 1.6301870346069336E-004 +(PID.TID 0000.0001) Wall clock time: 1.6726710796356201 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.12545299530029297 -(PID.TID 0000.0001) System time: 1.7899274826049805E-004 -(PID.TID 0000.0001) Wall clock time: 0.12565612792968750 +(PID.TID 0000.0001) User time: 0.11759686470031738 +(PID.TID 0000.0001) System time: 1.9967555999755859E-006 +(PID.TID 0000.0001) Wall clock time: 0.11761212348937988 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.22340869903564453 -(PID.TID 0000.0001) System time: 6.0051679611206055E-006 -(PID.TID 0000.0001) Wall clock time: 0.22344732284545898 +(PID.TID 0000.0001) User time: 0.21061193943023682 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.21063160896301270 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "CALC_R_STAR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.1802167892456055E-002 -(PID.TID 0000.0001) System time: 7.0035457611083984E-006 -(PID.TID 0000.0001) Wall clock time: 4.1822910308837891E-002 +(PID.TID 0000.0001) User time: 3.9442777633666992E-002 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.9448976516723633E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.21759414672851562 -(PID.TID 0000.0001) System time: 3.7997961044311523E-005 -(PID.TID 0000.0001) Wall clock time: 0.21768260002136230 +(PID.TID 0000.0001) User time: 0.20220756530761719 +(PID.TID 0000.0001) System time: 5.0067901611328125E-006 +(PID.TID 0000.0001) Wall clock time: 0.20225358009338379 (PID.TID 0000.0001) No. starts: 20 (PID.TID 0000.0001) No. stops: 20 (PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.4549789428710938 -(PID.TID 0000.0001) System time: 3.5986304283142090E-005 -(PID.TID 0000.0001) Wall clock time: 2.4552199840545654 +(PID.TID 0000.0001) User time: 2.2718344926834106 +(PID.TID 0000.0001) System time: 3.8200020790100098E-003 +(PID.TID 0000.0001) Wall clock time: 2.2757329940795898 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 8.9406967163085938E-005 -(PID.TID 0000.0001) System time: 1.9967555999755859E-006 -(PID.TID 0000.0001) Wall clock time: 8.9645385742187500E-005 +(PID.TID 0000.0001) User time: 8.9168548583984375E-005 +(PID.TID 0000.0001) System time: 9.8347663879394531E-007 +(PID.TID 0000.0001) Wall clock time: 9.2506408691406250E-005 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_STATEVARS_TAVE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.0061264038085938E-004 -(PID.TID 0000.0001) System time: 9.9837779998779297E-007 -(PID.TID 0000.0001) Wall clock time: 9.4890594482421875E-005 +(PID.TID 0000.0001) User time: 7.7724456787109375E-005 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 7.7247619628906250E-005 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.1802294254302979 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 1.1803152561187744 +(PID.TID 0000.0001) User time: 1.0496222972869873 +(PID.TID 0000.0001) System time: 1.1998414993286133E-004 +(PID.TID 0000.0001) Wall clock time: 1.0498521327972412 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 7.4335813522338867E-002 -(PID.TID 0000.0001) System time: 7.9769939184188843E-003 -(PID.TID 0000.0001) Wall clock time: 8.2329034805297852E-002 +(PID.TID 0000.0001) User time: 6.2489271163940430E-002 +(PID.TID 0000.0001) System time: 1.5855967998504639E-002 +(PID.TID 0000.0001) Wall clock time: 7.8352689743041992E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 6.0430526733398438E-002 -(PID.TID 0000.0001) System time: 4.0059983730316162E-003 -(PID.TID 0000.0001) Wall clock time: 6.4439535140991211E-002 +(PID.TID 0000.0001) User time: 3.4377336502075195E-002 +(PID.TID 0000.0001) System time: 2.7967005968093872E-002 +(PID.TID 0000.0001) Wall clock time: 6.2352180480957031E-002 (PID.TID 0000.0001) No. starts: 10 (PID.TID 0000.0001) No. stops: 10 (PID.TID 0000.0001) // ====================================================== @@ -4996,9 +5060,9 @@ listId= 2 ; file name: seaiceStDiag (PID.TID 0000.0001) // Total. Y spins = 0 (PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 (PID.TID 0000.0001) // o Thread number: 000001 -(PID.TID 0000.0001) // No. barriers = 19762 +(PID.TID 0000.0001) // No. barriers = 19774 (PID.TID 0000.0001) // Max. barrier spins = 1 (PID.TID 0000.0001) // Min. barrier spins = 1 -(PID.TID 0000.0001) // Total barrier spins = 19762 +(PID.TID 0000.0001) // Total barrier spins = 19774 (PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 PROGRAM MAIN: Execution ended Normally diff --git a/verification/global_ocean.cs32x15/results/output_tap_adj.txt b/verification/global_ocean.cs32x15/results/output_tap_adj.txt new file mode 100644 index 0000000000..32d3e331dc --- /dev/null +++ b/verification/global_ocean.cs32x15/results/output_tap_adj.txt @@ -0,0 +1,4195 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 05:19:43 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx :: No. threads per process in X +(PID.TID 0000.0001) ># nTy :: No. threads per process in Y +(PID.TID 0000.0001) ># debugMode :: print debug msg (sequence of S/R calls) +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > useCubedSphereExchange=.TRUE., +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the namelist terminator (as shown here). +(PID.TID 0000.0001) ># Other systems use a / character. +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 12 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 1 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 32 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 16 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 4 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 4 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 384 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 16 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 12 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 12, 1: 1) +(PID.TID 0000.0001) +(PID.TID 0000.0001) W2_READPARMS: file data.exch2 not found +(PID.TID 0000.0001) => use W2_EXCH2 default: regular 6-facets Cube +(PID.TID 0000.0001) W2_useE2ioLayOut= T ;/* T: use Exch2 glob IO map; F: use model default */ +(PID.TID 0000.0001) W2_mapIO = -1 ; /* select option for Exch2 global-IO map */ +(PID.TID 0000.0001) W2_printMsg = -1 ; /* select option for printing information */ +(PID.TID 0000.0001) ===== Start setting W2 TOPOLOGY: +(PID.TID 0000.0001) write to log-file: w2_tile_topology.0000.log +(PID.TID 0000.0001) ===== setting W2 TOPOLOGY: Done +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef=15*20., +(PID.TID 0000.0001) > sRef=15*35., +(PID.TID 0000.0001) > viscAh =3.E5, +(PID.TID 0000.0001) >#- biharmonic Viscosity: 3.e15 is close to the stability limit with deltaTmom=20mn +(PID.TID 0000.0001) >#viscA4 =3.E15, +(PID.TID 0000.0001) > viscAr =1.E-3, +(PID.TID 0000.0001) > diffKhT=0., +(PID.TID 0000.0001) > diffK4T=0., +(PID.TID 0000.0001) >#- diffKrT unused when compiled with ALLOW_3D_DIFFKR +(PID.TID 0000.0001) >#diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=0., +(PID.TID 0000.0001) > diffK4S=0., +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > ivdc_kappa=10., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > rhoConst=1035., +(PID.TID 0000.0001) > rhoConstFresh=1000., +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > staggerTimeStep=.TRUE., +(PID.TID 0000.0001) > vectorInvariantMomentum=.TRUE., +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > tempAdvScheme=30, +(PID.TID 0000.0001) > saltAdvScheme=30, +(PID.TID 0000.0001) > tempVertAdvScheme=30, +(PID.TID 0000.0001) > saltVertAdvScheme=30, +(PID.TID 0000.0001) > tempImplVertAdv=.TRUE., +(PID.TID 0000.0001) > saltImplVertAdv=.TRUE., +(PID.TID 0000.0001) > exactConserv=.TRUE., +(PID.TID 0000.0001) > select_rStar=2, +(PID.TID 0000.0001) > nonlinFreeSurf=4, +(PID.TID 0000.0001) > hFacInf=0.2, +(PID.TID 0000.0001) > hFacSup=2.0, +(PID.TID 0000.0001) > useRealFreshWaterFlux=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) > hFacMin=.1, +(PID.TID 0000.0001) > hFacMinDr=20., +(PID.TID 0000.0001) > readBinaryPrec=64, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=200, +(PID.TID 0000.0001) >#cg2dTargetResidual=1.E-9, +(PID.TID 0000.0001) > cg2dTargetResWunit=1.E-14, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0=72000, +(PID.TID 0000.0001) > nTimeSteps=5, +(PID.TID 0000.0001) > deltaTMom =1200., +(PID.TID 0000.0001) > deltaTtracer=86400., +(PID.TID 0000.0001) > deltaTFreeSurf=86400., +(PID.TID 0000.0001) > deltaTClock =86400., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > forcing_In_AB=.FALSE., +(PID.TID 0000.0001) > momDissip_In_AB=.FALSE., +(PID.TID 0000.0001) > pChkptFreq =311040000., +(PID.TID 0000.0001) > chkptFreq = 31104000., +(PID.TID 0000.0001) >#taveFreq =311040000., +(PID.TID 0000.0001) >#dumpFreq = 31104000., +(PID.TID 0000.0001) >#adjDumpFreq = 31104000., +(PID.TID 0000.0001) >#monitorFreq = 31104000., +(PID.TID 0000.0001) > periodicExternalForcing=.TRUE., +(PID.TID 0000.0001) > externForcingPeriod=2592000., +(PID.TID 0000.0001) > externForcingCycle=31104000., +(PID.TID 0000.0001) ># 2 months restoring timescale for temperature +(PID.TID 0000.0001) > tauThetaClimRelax = 5184000., +(PID.TID 0000.0001) ># 2yrs restoring timescale for salinity +(PID.TID 0000.0001) > tauSaltClimRelax = 62208000., +(PID.TID 0000.0001) > monitorFreq =1., +(PID.TID 0000.0001) > adjMonitorFreq=1., +(PID.TID 0000.0001) > dumpFreq = 432000., +(PID.TID 0000.0001) > adjDumpFreq = 432000., +(PID.TID 0000.0001) > pickupStrictlyMatch=.FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingCurvilinearGrid=.TRUE., +(PID.TID 0000.0001) > horizGridFile='grid_cs32', +(PID.TID 0000.0001) > delR= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile ='bathy_Hmin50.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_T_cs_15k.bin', +(PID.TID 0000.0001) > hydrogSaltFile ='lev_S_cs_15k.bin', +(PID.TID 0000.0001) > zonalWindFile ='trenberth_taux.bin', +(PID.TID 0000.0001) > meridWindFile ='trenberth_tauy.bin', +(PID.TID 0000.0001) > thetaClimFile ='lev_surfT_cs_12m.bin', +(PID.TID 0000.0001) > saltClimFile ='lev_surfS_cs_12m.bin', +(PID.TID 0000.0001) > surfQnetFile ='shiQnet_cs32.bin', +(PID.TID 0000.0001) > EmPmRFile ='shiEmPR_cs32.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useEXF = .FALSE., +(PID.TID 0000.0001) > useTHSICE = .FALSE., +(PID.TID 0000.0001) > useDiagnostics=.TRUE., +(PID.TID 0000.0001) >#useMNC=.TRUE., +(PID.TID 0000.0001) > useGrdchk=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/cal compiled but not used ( useCAL = F ) + pkg/exf compiled but not used ( useEXF = F ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/seaice compiled but not used ( useSEAICE = F ) + pkg/thsice compiled but not used ( useThSIce = F ) + pkg/diagnostics compiled and used ( useDiagnostics = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled and used ( +vectorInvariantMomentum = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/exch2 compiled and used + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .FALSE., +(PID.TID 0000.0001) > GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) > GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) > GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) > GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) > GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseDYNAMICSswitchInAd = /* switch On/Off SEAICE Dyn in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFREEDRIFTswitchInAd= /* switch On/Off Free-Drift in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEapproxLevInAd = /* -1:SEAICE_FAKE, >0:other adjoint approximation */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># not clear why I have to comment this out, but the reference results have no bounds applied +(PID.TID 0000.0001) >#xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(3) = 'xx_ptr1', +(PID.TID 0000.0001) > xx_genarr3d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(4) = 'xx_diffkr', +(PID.TID 0000.0001) > xx_genarr3d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,4) = 1.E-6,2.E-6,4.E-4,5.E-4,0., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) >#revert to default 1 month +(PID.TID 0000.0001) ># lastinterval=7776000., +(PID.TID 0000.0001) > mult_test=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-2, +(PID.TID 0000.0001) ># iglopos = 6, +(PID.TID 0000.0001) ># jglopos = 17, +(PID.TID 0000.0001) ># kglopos = 1, +(PID.TID 0000.0001) > nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) ># this is xx_theta +(PID.TID 0000.0001) >#grdchkvarindex = 1, +(PID.TID 0000.0001) > grdchkvarindex =201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-01 +(PID.TID 0000.0001) First location: 1 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: opening data.diagnostics +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.diagnostics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.diagnostics" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Diagnostic Package Choices +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># dumpAtLast (logical): always write output at the end of simulation (default=F) +(PID.TID 0000.0001) ># diag_mnc (logical): write to NetCDF files (default=useMNC) +(PID.TID 0000.0001) >#--for each output-stream: +(PID.TID 0000.0001) ># fileName(n) : prefix of the output file name (max 80c long) for outp.stream n +(PID.TID 0000.0001) ># frequency(n):< 0 : write snap-shot output every |frequency| seconds +(PID.TID 0000.0001) ># > 0 : write time-average output every frequency seconds +(PID.TID 0000.0001) ># timePhase(n) : write at time = timePhase + multiple of |frequency| +(PID.TID 0000.0001) ># averagingFreq : frequency (in s) for periodic averaging interval +(PID.TID 0000.0001) ># averagingPhase : phase (in s) for periodic averaging interval +(PID.TID 0000.0001) ># repeatCycle : number of averaging intervals in 1 cycle +(PID.TID 0000.0001) ># levels(:,n) : list of levels to write to file (Notes: declared as REAL) +(PID.TID 0000.0001) ># when this entry is missing, select all common levels of this list +(PID.TID 0000.0001) ># fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +(PID.TID 0000.0001) ># (see "available_diagnostics.log" file for the full list of diags) +(PID.TID 0000.0001) ># missing_value(n) : missing value for real-type fields in output file "n" +(PID.TID 0000.0001) ># fileFlags(n) : specific code (8c string) for output file "n" +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) > &DIAGNOSTICS_LIST +(PID.TID 0000.0001) ># diag_mnc = .FALSE., +(PID.TID 0000.0001) >#-- +(PID.TID 0000.0001) > fields(1:12,1) = 'ETAN ','ETANSQ ','DETADT2 ','PHIBOT ','PHIBOTSQ', +(PID.TID 0000.0001) > 'oceTAUX ','oceTAUY ','TFLUX ','SFLUX ','oceFreez', +(PID.TID 0000.0001) > 'TRELAX ','SRELAX ', +(PID.TID 0000.0001) > levels(1,1) = 1., +(PID.TID 0000.0001) > fileName(1) = 'surfDiag', +(PID.TID 0000.0001) > frequency(1) = 432000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > fields(1:9,2) = 'UVEL ','VVEL ','WVEL ','PHIHYD ', +(PID.TID 0000.0001) > 'VVELMASS','UVELMASS','WVELSQ ', +(PID.TID 0000.0001) > 'THETA ','SALT ', +(PID.TID 0000.0001) ># do not specify levels => all levels are selected +(PID.TID 0000.0001) > fileName(2) = 'dynDiag', +(PID.TID 0000.0001) > frequency(2) = 432000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># fields(1:6,3) = 'DRHODR ','RHOAnoma','CONVADJ ', +(PID.TID 0000.0001) ># 'GM_Kwx ','GM_Kwy ','GM_Kwz ', +(PID.TID 0000.0001) ># levels(1,3) = 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., +(PID.TID 0000.0001) ># fileName(3) = 'oceDiag', +(PID.TID 0000.0001) ># frequency(3) = 864000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > fields(1:5,3) = 'ADJuvel ','ADJvvel ','ADJwvel ', +(PID.TID 0000.0001) > 'ADJtheta','ADJsalt ', +(PID.TID 0000.0001) > fileName(3) = 'adjDiag', +(PID.TID 0000.0001) ># frequency(3) = 311040000., +(PID.TID 0000.0001) > frequency(3) = 432000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > fields(1:5,4) = 'ADJetan ','ADJqnet ','ADJempmr', +(PID.TID 0000.0001) > 'ADJtaux ','ADJtauy ', +(PID.TID 0000.0001) > fileName(4) = 'adjDiagSurf', +(PID.TID 0000.0001) ># frequency(4) = 311040000., +(PID.TID 0000.0001) > frequency(4) = 432000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># Parameter for Diagnostics of per level statistics: +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># diagSt_mnc (logical): write stat-diags to NetCDF files (default=diag_mnc) +(PID.TID 0000.0001) ># diagSt_regMaskFile : file containing the region-mask to read-in +(PID.TID 0000.0001) ># nSetRegMskFile : number of region-mask sets within the region-mask file +(PID.TID 0000.0001) ># set_regMask(i) : region-mask set-index that identifies the region "i" +(PID.TID 0000.0001) ># val_regMask(i) : region "i" identifier value in the region mask +(PID.TID 0000.0001) >#--for each output-stream: +(PID.TID 0000.0001) ># stat_fName(n) : prefix of the output file name (max 80c long) for outp.stream n +(PID.TID 0000.0001) ># stat_freq(n):< 0 : write snap-shot output every |stat_freq| seconds +(PID.TID 0000.0001) ># > 0 : write time-average output every stat_freq seconds +(PID.TID 0000.0001) ># stat_phase(n) : write at time = stat_phase + multiple of |stat_freq| +(PID.TID 0000.0001) ># stat_region(:,n) : list of "regions" (default: 1 region only=global) +(PID.TID 0000.0001) ># stat_fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +(PID.TID 0000.0001) ># (see "available_diagnostics.log" file for the full list of diags) +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) > &DIAG_STATIS_PARMS +(PID.TID 0000.0001) ># an example just to check the agreement with MONITOR output: +(PID.TID 0000.0001) > stat_fields(1:5,1) = 'ETAN ','UVEL ','VVEL ','WVEL ', 'THETA ', +(PID.TID 0000.0001) > stat_fName(1) = 'dynStDiag', +(PID.TID 0000.0001) > stat_freq(1) = -172800., +(PID.TID 0000.0001) > stat_phase(1) = 0., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "diagnostics_list": start +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "diagnostics_list": OK +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "DIAG_STATIS_PARMS": start +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "DIAG_STATIS_PARMS": OK +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: global parameter summary: +(PID.TID 0000.0001) dumpAtLast = /* always write time-ave diags at the end */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diag_mnc = /* write NetCDF output files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMissingValue = /* put MissingValue where mask = 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_maxIters = /* max number of iters in diag_cg2d */ +(PID.TID 0000.0001) 200 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_resTarget = /* residual target for diag_cg2d */ +(PID.TID 0000.0001) 1.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_pcOffDFac = /* preconditioner off-diagonal factor */ +(PID.TID 0000.0001) 9.611687812379854E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: active diagnostics summary: +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) Creating Output Stream: surfDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: 1. +(PID.TID 0000.0001) Fields: ETAN ETANSQ DETADT2 PHIBOT PHIBOTSQ oceTAUX oceTAUY TFLUX SFLUX oceFreez +(PID.TID 0000.0001) Fields: TRELAX SRELAX +(PID.TID 0000.0001) Creating Output Stream: dynDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: UVEL VVEL WVEL PHIHYD VVELMASS UVELMASS WVELSQ THETA SALT +(PID.TID 0000.0001) Creating Output Stream: adjDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: ADJuvel ADJvvel ADJwvel ADJtheta ADJsalt +(PID.TID 0000.0001) Creating Output Stream: adjDiagSurf +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: ADJetan ADJqnet ADJempmr ADJtaux ADJtauy +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: statistics diags. summary: +(PID.TID 0000.0001) Creating Stats. Output Stream: dynStDiag +(PID.TID 0000.0001) Output Frequency: -172800.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Regions: 0 +(PID.TID 0000.0001) Fields: ETAN UVEL VVEL WVEL THETA +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) tile: 1 ; Read from file grid_cs32.face001.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 2 ; Read from file grid_cs32.face001.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 3 ; Read from file grid_cs32.face002.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 4 ; Read from file grid_cs32.face002.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 5 ; Read from file grid_cs32.face003.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 6 ; Read from file grid_cs32.face003.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 7 ; Read from file grid_cs32.face004.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 8 ; Read from file grid_cs32.face004.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 9 ; Read from file grid_cs32.face005.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 10 ; Read from file grid_cs32.face005.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 11 ; Read from file grid_cs32.face006.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 12 ; Read from file grid_cs32.face006.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) %MON XC_max = 1.7854351589505E+02 +(PID.TID 0000.0001) %MON XC_min = -1.7854351589505E+02 +(PID.TID 0000.0001) %MON XC_mean = -1.4199289892029E-14 +(PID.TID 0000.0001) %MON XC_sd = 1.0355545336287E+02 +(PID.TID 0000.0001) %MON XG_max = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XG_min = -1.7708797161002E+02 +(PID.TID 0000.0001) %MON XG_mean = 1.8603515625000E+00 +(PID.TID 0000.0001) %MON XG_sd = 1.0357130300504E+02 +(PID.TID 0000.0001) %MON DXC_max = 3.2375185836900E+05 +(PID.TID 0000.0001) %MON DXC_min = 1.1142031410131E+05 +(PID.TID 0000.0001) %MON DXC_mean = 2.8605689051214E+05 +(PID.TID 0000.0001) %MON DXC_sd = 3.4042087138252E+04 +(PID.TID 0000.0001) %MON DXF_max = 3.2369947500827E+05 +(PID.TID 0000.0001) %MON DXF_min = 1.2020820513318E+05 +(PID.TID 0000.0001) %MON DXF_mean = 2.8605437324820E+05 +(PID.TID 0000.0001) %MON DXF_sd = 3.4050524252539E+04 +(PID.TID 0000.0001) %MON DXG_max = 3.2375195872773E+05 +(PID.TID 0000.0001) %MON DXG_min = 1.0098378008791E+05 +(PID.TID 0000.0001) %MON DXG_mean = 2.8603818508931E+05 +(PID.TID 0000.0001) %MON DXG_sd = 3.4140406908005E+04 +(PID.TID 0000.0001) %MON DXV_max = 3.2380418162750E+05 +(PID.TID 0000.0001) %MON DXV_min = 8.0152299824136E+04 +(PID.TID 0000.0001) %MON DXV_mean = 2.8603970633619E+05 +(PID.TID 0000.0001) %MON DXV_sd = 3.4145142117723E+04 +(PID.TID 0000.0001) %MON YC_max = 8.7940663871962E+01 +(PID.TID 0000.0001) %MON YC_min = -8.7940663871962E+01 +(PID.TID 0000.0001) %MON YC_mean = -2.3684757858670E-15 +(PID.TID 0000.0001) %MON YC_sd = 3.8676242969072E+01 +(PID.TID 0000.0001) %MON YG_max = 9.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = -9.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -4.1448326252673E-15 +(PID.TID 0000.0001) %MON YG_sd = 3.8676895860710E+01 +(PID.TID 0000.0001) %MON DYC_max = 3.2375185836900E+05 +(PID.TID 0000.0001) %MON DYC_min = 1.1142031410131E+05 +(PID.TID 0000.0001) %MON DYC_mean = 2.8605689051214E+05 +(PID.TID 0000.0001) %MON DYC_sd = 3.4042087138252E+04 +(PID.TID 0000.0001) %MON DYF_max = 3.2369947500827E+05 +(PID.TID 0000.0001) %MON DYF_min = 1.2020820513318E+05 +(PID.TID 0000.0001) %MON DYF_mean = 2.8605437324820E+05 +(PID.TID 0000.0001) %MON DYF_sd = 3.4050524252539E+04 +(PID.TID 0000.0001) %MON DYG_max = 3.2375195872773E+05 +(PID.TID 0000.0001) %MON DYG_min = 1.0098378008791E+05 +(PID.TID 0000.0001) %MON DYG_mean = 2.8603818508931E+05 +(PID.TID 0000.0001) %MON DYG_sd = 3.4140406908005E+04 +(PID.TID 0000.0001) %MON DYU_max = 3.2380418162750E+05 +(PID.TID 0000.0001) %MON DYU_min = 8.0152299824136E+04 +(PID.TID 0000.0001) %MON DYU_mean = 2.8603970633619E+05 +(PID.TID 0000.0001) %MON DYU_sd = 3.4145142117723E+04 +(PID.TID 0000.0001) %MON RA_max = 1.0479260248419E+11 +(PID.TID 0000.0001) %MON RA_min = 1.4019007022556E+10 +(PID.TID 0000.0001) %MON RA_mean = 8.2992246709265E+10 +(PID.TID 0000.0001) %MON RA_sd = 1.7509089299457E+10 +(PID.TID 0000.0001) %MON RAW_max = 1.0480965274559E+11 +(PID.TID 0000.0001) %MON RAW_min = 1.2166903467143E+10 +(PID.TID 0000.0001) %MON RAW_mean = 8.2992246709235E+10 +(PID.TID 0000.0001) %MON RAW_sd = 1.7481917919656E+10 +(PID.TID 0000.0001) %MON RAS_max = 1.0480965274559E+11 +(PID.TID 0000.0001) %MON RAS_min = 1.2166903467143E+10 +(PID.TID 0000.0001) %MON RAS_mean = 8.2992246709235E+10 +(PID.TID 0000.0001) %MON RAS_sd = 1.7481917919656E+10 +(PID.TID 0000.0001) %MON RAZ_max = 1.0484349334619E+11 +(PID.TID 0000.0001) %MON RAZ_min = 8.8317900612505E+09 +(PID.TID 0000.0001) %MON RAZ_mean = 8.2992246709235E+10 +(PID.TID 0000.0001) %MON RAZ_sd = 1.7482297311044E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 9.9999994756719E-01 +(PID.TID 0000.0001) %MON AngleCS_min = -9.9968286884824E-01 +(PID.TID 0000.0001) %MON AngleCS_mean = 3.3078922539000E-01 +(PID.TID 0000.0001) %MON AngleCS_sd = 6.2496278958502E-01 +(PID.TID 0000.0001) %MON AngleSN_max = 9.9968286884824E-01 +(PID.TID 0000.0001) %MON AngleSN_min = -9.9999994756719E-01 +(PID.TID 0000.0001) %MON AngleSN_mean = -3.3078922539000E-01 +(PID.TID 0000.0001) %MON AngleSN_sd = 6.2496278958502E-01 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 2 0 2 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 239366 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 389 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 367 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 384 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 5204 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 10408 +(PID.TID 0000.0001) ctrl-wet 8: atmos 10408 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 239366 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 4420 4232 4206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 4299 4112 4096 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 4222 4038 4023 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 4140 3960 3939 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 4099 3919 3893 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 4038 3856 3839 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 3995 3814 3795 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 3944 3756 3737 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 3887 3699 3673 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 3799 3605 3585 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 3703 3502 3461 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 3554 3338 3303 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 3202 2910 2911 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 2599 2296 2276 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 1621 1368 1334 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 8 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 239366 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 7680 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 005204 005084 004791 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 003115 002837 002945 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0003 0001 005620 005386 005384 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0004 0001 002470 002283 001983 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0005 0001 001306 000952 000953 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0006 0001 003476 003122 003082 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0007 0001 005619 005222 005403 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0008 0001 007482 007397 007429 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0009 0001 005900 005825 005686 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0010 0001 003678 003307 003317 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0011 0001 006008 005782 005796 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0012 0001 005644 005208 005302 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 3 is in use +(PID.TID 0000.0001) file = xx_ptr1 +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0203 +(PID.TID 0000.0001) ncvarindex = 0303 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 4 is in use +(PID.TID 0000.0001) file = xx_diffkr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0204 +(PID.TID 0000.0001) ncvarindex = 0304 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGNOSTICS_SET_LEVELS: done +(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 218 +(PID.TID 0000.0001) write list of available Diagnostics to file: available_diagnostics.log +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 23 ETAN +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 24 ETANSQ +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 25 DETADT2 +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 73 PHIBOT +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 74 PHIBOTSQ +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 80 oceTAUX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 81 oceTAUY +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 93 TFLUX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 94 SFLUX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 88 oceFreez +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 89 TRELAX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 90 SRELAX +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 30 UVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 31 VVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 32 WVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 71 PHIHYD +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 46 VVELMASS +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 45 UVELMASS +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 38 WVELSQ +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 26 THETA +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 27 SALT +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 114 ADJuvel +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 115 ADJvvel +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 116 ADJwvel +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 117 ADJtheta +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 118 ADJsalt +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 113 ADJetan +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 122 ADJqnet +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 121 ADJempmr +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 119 ADJtaux +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 120 ADJtauy +(PID.TID 0000.0001) space allocated for all diagnostics: 227 levels +(PID.TID 0000.0001) set mate pointer for diag # 80 oceTAUX , Parms: UU U1 , mate: 81 +(PID.TID 0000.0001) set mate pointer for diag # 81 oceTAUY , Parms: VV U1 , mate: 80 +(PID.TID 0000.0001) set mate pointer for diag # 30 UVEL , Parms: UUR MR , mate: 31 +(PID.TID 0000.0001) set mate pointer for diag # 31 VVEL , Parms: VVR MR , mate: 30 +(PID.TID 0000.0001) set mate pointer for diag # 46 VVELMASS , Parms: VVr MR , mate: 45 +(PID.TID 0000.0001) set mate pointer for diag # 45 UVELMASS , Parms: UUr MR , mate: 46 +(PID.TID 0000.0001) set mate pointer for diag # 114 ADJuvel , Parms: UURA MR , mate: 115 +(PID.TID 0000.0001) set mate pointer for diag # 115 ADJvvel , Parms: VVRA MR , mate: 114 +(PID.TID 0000.0001) set mate pointer for diag # 119 ADJtaux , Parms: UU A U1 , mate: 120 +(PID.TID 0000.0001) set mate pointer for diag # 120 ADJtauy , Parms: VV A U1 , mate: 119 +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: dynDiag +(PID.TID 0000.0001) Levels: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: adjDiag +(PID.TID 0000.0001) Levels: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: adjDiagSurf +(PID.TID 0000.0001) Levels: 1. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: done +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGSTATS_SET_REGIONS: define 0 regions: +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 23 ETAN +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 30 UVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 31 VVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 32 WVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 26 THETA +(PID.TID 0000.0001) space allocated for all stats-diags: 61 levels +(PID.TID 0000.0001) DIAGSTATS_SET_POINTERS: done +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGSTATS_INI_IO: open file: dynStDiag.0000072000.txt , unit= 9 +(PID.TID 0000.0001) INI_GLOBAL_DOMAIN: Found 19 CS-corner Pts in the domain +(PID.TID 0000.0001) %MON fCori_max = 1.4574827780704E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4574827780704E-04 +(PID.TID 0000.0001) %MON fCori_mean = 3.3881317890172E-21 +(PID.TID 0000.0001) %MON fCori_sd = 8.4202189509968E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4584247033981E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4584247033981E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -1.6940658945086E-20 +(PID.TID 0000.0001) %MON fCoriG_sd = 8.4202189509968E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4580166994612E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 5.2407700865903E-06 +(PID.TID 0000.0001) %MON fCoriCos_mean = 1.1514045869113E-04 +(PID.TID 0000.0001) %MON fCoriCos_sd = 3.0375849106513E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 1.9156564154949553E-04 +(PID.TID 0000.0001) INI_CG2D: cg2dTolerance = 5.809016360175296E-07 (Area=3.6388673751E+14) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 3.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 2.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : hFac weighted average (Angular Mom. conserving) +(PID.TID 0000.0001) = 3 : energy conserving scheme using hFac weighted average +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useAbsVorticity= /* V.I Works with f+zeta in Coriolis */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectVortScheme= /* V.I Scheme selector for Vorticity-Term */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) = 0 : enstrophy (Shallow-Water Eq.) conserving scheme by Sadourny, JAS 75 +(PID.TID 0000.0001) = 1 : same as 0 with modified hFac +(PID.TID 0000.0001) = 2 : energy conserving scheme (used by Sadourny in JAS 75 paper) +(PID.TID 0000.0001) = 3 : energy (general) and enstrophy (2D, nonDiv.) conserving scheme +(PID.TID 0000.0001) from Sadourny (Burridge & Haseler, ECMWF Rep.4, 1977) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useJamartMomAdv= /* V.I Non-linear terms Jamart flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindVorticity= /* V.I Upwind bias vorticity flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) highOrderVorticity= /* V.I High order vort. advect. flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindShear= /* V.I Upwind vertical Shear advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectKEscheme= /* V.I Kinetic Energy scheme selector */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balanceQnet = /* balance net heat-flux on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balanceThetaClimRelax= /* balance SST relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBalanceEmPmR = /* balancing glob.mean EmPmR selector */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balanceSaltClimRelax= /* balance SSS relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 64 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balancePrintMean = /* print means for balancing fluxes */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 200 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) 1.000000000000000E-14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 8.640000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) alph_AB = /* Adams-Bashforth-3 primary factor */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta_AB = /* Adams-Bashforth-3 secondary factor */ +(PID.TID 0000.0001) 4.166666666666667E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startFromPickupAB2= /* start from AB-2 pickup */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 72000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 5 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 72005 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 6.220800000000000E+09 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 6.221232000000000E+09 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 4.320000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 6.220800000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) radius_fromHorizGrid = /* sphere Radius of input horiz. grid */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -4.439521994760536E+01, /* I = 1 */ +(PID.TID 0000.0001) -4.295641272275883E+01, /* I = 2 */ +(PID.TID 0000.0001) -4.122055553388957E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.312205555338896E+02, /* I = 94 */ +(PID.TID 0000.0001) 1.329564127227588E+02, /* I = 95 */ +(PID.TID 0000.0001) 1.343952199476053E+02, /* I = 96 */ +(PID.TID 0000.0001) 4.635509675007168E+01, /* I = 97 */ +(PID.TID 0000.0001) 4.906731228843647E+01, /* I = 98 */ +(PID.TID 0000.0001) 5.178550688214704E+01, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -1.778001716525716E+02, /* I =190 */ +(PID.TID 0000.0001) -1.779288225675308E+02, /* I =191 */ +(PID.TID 0000.0001) -1.780367200854751E+02, /* I =192 */ +(PID.TID 0000.0001) 1.356047800523947E+02, /* I =193 */ +(PID.TID 0000.0001) 1.358367907661329E+02, /* I =194 */ +(PID.TID 0000.0001) 1.359720382181193E+02, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -1.340279617818807E+02, /* I =286 */ +(PID.TID 0000.0001) -1.341632092338671E+02, /* I =287 */ +(PID.TID 0000.0001) -1.343952199476053E+02, /* I =288 */ +(PID.TID 0000.0001) -8.812739148696656E+01, /* I =289 */ +(PID.TID 0000.0001) -8.820362659721324E+01, /* I =290 */ +(PID.TID 0000.0001) -8.826768106944316E+01, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.780017165257156E+01, /* I =382 */ +(PID.TID 0000.0001) 8.792882256753080E+01, /* I =383 */ +(PID.TID 0000.0001) 8.803672008547504E+01 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -3.497677942598243E+01, /* J = 1 */ +(PID.TID 0000.0001) -3.374005967394886E+01, /* J = 2 */ +(PID.TID 0000.0001) -3.220655175667454E+01, /* J = 3 */ +(PID.TID 0000.0001) -3.045756348838641E+01, /* J = 4 */ +(PID.TID 0000.0001) -2.853728129852918E+01, /* J = 5 */ +(PID.TID 0000.0001) -2.647426640173173E+01, /* J = 6 */ +(PID.TID 0000.0001) -2.428936657094636E+01, /* J = 7 */ +(PID.TID 0000.0001) -2.199915808312262E+01, /* J = 8 */ +(PID.TID 0000.0001) -1.961768597440146E+01, /* J = 9 */ +(PID.TID 0000.0001) -1.715743888281371E+01, /* J = 10 */ +(PID.TID 0000.0001) -1.462993396899330E+01, /* J = 11 */ +(PID.TID 0000.0001) -1.204608340464756E+01, /* J = 12 */ +(PID.TID 0000.0001) -9.416429130284818E+00, /* J = 13 */ +(PID.TID 0000.0001) -6.751293662992216E+00, /* J = 14 */ +(PID.TID 0000.0001) -4.060875511835959E+00, /* J = 15 */ +(PID.TID 0000.0001) -1.355307764409121E+00 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.835530058121492E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.835530058121492E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.012844832048790E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.026061571839506E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026061571839506E+05, /* I =190 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I =191 */ +(PID.TID 0000.0001) 3.012844832048790E+05, /* I =192 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =193 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I =194 */ +(PID.TID 0000.0001) 1.835530058121492E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.835530058121492E+05, /* I =286 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I =287 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =288 */ +(PID.TID 0000.0001) 3.012844832048790E+05, /* I =289 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I =290 */ +(PID.TID 0000.0001) 3.026061571839506E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026061571839506E+05, /* I =382 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I =383 */ +(PID.TID 0000.0001) 3.012844832048790E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.840412227747703E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.048868197919576E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.220405216043041E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.365892017348392E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.491250781852558E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.599949918261881E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.694110134598581E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.775055554645015E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.843615645344775E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.900303768613599E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.945429307892709E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.979171143158405E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.001626787528886E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.012844832048790E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.840412227747703E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.840412227747703E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.012190981969055E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.025451404065074E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.025451404065074E+05, /* I =190 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I =191 */ +(PID.TID 0000.0001) 3.012190981969055E+05, /* I =192 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =193 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I =194 */ +(PID.TID 0000.0001) 1.840412227747703E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.840412227747703E+05, /* I =286 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I =287 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =288 */ +(PID.TID 0000.0001) 3.012190981969055E+05, /* I =289 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I =290 */ +(PID.TID 0000.0001) 3.025451404065074E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.025451404065074E+05, /* I =382 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I =383 */ +(PID.TID 0000.0001) 3.012190981969055E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.835530058121492E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.045883481718707E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.218350349844185E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.364352994647058E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.490022710862746E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.598919724358304E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.693210245495156E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.774243179696503E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.842862532064524E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.899590699694043E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.944742915095688E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.978501920522794E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.000967749619962E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.012190981969055E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.823321598773926E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.823321598773926E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.014246674484008E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.027399364062562E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.027399364062562E+05, /* I =190 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I =191 */ +(PID.TID 0000.0001) 3.014246674484008E+05, /* I =192 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I =193 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I =194 */ +(PID.TID 0000.0001) 1.823321598773926E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.823321598773926E+05, /* I =286 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I =287 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I =288 */ +(PID.TID 0000.0001) 3.014246674484008E+05, /* I =289 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I =290 */ +(PID.TID 0000.0001) 3.027399364062562E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.027399364062562E+05, /* I =382 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I =383 */ +(PID.TID 0000.0001) 3.014246674484008E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.950254041626018E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.138410773065497E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.295958105911512E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.430829951739083E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.547526806712889E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.648750305193301E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.736173771018112E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.810845823202647E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.873420591008078E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.924298293668651E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.963715635865306E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.991805843171258E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.008638765647886E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.950254041626018E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.011625828699101E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.013880313304323E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031337933484788E+05, /* I =190 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I =191 */ +(PID.TID 0000.0001) 3.013880313304323E+05, /* I =192 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I =193 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I =194 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.950254041626018E+05, /* I =286 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I =287 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I =288 */ +(PID.TID 0000.0001) 3.011625828699101E+05, /* I =289 */ +(PID.TID 0000.0001) 3.013880313304323E+05, /* I =290 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031337933484788E+05, /* I =382 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I =383 */ +(PID.TID 0000.0001) 3.013880313304323E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.823321598773926E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.038999045536999E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.213884732245467E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.361211699596122E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.487693460283865E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.597126963772147E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.691790288994575E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.773091043277394E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.841906470085516E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.898778860929753E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.944035815526416E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.977867909042096E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.000380090330854E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.011625828699101E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.946503699269892E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.012281885409289E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.014528555318499E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031928954490276E+05, /* I =190 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I =191 */ +(PID.TID 0000.0001) 3.014528555318499E+05, /* I =192 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I =193 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I =194 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.946503699269892E+05, /* I =286 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I =287 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I =288 */ +(PID.TID 0000.0001) 3.012281885409289E+05, /* I =289 */ +(PID.TID 0000.0001) 3.014528555318499E+05, /* I =290 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031928954490276E+05, /* I =382 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I =383 */ +(PID.TID 0000.0001) 3.014528555318499E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.829777599966776E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.042717761866506E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.216367828252819E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.363029564123586E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.489113743322025E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.598293319150326E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.692787333338535E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.773972106720365E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.842706922224557E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.899523122489403E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.944741346384699E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.978547649292580E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.001044073506459E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.012281885409289E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.829777599966776E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.829777599966776E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.013593857228136E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.026789946729719E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026789946729719E+05, /* I =190 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I =191 */ +(PID.TID 0000.0001) 3.013593857228136E+05, /* I =192 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I =193 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I =194 */ +(PID.TID 0000.0001) 1.829777599966776E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.829777599966776E+05, /* I =286 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I =287 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I =288 */ +(PID.TID 0000.0001) 3.013593857228136E+05, /* I =289 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I =290 */ +(PID.TID 0000.0001) 3.026789946729719E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026789946729719E+05, /* I =382 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I =383 */ +(PID.TID 0000.0001) 3.013593857228136E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.946503699269892E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.135964483342134E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.294195678257306E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.429464709770498E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.546408290696998E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.647791839299727E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.735321911346108E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.810065951609633E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.872689479506990E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.923599955312932E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.963038832565530E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.991142470004740E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.007982711627968E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I = 1 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.937548202849060E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.013686170436881E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.015922136961168E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.033238888442880E+05, /* I =190 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I =191 */ +(PID.TID 0000.0001) 3.015922136961168E+05, /* I =192 */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I =193 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I =194 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.937548202849060E+05, /* I =286 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I =287 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I =288 */ +(PID.TID 0000.0001) 3.013686170436881E+05, /* I =289 */ +(PID.TID 0000.0001) 3.015922136961168E+05, /* I =290 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.033238888442880E+05, /* I =382 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I =383 */ +(PID.TID 0000.0001) 3.015922136961168E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.942331448101592E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.133486626971531E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.292584591272880E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.428369969078989E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.545652950875683E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.647274964828301E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.734980225206389E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.809856491525217E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.872580915202295E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.923567890694162E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.963063101754721E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.991205495886625E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.008068453676764E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I = 1 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.942331448101592E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.013031486919771E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.015274890091515E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.032648502024415E+05, /* I =190 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I =191 */ +(PID.TID 0000.0001) 3.015274890091515E+05, /* I =192 */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I =193 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I =194 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.942331448101592E+05, /* I =286 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I =287 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I =288 */ +(PID.TID 0000.0001) 3.013031486919771E+05, /* I =289 */ +(PID.TID 0000.0001) 3.015274890091515E+05, /* I =290 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.032648502024415E+05, /* I =382 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I =383 */ +(PID.TID 0000.0001) 3.015274890091515E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.937548202849060E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.130490056267208E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.290479919481738E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.426774358027003E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.544372984215561E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.646201463834826E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.734046499619031E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.809019351693761E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.871811105274442E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.922844849381675E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.962371870847826E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.990534755671296E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.007409169495504E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.401900702255611E+10, /* I = 1 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I = 2 */ +(PID.TID 0000.0001) 3.378518544307869E+10, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.378518544304265E+10, /* I = 94 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I = 95 */ +(PID.TID 0000.0001) 1.401900702259215E+10, /* I = 96 */ +(PID.TID 0000.0001) 9.076111290422060E+10, /* I = 97 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I = 98 */ +(PID.TID 0000.0001) 9.156064070993231E+10, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.156064070993231E+10, /* I =190 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I =191 */ +(PID.TID 0000.0001) 9.076111290418457E+10, /* I =192 */ +(PID.TID 0000.0001) 1.401900702255611E+10, /* I =193 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I =194 */ +(PID.TID 0000.0001) 3.378518544307869E+10, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.378518544304265E+10, /* I =286 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I =287 */ +(PID.TID 0000.0001) 1.401900702259215E+10, /* I =288 */ +(PID.TID 0000.0001) 9.076111290422060E+10, /* I =289 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I =290 */ +(PID.TID 0000.0001) 9.156064070993231E+10, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.156064070993231E+10, /* I =382 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I =383 */ +(PID.TID 0000.0001) 9.076111290418457E+10 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.401900702255611E+10, /* J = 1 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.378518544307869E+10, /* J = 3 */ +(PID.TID 0000.0001) 4.192037169898667E+10, /* J = 4 */ +(PID.TID 0000.0001) 4.925938996118163E+10, /* J = 5 */ +(PID.TID 0000.0001) 5.594154126607553E+10, /* J = 6 */ +(PID.TID 0000.0001) 6.203683527776127E+10, /* J = 7 */ +(PID.TID 0000.0001) 6.757541173817516E+10, /* J = 8 */ +(PID.TID 0000.0001) 7.256353271748119E+10, /* J = 9 */ +(PID.TID 0000.0001) 7.699293007098555E+10, /* J = 10 */ +(PID.TID 0000.0001) 8.084683449728902E+10, /* J = 11 */ +(PID.TID 0000.0001) 8.410423102799828E+10, /* J = 12 */ +(PID.TID 0000.0001) 8.674306976737517E+10, /* J = 13 */ +(PID.TID 0000.0001) 8.874277443041928E+10, /* J = 14 */ +(PID.TID 0000.0001) 9.008620045350865E+10, /* J = 15 */ +(PID.TID 0000.0001) 9.076111290418457E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I = 1 */ +(PID.TID 0000.0001) 1.974052138506315E+10, /* I = 2 */ +(PID.TID 0000.0001) 2.943712825252015E+10, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.801790263325260E+10, /* I = 94 */ +(PID.TID 0000.0001) 2.943712825251114E+10, /* I = 95 */ +(PID.TID 0000.0001) 1.974052138509018E+10, /* I = 96 */ +(PID.TID 0000.0001) 9.071447638299399E+10, /* I = 97 */ +(PID.TID 0000.0001) 9.085012105610597E+10, /* I = 98 */ +(PID.TID 0000.0001) 9.125179254955583E+10, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.190392048045309E+10, /* I =190 */ +(PID.TID 0000.0001) 9.125179254954683E+10, /* I =191 */ +(PID.TID 0000.0001) 9.085012105606993E+10, /* I =192 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I =193 */ +(PID.TID 0000.0001) 1.974052138506315E+10, /* I =194 */ +(PID.TID 0000.0001) 2.943712825252015E+10, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.801790263325260E+10, /* I =286 */ +(PID.TID 0000.0001) 2.943712825251114E+10, /* I =287 */ +(PID.TID 0000.0001) 1.974052138509018E+10, /* I =288 */ +(PID.TID 0000.0001) 9.071447638299399E+10, /* I =289 */ +(PID.TID 0000.0001) 9.085012105610597E+10, /* I =290 */ +(PID.TID 0000.0001) 9.125179254955583E+10, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.190392048045309E+10, /* I =382 */ +(PID.TID 0000.0001) 9.125179254954683E+10, /* I =383 */ +(PID.TID 0000.0001) 9.085012105606993E+10 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* J = 1 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.341968103208270E+10, /* J = 3 */ +(PID.TID 0000.0001) 4.168532893152940E+10, /* J = 4 */ +(PID.TID 0000.0001) 4.909074590409593E+10, /* J = 5 */ +(PID.TID 0000.0001) 5.581203765722643E+10, /* J = 6 */ +(PID.TID 0000.0001) 6.193257577506788E+10, /* J = 7 */ +(PID.TID 0000.0001) 6.748840226738273E+10, /* J = 8 */ +(PID.TID 0000.0001) 7.248875782324815E+10, /* J = 9 */ +(PID.TID 0000.0001) 7.692702995909871E+10, /* J = 10 */ +(PID.TID 0000.0001) 8.078743937057304E+10, /* J = 11 */ +(PID.TID 0000.0001) 8.404959656062837E+10, /* J = 12 */ +(PID.TID 0000.0001) 8.669186205742538E+10, /* J = 13 */ +(PID.TID 0000.0001) 8.869393350723613E+10, /* J = 14 */ +(PID.TID 0000.0001) 9.003884657168852E+10, /* J = 15 */ +(PID.TID 0000.0001) 9.071447638299399E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I = 1 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I = 2 */ +(PID.TID 0000.0001) 3.341968103208270E+10, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.341968103208270E+10, /* I = 94 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I = 95 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I = 96 */ +(PID.TID 0000.0001) 9.083293515008307E+10, /* I = 97 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I = 98 */ +(PID.TID 0000.0001) 9.162886297688426E+10, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.162886297688426E+10, /* I =190 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I =191 */ +(PID.TID 0000.0001) 9.083293515008307E+10, /* I =192 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I =193 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I =194 */ +(PID.TID 0000.0001) 3.341968103208270E+10, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.341968103208270E+10, /* I =286 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I =287 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I =288 */ +(PID.TID 0000.0001) 9.083293515008307E+10, /* I =289 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I =290 */ +(PID.TID 0000.0001) 9.162886297688426E+10, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.162886297688426E+10, /* I =382 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I =383 */ +(PID.TID 0000.0001) 9.083293515008307E+10 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* J = 1 */ +(PID.TID 0000.0001) 1.974052138506315E+10, /* J = 2 */ +(PID.TID 0000.0001) 2.943712825252015E+10, /* J = 3 */ +(PID.TID 0000.0001) 3.801790263324359E+10, /* J = 4 */ +(PID.TID 0000.0001) 4.571243814189866E+10, /* J = 5 */ +(PID.TID 0000.0001) 5.269930713599979E+10, /* J = 6 */ +(PID.TID 0000.0001) 5.907428494299063E+10, /* J = 7 */ +(PID.TID 0000.0001) 6.488320895111514E+10, /* J = 8 */ +(PID.TID 0000.0001) 7.014205907741882E+10, /* J = 9 */ +(PID.TID 0000.0001) 7.484854821847499E+10, /* J = 10 */ +(PID.TID 0000.0001) 7.898934631431560E+10, /* J = 11 */ +(PID.TID 0000.0001) 8.254500894894537E+10, /* J = 12 */ +(PID.TID 0000.0001) 8.549360686473492E+10, /* J = 13 */ +(PID.TID 0000.0001) 8.781353403175085E+10, /* J = 14 */ +(PID.TID 0000.0001) 8.948571540392021E+10, /* J = 15 */ +(PID.TID 0000.0001) 9.049530583086168E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.638867375081599E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hasWetCSCorners = /* Domain contains CS corners (True/False) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 72000 +(PID.TID 0000.0001) %MON time_secondsf = 6.2208000000000E+09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.2249308874653E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.6181619580030E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.4386344596806E-14 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.9907976973986E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 7.8581345364806E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8639442347386E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.8803502100767E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.8914430325890E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2021379389426E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.1214215649781E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7346247050018E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.2519444280963E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0398186384005E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2638380334010E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 5.0639130168720E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0315548206230E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0412092606640E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.3594270097563E-10 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.8382293649569E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6457320450043E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0925958904704E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.9091312053343E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5711433204032E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.6589242567180E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.1386265990462E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8383410676806E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4772068623474E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.3145226117181E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 8.0693627005697E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.6211611868841E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.0410376912710E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.2329247921290E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1327998988989E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.4323506322358E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 7.6494447208479E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5362614137596E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.7256318706594E-21 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.4051723601802E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.2276157049243E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.4892781143428E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.5159107438040E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = -3.8956966288612E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.5480383395885E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.3114393556995E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 2.9305960402537E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.3950131228473E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3743384707768E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.6816469815204E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.5671701728584E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 8.1692195603793E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 7.5609847114589E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.6551124574102E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.3510960005834E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.7811655460464E-04 +(PID.TID 0000.0001) %MON ke_max = 4.0700637549387E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.4067882101803E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3398024453628E+18 +(PID.TID 0000.0001) %MON vort_r_min = -1.1843904755479E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.2148454936551E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0549865324846E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5259517155846E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4783469227166E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2812074522595E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.6885454704508E-08 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.4400775280524E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.68023878714095E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 64 +(PID.TID 0000.0001) cg2d_last_res = 5.58683552522706E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 72001 +(PID.TID 0000.0001) %MON time_secondsf = 6.2208864000000E+09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.2133655120996E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.6190330502946E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.4468787832318E-14 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.9917645600647E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 7.8642723390166E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8614969421301E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.8756253548200E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.8930781602901E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2019850590904E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.1422826272405E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7424330934384E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.2484862162875E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0148993675111E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2634847209014E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 5.0838534695572E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0470225922697E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0629060515043E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -3.1589699713370E-11 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.8549171120240E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6740462640007E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0937492864893E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0051002156293E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.9091886517348E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5710983067973E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.6413868816426E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.1386656529517E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8383740720343E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4772069023557E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.3143476611334E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 8.0251565841648E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5344826813507E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1502574251756E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.2145822391644E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1565376981455E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.1640148928199E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 7.6494447208479E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5362614137596E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.7256318706594E-21 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.4051723601802E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.2276157049243E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.4760613571392E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.0293190974520E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.5478806648627E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.3937396831278E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0509729664672E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 2.5281098043587E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.2691992401999E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3684501518858E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5153512230531E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3373863441584E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 8.1102262955735E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.0812652325363E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.4292349384178E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 8.1558189746286E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 7.5950203765915E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.7258521830179E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.4292349384178E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.7827089476881E-04 +(PID.TID 0000.0001) %MON ke_max = 4.0534798017586E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.4061962891933E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3398024453628E+18 +(PID.TID 0000.0001) %MON vort_r_min = -1.1961273457322E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.2248991447641E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0549865324846E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5259516806869E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4783469220072E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2812073162531E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.3139703452604E-08 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.2483991774886E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.28169923847119E+00 +(PID.TID 0000.0001) cg2d_init_res = 2.26182951652446E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 64 +(PID.TID 0000.0001) cg2d_last_res = 5.39325018591159E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 72002 +(PID.TID 0000.0001) %MON time_secondsf = 6.2209728000000E+09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.1899543513961E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.6178232244521E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.4386344596806E-14 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.9890083389511E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 7.8619309107450E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8681676266081E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.8744599945261E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.8865408201906E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2016197449285E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.1210131724425E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7405826603062E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.2510217722701E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0366940269113E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2639872138669E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 5.0605972538650E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0365488858011E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0489391941864E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.7299861205590E-10 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.8361815399456E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6501884672292E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0948569140590E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0092219769229E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.9092460682667E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5710602606720E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.6295808781658E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.1387060077504E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8384079578526E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4772069353871E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.3141711854060E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 7.9901339702912E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5335380716717E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1405338853096E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.2158050760287E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1544877109799E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.1737635676168E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 7.6494447208479E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5362614137596E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.7256318706594E-21 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.4051723601802E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.2276157049243E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.4755808644372E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.0607770640355E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.5044017291293E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.3947166868600E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0524826999043E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 2.5549422200851E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.2770782795392E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3688427064785E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5192943168452E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3392164091250E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 8.1069395163719E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.0726800351923E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.3789449428529E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 8.1525137917814E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 7.5869545992616E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.6803149576492E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.3789449428529E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.7783098524525E-04 +(PID.TID 0000.0001) %MON ke_max = 4.0487490178773E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.4063874235253E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3398024453628E+18 +(PID.TID 0000.0001) %MON vort_r_min = -1.1931492245839E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.2188021634864E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0549865324846E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5259516743743E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4783469211163E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2812073652347E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.6957708387288E-08 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.4613335922103E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963529004741E+00 +(PID.TID 0000.0001) cg2d_init_res = 2.16204655988238E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 62 +(PID.TID 0000.0001) cg2d_last_res = 5.63275420217836E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 72003 +(PID.TID 0000.0001) %MON time_secondsf = 6.2210592000000E+09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.1716084923417E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.6173450215665E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.4400085136058E-14 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.9885647869818E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 7.8462230692087E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8728728618647E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.8712408840580E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.8819348948767E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2017980722965E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.1189280944993E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7425549562990E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.2506893781164E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0361168984255E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2644594893895E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 5.0573338554735E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0388197365466E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0522690634202E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.8724296742724E-10 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.8352222485647E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6514535111421E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0959186752849E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0136454252073E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.9093036758847E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5710299886767E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.6157541267114E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.1387452758909E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8384424559819E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4772069741443E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.3139855654685E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 7.9538894703908E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5325934619927E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1308103454435E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.2170279128930E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1525031618572E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.1847271762860E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 7.6494447208479E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5362614137596E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.7256318706594E-21 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.4051723601802E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.2276157049243E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.4751003717351E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.0922350306190E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.4609227933959E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.3970406478471E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0564087338622E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 2.5817746358114E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.2849573188785E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3692352610712E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5242720295677E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3430754301775E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 8.0978614263626E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.0818177952940E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.3909343268016E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 8.1433837838708E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 7.5955515596326E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.6911715879057E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.3909343268016E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.7776021058134E-04 +(PID.TID 0000.0001) %MON ke_max = 4.0380603626313E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.4071359914305E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3398024453628E+18 +(PID.TID 0000.0001) %MON vort_r_min = -1.1970434092135E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.2200257391326E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0549865324846E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5259516612531E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4783469206482E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2812072816314E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 5.0263478196919E-08 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.4850436420889E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.26825643555341E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.96658865268473E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 62 +(PID.TID 0000.0001) cg2d_last_res = 4.90955559292357E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 72004 +(PID.TID 0000.0001) %MON time_secondsf = 6.2211456000000E+09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.1570007702562E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.6168937448163E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.4317641900547E-14 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.9879689894816E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 7.8399835747975E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8746403549603E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.8677650418174E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.8783424249094E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2015633438107E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.1165791463594E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7442342151261E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.2502647213555E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0354301692567E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2646088183848E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 5.0541127938387E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0425450194794E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0548809237651E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 7.7133873663008E-11 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.8337213006995E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6532910787618E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0969370038839E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0183541212217E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.9093617574487E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5710069512675E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.6094102831887E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.1387829995644E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8384775698199E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4772070152259E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.3137979133660E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 7.9376593248892E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5316488523137E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1210868055774E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.2182507497573E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1505843893838E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.1968961974738E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 7.6494447208479E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5362614137596E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.7256318706594E-21 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.4051723601802E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.2276157049243E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.4746198790331E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.1236929972025E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.4174438576624E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4007100989353E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0627372714610E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 2.6086070515377E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.2928363582178E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3696278156640E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5302823094907E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3489534074143E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 8.0880591304179E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.0896001594586E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.4003409669403E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 8.1335256359550E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 7.6028712122824E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.6996872382378E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.4003409669403E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.7766515135111E-04 +(PID.TID 0000.0001) %MON ke_max = 4.0270343994605E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.4070501749942E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3398024453628E+18 +(PID.TID 0000.0001) %MON vort_r_min = -1.2014015304671E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.2222297255627E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0549865324846E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5259516403386E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4783469223252E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2812072565044E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.8538268792198E-08 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.4766638303017E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508307715E+00 +(PID.TID 0000.0001) cg2d_init_res = 2.04010891451962E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 62 +(PID.TID 0000.0001) cg2d_last_res = 5.05624576832133E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 72005 +(PID.TID 0000.0001) %MON time_secondsf = 6.2212320000000E+09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.1425377205643E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.6163081026433E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 1.4290160822043E-14 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.9872262682672E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 7.8312951231813E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8763539708194E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.8640511923386E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -4.8754081495740E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2013954659895E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 5.1138141319002E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7452974951525E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.2497580393048E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -4.0340296087475E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2648249095162E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 5.0506294776384E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0468577257698E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.0569267113831E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 6.1308612589859E-11 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.8324712251396E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.6556156424327E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0979141204939E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0233045989875E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.9094200077766E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5709949317998E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.5984307053582E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 4.1388185924147E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 1.8385132906266E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4772070576670E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.3136309401449E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 7.9027651596287E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5307042426348E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1113632657113E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.2194735866217E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1487317231679E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 4.2102601790904E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 7.6494447208479E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5362614137596E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.5159678806086E-21 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.4051723601802E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.2276157049243E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.4741393863310E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.1551509637860E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = -4.3739649219290E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 6.4057227278753E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.0714462929353E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 2.6354394672640E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -3.3007153975572E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.3700203702567E-02 +(PID.TID 0000.0001) %MON forcing_fv_sd = 7.5373226864996E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.3568352349763E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 8.0775854379166E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.0945274352149E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.4077126133498E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 8.1229924543645E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 7.6075059001203E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.7063572778678E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.4077126133498E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.7754666375049E-04 +(PID.TID 0000.0001) %MON ke_max = 4.0156472604118E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.4071166277397E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3398024453628E+18 +(PID.TID 0000.0001) %MON vort_r_min = -1.2058369425432E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.2245058273221E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -2.0549865324846E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.5259516265911E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.4783469196317E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.2812072400250E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.8333596078792E-08 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.4621923210333E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) DIAGSTATS_CLOSE_IO: close file: dynStDiag.0000072000.txt , unit= 9 +(PID.TID 0000.0001) %CHECKPOINT 72005 ckptA +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642990319059D+05 + --> objf_test(bi,bj) = 0.925748325923490D+04 + --> objf_test(bi,bj) = 0.646782341064632D+04 + --> objf_test(bi,bj) = 0.425114891594451D+04 + --> objf_test(bi,bj) = 0.468651159947707D+04 + --> objf_test(bi,bj) = 0.131971832117793D+05 + --> objf_test(bi,bj) = 0.111682590494972D+05 + --> objf_test(bi,bj) = 0.109410446656030D+05 + --> objf_test(bi,bj) = 0.691550498455277D+04 + --> objf_test(bi,bj) = 0.683247511182580D+04 + --> objf_test(bi,bj) = 0.520040324668799D+04 + --> objf_test(bi,bj) = 0.606296038321234D+04 +(PID.TID 0000.0001) local fc = 0.962450968703671D+05 +(PID.TID 0000.0001) global fc = 0.962450968703671D+05 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508307715E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508307715E+00 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508307715E+00 + cg2d: Sum(rhs),rhsMax = 8.67361737988404E-19 1.78189962772662E-04 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.26825643555341E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.26825643555341E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.26825643555341E+00 + cg2d: Sum(rhs),rhsMax = -1.30104260698261E-18 1.55588377850507E-03 + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963529004741E+00 + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963529004741E+00 + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963529004741E+00 + cg2d: Sum(rhs),rhsMax = -1.19262238973405E-18 2.60385267102966E-03 + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.28169923847119E+00 + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.28169923847119E+00 + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.28169923847119E+00 + cg2d: Sum(rhs),rhsMax = 2.81892564846231E-18 2.97812613610585E-03 + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -8.67361737988404E-19 2.73831338873332E-03 + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.28169923847119E+00 + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963529004741E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.26825643555341E+00 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508307715E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642990319059D+05 + --> objf_test(bi,bj) = 0.925748325923490D+04 + --> objf_test(bi,bj) = 0.646782341064632D+04 + --> objf_test(bi,bj) = 0.425114891594451D+04 + --> objf_test(bi,bj) = 0.468651159947707D+04 + --> objf_test(bi,bj) = 0.131971832117793D+05 + --> objf_test(bi,bj) = 0.111682590494972D+05 + --> objf_test(bi,bj) = 0.109410446656030D+05 + --> objf_test(bi,bj) = 0.691550498455277D+04 + --> objf_test(bi,bj) = 0.683247511182580D+04 + --> objf_test(bi,bj) = 0.520040324668799D+04 + --> objf_test(bi,bj) = 0.606296038321234D+04 +(PID.TID 0000.0001) local fc = 0.962450968703671D+05 +(PID.TID 0000.0001) global fc = 0.962450968703671D+05 +(PID.TID 0000.0001) grdchk reference fc: fcref = 9.62450968703671E+04 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1 55522 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 1 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 1 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.28169923834808E+00 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26963528989786E+00 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.26825643505683E+00 + cg2d: Sum(rhs),rhsMax = -9.83391146291979E-12 4.26314508222955E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643372537197D+05 + --> objf_test(bi,bj) = 0.925748325937274D+04 + --> objf_test(bi,bj) = 0.646782341056008D+04 + --> objf_test(bi,bj) = 0.425114891592850D+04 + --> objf_test(bi,bj) = 0.468651159947307D+04 + --> objf_test(bi,bj) = 0.131971832117306D+05 + --> objf_test(bi,bj) = 0.111682590494812D+05 + --> objf_test(bi,bj) = 0.109410446656234D+05 + --> objf_test(bi,bj) = 0.691550498459337D+04 + --> objf_test(bi,bj) = 0.683247680478209D+04 + --> objf_test(bi,bj) = 0.520040324674087D+04 + --> objf_test(bi,bj) = 0.606296259734182D+04 +(PID.TID 0000.0001) local fc = 0.962451389993475D+05 +(PID.TID 0000.0001) global fc = 0.962451389993475D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451389993475E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28169923859646E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26963529019077E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26825643604795E+00 + cg2d: Sum(rhs),rhsMax = -9.43600753089413E-12 4.26314508391993E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642609186992D+05 + --> objf_test(bi,bj) = 0.925748325909704D+04 + --> objf_test(bi,bj) = 0.646782341073247D+04 + --> objf_test(bi,bj) = 0.425114891596055D+04 + --> objf_test(bi,bj) = 0.468651159948100D+04 + --> objf_test(bi,bj) = 0.131971832118282D+05 + --> objf_test(bi,bj) = 0.111682590495131D+05 + --> objf_test(bi,bj) = 0.109410446655825D+05 + --> objf_test(bi,bj) = 0.691550498451220D+04 + --> objf_test(bi,bj) = 0.683247342113420D+04 + --> objf_test(bi,bj) = 0.520040324663511D+04 + --> objf_test(bi,bj) = 0.606295817145302D+04 +(PID.TID 0000.0001) local fc = 0.962450548546287D+05 +(PID.TID 0000.0001) global fc = 0.962450548546287D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450548546287E+04 +grad-res ------------------------------- + grad-res 0 1 1 1 1 1 1 1 9.62450968704E+04 9.62451389993E+04 9.62450548546E+04 + grad-res 0 1 1 1 0 1 1 1 4.20725615465E+00 4.20723593998E+00 4.80471770126E-06 +(PID.TID 0000.0001) ADM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) ADM adjoint_gradient = 4.20725615465348E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = 4.20723593997536E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 2 55522 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1 2 + ph-grd -->hit<-- 2 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 2 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28169923848898E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26963528967151E+00 + cg2d: Sum(rhs),rhsMax = -9.49285094975494E-12 4.26825643475361E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26314508164779E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643378706429D+05 + --> objf_test(bi,bj) = 0.925748325947092D+04 + --> objf_test(bi,bj) = 0.646782341049779D+04 + --> objf_test(bi,bj) = 0.425114891591706D+04 + --> objf_test(bi,bj) = 0.468651159946984D+04 + --> objf_test(bi,bj) = 0.131971832116948D+05 + --> objf_test(bi,bj) = 0.111682590494701D+05 + --> objf_test(bi,bj) = 0.109410446656374D+05 + --> objf_test(bi,bj) = 0.691550498462186D+04 + --> objf_test(bi,bj) = 0.683247522814915D+04 + --> objf_test(bi,bj) = 0.520040324677840D+04 + --> objf_test(bi,bj) = 0.606296159023752D+04 +(PID.TID 0000.0001) local fc = 0.962451370325877D+05 +(PID.TID 0000.0001) global fc = 0.962451370325877D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451370325877E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28169923845654E+00 + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.26963529041537E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26825643635290E+00 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508450758E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642603170864D+05 + --> objf_test(bi,bj) = 0.925748325899883D+04 + --> objf_test(bi,bj) = 0.646782341079480D+04 + --> objf_test(bi,bj) = 0.425114891597197D+04 + --> objf_test(bi,bj) = 0.468651159948426D+04 + --> objf_test(bi,bj) = 0.131971832118641D+05 + --> objf_test(bi,bj) = 0.111682590495243D+05 + --> objf_test(bi,bj) = 0.109410446655686D+05 + --> objf_test(bi,bj) = 0.691550498448368D+04 + --> objf_test(bi,bj) = 0.683247499554683D+04 + --> objf_test(bi,bj) = 0.520040324659764D+04 + --> objf_test(bi,bj) = 0.606295917753553D+04 +(PID.TID 0000.0001) local fc = 0.962450568334570D+05 +(PID.TID 0000.0001) global fc = 0.962450568334570D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450568334570E+04 +grad-res ------------------------------- + grad-res 0 2 2 1 1 1 1 1 9.62450968704E+04 9.62451370326E+04 9.62450568335E+04 + grad-res 0 2 2 2 0 1 1 1 4.00967431021E+00 4.00995653617E+00 -7.03862575169E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) ADM adjoint_gradient = 4.00967431020573E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = 4.00995653617429E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 3 55522 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 2 3 + ph-grd -->hit<-- 3 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 3 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.28169923834804E+00 + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963528960830E+00 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.26825643444512E+00 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508111679E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643321737231D+05 + --> objf_test(bi,bj) = 0.925748325954393D+04 + --> objf_test(bi,bj) = 0.646782341044705D+04 + --> objf_test(bi,bj) = 0.425114891590794D+04 + --> objf_test(bi,bj) = 0.468651159946771D+04 + --> objf_test(bi,bj) = 0.131971832116658D+05 + --> objf_test(bi,bj) = 0.111682590494606D+05 + --> objf_test(bi,bj) = 0.109410446656495D+05 + --> objf_test(bi,bj) = 0.691550498464398D+04 + --> objf_test(bi,bj) = 0.683247511589005D+04 + --> objf_test(bi,bj) = 0.520040324680865D+04 + --> objf_test(bi,bj) = 0.606296088558872D+04 +(PID.TID 0000.0001) local fc = 0.962451305187970D+05 +(PID.TID 0000.0001) global fc = 0.962451305187970D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451305187970E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.86233317235019E-12 4.28169923859372E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26963529048258E+00 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26825643666237E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.26314508503709E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642660210549D+05 + --> objf_test(bi,bj) = 0.925748325892583D+04 + --> objf_test(bi,bj) = 0.646782341084554D+04 + --> objf_test(bi,bj) = 0.425114891598100D+04 + --> objf_test(bi,bj) = 0.468651159948632D+04 + --> objf_test(bi,bj) = 0.131971832118930D+05 + --> objf_test(bi,bj) = 0.111682590495339D+05 + --> objf_test(bi,bj) = 0.109410446655564D+05 + --> objf_test(bi,bj) = 0.691550498446156D+04 + --> objf_test(bi,bj) = 0.683247510776259D+04 + --> objf_test(bi,bj) = 0.520040324656738D+04 + --> objf_test(bi,bj) = 0.606295988160210D+04 +(PID.TID 0000.0001) local fc = 0.962450633536705D+05 +(PID.TID 0000.0001) global fc = 0.962450633536705D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450633536705E+04 +grad-res ------------------------------- + grad-res 0 3 3 1 1 1 1 1 9.62450968704E+04 9.62451305188E+04 9.62450633537E+04 + grad-res 0 3 3 3 0 1 1 1 3.35835980953E+00 3.35825632210E+00 3.08148726688E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) ADM adjoint_gradient = 3.35835980952880E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = 3.35825632209890E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 4 55522 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 3 4 + ph-grd -->hit<-- 4 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 4 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.77706804405898E-12 4.28169923829328E+00 + cg2d: Sum(rhs),rhsMax = -9.52127265918534E-12 4.26963528952197E+00 + cg2d: Sum(rhs),rhsMax = -9.37916411203332E-12 4.26825643418973E+00 + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.26314508067312E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643265415474D+05 + --> objf_test(bi,bj) = 0.925748325960757D+04 + --> objf_test(bi,bj) = 0.646782341040589D+04 + --> objf_test(bi,bj) = 0.425114891590007D+04 + --> objf_test(bi,bj) = 0.468651159946554D+04 + --> objf_test(bi,bj) = 0.131971832116433D+05 + --> objf_test(bi,bj) = 0.111682590494530D+05 + --> objf_test(bi,bj) = 0.109410446656582D+05 + --> objf_test(bi,bj) = 0.691550498466291D+04 + --> objf_test(bi,bj) = 0.683247511172393D+04 + --> objf_test(bi,bj) = 0.520040324683352D+04 + --> objf_test(bi,bj) = 0.606296053020935D+04 +(PID.TID 0000.0001) local fc = 0.962451245271106D+05 +(PID.TID 0000.0001) global fc = 0.962451245271106D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451245271106E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28169923864340E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26963529056705E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26825643691576E+00 + cg2d: Sum(rhs),rhsMax = -9.37916411203332E-12 4.26314508548041E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642716549200D+05 + --> objf_test(bi,bj) = 0.925748325886229D+04 + --> objf_test(bi,bj) = 0.646782341088669D+04 + --> objf_test(bi,bj) = 0.425114891598887D+04 + --> objf_test(bi,bj) = 0.468651159948860D+04 + --> objf_test(bi,bj) = 0.131971832119155D+05 + --> objf_test(bi,bj) = 0.111682590495416D+05 + --> objf_test(bi,bj) = 0.109410446655477D+05 + --> objf_test(bi,bj) = 0.691550498444261D+04 + --> objf_test(bi,bj) = 0.683247511192761D+04 + --> objf_test(bi,bj) = 0.520040324654252D+04 + --> objf_test(bi,bj) = 0.606296023664371D+04 +(PID.TID 0000.0001) local fc = 0.962450693467077D+05 +(PID.TID 0000.0001) global fc = 0.962450693467077D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450693467077E+04 +grad-res ------------------------------- + grad-res 0 4 4 1 1 1 1 1 9.62450968704E+04 9.62451245271E+04 9.62450693467E+04 + grad-res 0 4 4 4 0 1 1 1 2.75902173719E+00 2.75902014619E+00 5.76655439732E-07 +(PID.TID 0000.0001) ADM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) ADM adjoint_gradient = 2.75902173719112E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = 2.75902014618623E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-02 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 1 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 1 9.6245096870367E+04 9.6245138999347E+04 9.6245054854629E+04 +(PID.TID 0000.0001) grdchk output (g): 1 4.2072359399754E+00 4.2072561546535E+00 4.8047177012567E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 2 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 2 9.6245096870367E+04 9.6245137032588E+04 9.6245056833457E+04 +(PID.TID 0000.0001) grdchk output (g): 2 4.0099565361743E+00 4.0096743102057E+00 -7.0386257516875E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 3 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 3 9.6245096870367E+04 9.6245130518797E+04 9.6245063353671E+04 +(PID.TID 0000.0001) grdchk output (g): 3 3.3582563220989E+00 3.3583598095288E+00 3.0814872668761E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 4 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 4 9.6245096870367E+04 9.6245124527111E+04 9.6245069346708E+04 +(PID.TID 0000.0001) grdchk output (g): 4 2.7590201461862E+00 2.7590217371911E+00 5.7665543973240E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 4 ratios = 3.8494153674645E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 44.271581887034699 +(PID.TID 0000.0001) System time: 5.2107550103683025 +(PID.TID 0000.0001) Wall clock time: 49.748782873153687 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.13248999323695898 +(PID.TID 0000.0001) System time: 3.8562999572604895E-002 +(PID.TID 0000.0001) Wall clock time: 0.17261886596679688 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 23.874220162630081 +(PID.TID 0000.0001) System time: 2.1126039326190948E-002 +(PID.TID 0000.0001) Wall clock time: 23.961232662200928 +(PID.TID 0000.0001) No. starts: 50 +(PID.TID 0000.0001) No. stops: 50 +(PID.TID 0000.0001) Seconds in section "UPDATE_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.74604144692420959 +(PID.TID 0000.0001) System time: 2.2652745246887207E-004 +(PID.TID 0000.0001) Wall clock time: 0.74895954132080078 +(PID.TID 0000.0001) No. starts: 110 +(PID.TID 0000.0001) No. stops: 110 +(PID.TID 0000.0001) Seconds in section "DO_STATEVARS_DIAGS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.0896644592285156E-002 +(PID.TID 0000.0001) System time: 1.5005469322204590E-005 +(PID.TID 0000.0001) Wall clock time: 5.1221370697021484E-002 +(PID.TID 0000.0001) No. starts: 15 +(PID.TID 0000.0001) No. stops: 15 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.12058961391448975 +(PID.TID 0000.0001) System time: 3.7428736686706543E-003 +(PID.TID 0000.0001) Wall clock time: 0.12490391731262207 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 8.2373797893524170E-002 +(PID.TID 0000.0001) System time: 2.6937946677207947E-003 +(PID.TID 0000.0001) Wall clock time: 8.5491180419921875E-002 +(PID.TID 0000.0001) No. starts: 60 +(PID.TID 0000.0001) No. stops: 60 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.17227721214294434 +(PID.TID 0000.0001) System time: 6.2694400548934937E-004 +(PID.TID 0000.0001) Wall clock time: 0.17349219322204590 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.7062475681304932E-002 +(PID.TID 0000.0001) System time: 2.5796890258789062E-004 +(PID.TID 0000.0001) Wall clock time: 2.7425289154052734E-002 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.2508398592472076 +(PID.TID 0000.0001) System time: 5.7697296142578125E-005 +(PID.TID 0000.0001) Wall clock time: 4.2624669075012207 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.0412757992744446 +(PID.TID 0000.0001) System time: 1.0520219802856445E-004 +(PID.TID 0000.0001) Wall clock time: 7.0604822635650635 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "UPDATE_CG2D [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.14748656749725342 +(PID.TID 0000.0001) System time: 9.7692012786865234E-005 +(PID.TID 0000.0001) Wall clock time: 0.14807224273681641 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.8434599637985229 +(PID.TID 0000.0001) System time: 9.1981887817382812E-004 +(PID.TID 0000.0001) Wall clock time: 1.8493895530700684 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.25158017873764038 +(PID.TID 0000.0001) System time: 2.3508071899414062E-004 +(PID.TID 0000.0001) Wall clock time: 0.25258588790893555 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.38866317272186279 +(PID.TID 0000.0001) System time: 1.9073486328125000E-005 +(PID.TID 0000.0001) Wall clock time: 0.39000082015991211 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "CALC_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 8.9592933654785156E-002 +(PID.TID 0000.0001) System time: 1.0967254638671875E-005 +(PID.TID 0000.0001) Wall clock time: 8.9909076690673828E-002 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.55982273817062378 +(PID.TID 0000.0001) System time: 8.5830688476562500E-005 +(PID.TID 0000.0001) Wall clock time: 0.56173396110534668 +(PID.TID 0000.0001) No. starts: 110 +(PID.TID 0000.0001) No. stops: 110 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 9.9262729883193970 +(PID.TID 0000.0001) System time: 9.8521262407302856E-004 +(PID.TID 0000.0001) Wall clock time: 9.9534175395965576 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.1703710556030273E-004 +(PID.TID 0000.0001) System time: 1.0058283805847168E-006 +(PID.TID 0000.0001) Wall clock time: 3.4689903259277344E-004 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.17045646905899048 +(PID.TID 0000.0001) System time: 4.7683715820312500E-006 +(PID.TID 0000.0001) Wall clock time: 0.17105126380920410 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.35501581430435181 +(PID.TID 0000.0001) System time: 1.8849968910217285E-005 +(PID.TID 0000.0001) Wall clock time: 0.35613656044006348 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.9590587615966797E-002 +(PID.TID 0000.0001) System time: 7.8878104686737061E-003 +(PID.TID 0000.0001) Wall clock time: 5.7955026626586914E-002 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.6669929027557373E-002 +(PID.TID 0000.0001) System time: 5.9709846973419189E-003 +(PID.TID 0000.0001) Wall clock time: 2.2789955139160156E-002 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 3.2903671264648438E-002 +(PID.TID 0000.0001) System time: 3.9858818054199219E-003 +(PID.TID 0000.0001) Wall clock time: 3.7142038345336914E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 3.2243728637695312E-002 +(PID.TID 0000.0001) System time: 2.8729438781738281E-003 +(PID.TID 0000.0001) Wall clock time: 3.5374879837036133E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 22.428234100341797 +(PID.TID 0000.0001) System time: 0.10023927688598633 +(PID.TID 0000.0001) Wall clock time: 22.626114130020142 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 1.1187477111816406 +(PID.TID 0000.0001) System time: 7.3564529418945312E-002 +(PID.TID 0000.0001) Wall clock time: 1.1992907524108887 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 21.226501464843750 +(PID.TID 0000.0001) System time: 9.7103118896484375E-003 +(PID.TID 0000.0001) Wall clock time: 21.294141054153442 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 21.197265625000000 +(PID.TID 0000.0001) System time: 5.0683021545410156E-003 +(PID.TID 0000.0001) Wall clock time: 21.260004997253418 +(PID.TID 0000.0001) No. starts: 45 +(PID.TID 0000.0001) No. stops: 45 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 2.8877258300781250E-002 +(PID.TID 0000.0001) System time: 4.6238899230957031E-003 +(PID.TID 0000.0001) Wall clock time: 3.3768177032470703E-002 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000005 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000006 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000007 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000008 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000009 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000010 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000011 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000012 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 56088 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 56088 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/global_ocean.cs32x15/results/output_tap_tlm.txt b/verification/global_ocean.cs32x15/results/output_tap_tlm.txt new file mode 100644 index 0000000000..0e2251f022 --- /dev/null +++ b/verification/global_ocean.cs32x15/results/output_tap_tlm.txt @@ -0,0 +1,3788 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 02:44:33 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx :: No. threads per process in X +(PID.TID 0000.0001) ># nTy :: No. threads per process in Y +(PID.TID 0000.0001) ># debugMode :: print debug msg (sequence of S/R calls) +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > useCubedSphereExchange=.TRUE., +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the namelist terminator (as shown here). +(PID.TID 0000.0001) ># Other systems use a / character. +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 12 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 1 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 32 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 16 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 4 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 4 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 384 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 16 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 12 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 12, 1: 1) +(PID.TID 0000.0001) +(PID.TID 0000.0001) W2_READPARMS: file data.exch2 not found +(PID.TID 0000.0001) => use W2_EXCH2 default: regular 6-facets Cube +(PID.TID 0000.0001) W2_useE2ioLayOut= T ;/* T: use Exch2 glob IO map; F: use model default */ +(PID.TID 0000.0001) W2_mapIO = -1 ; /* select option for Exch2 global-IO map */ +(PID.TID 0000.0001) W2_printMsg = -1 ; /* select option for printing information */ +(PID.TID 0000.0001) ===== Start setting W2 TOPOLOGY: +(PID.TID 0000.0001) write to log-file: w2_tile_topology.0000.log +(PID.TID 0000.0001) ===== setting W2 TOPOLOGY: Done +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef=15*20., +(PID.TID 0000.0001) > sRef=15*35., +(PID.TID 0000.0001) > viscAh =3.E5, +(PID.TID 0000.0001) >#- biharmonic Viscosity: 3.e15 is close to the stability limit with deltaTmom=20mn +(PID.TID 0000.0001) >#viscA4 =3.E15, +(PID.TID 0000.0001) > viscAr =1.E-3, +(PID.TID 0000.0001) > diffKhT=0., +(PID.TID 0000.0001) > diffK4T=0., +(PID.TID 0000.0001) >#- diffKrT unused when compiled with ALLOW_3D_DIFFKR +(PID.TID 0000.0001) >#diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=0., +(PID.TID 0000.0001) > diffK4S=0., +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > ivdc_kappa=10., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > rhoConst=1035., +(PID.TID 0000.0001) > rhoConstFresh=1000., +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > staggerTimeStep=.TRUE., +(PID.TID 0000.0001) > vectorInvariantMomentum=.TRUE., +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > tempAdvScheme=30, +(PID.TID 0000.0001) > saltAdvScheme=30, +(PID.TID 0000.0001) > tempVertAdvScheme=30, +(PID.TID 0000.0001) > saltVertAdvScheme=30, +(PID.TID 0000.0001) > tempImplVertAdv=.TRUE., +(PID.TID 0000.0001) > saltImplVertAdv=.TRUE., +(PID.TID 0000.0001) > exactConserv=.TRUE., +(PID.TID 0000.0001) > select_rStar=2, +(PID.TID 0000.0001) > nonlinFreeSurf=4, +(PID.TID 0000.0001) > hFacInf=0.2, +(PID.TID 0000.0001) > hFacSup=2.0, +(PID.TID 0000.0001) > useRealFreshWaterFlux=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) > hFacMin=.1, +(PID.TID 0000.0001) > hFacMinDr=20., +(PID.TID 0000.0001) > readBinaryPrec=64, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=200, +(PID.TID 0000.0001) >#cg2dTargetResidual=1.E-9, +(PID.TID 0000.0001) > cg2dTargetResWunit=1.E-14, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0=72000, +(PID.TID 0000.0001) > nTimeSteps=5, +(PID.TID 0000.0001) > deltaTMom =1200., +(PID.TID 0000.0001) > deltaTtracer=86400., +(PID.TID 0000.0001) > deltaTFreeSurf=86400., +(PID.TID 0000.0001) > deltaTClock =86400., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > forcing_In_AB=.FALSE., +(PID.TID 0000.0001) > momDissip_In_AB=.FALSE., +(PID.TID 0000.0001) > pChkptFreq =311040000., +(PID.TID 0000.0001) > chkptFreq = 31104000., +(PID.TID 0000.0001) >#taveFreq =311040000., +(PID.TID 0000.0001) >#dumpFreq = 31104000., +(PID.TID 0000.0001) >#adjDumpFreq = 31104000., +(PID.TID 0000.0001) >#monitorFreq = 31104000., +(PID.TID 0000.0001) > periodicExternalForcing=.TRUE., +(PID.TID 0000.0001) > externForcingPeriod=2592000., +(PID.TID 0000.0001) > externForcingCycle=31104000., +(PID.TID 0000.0001) ># 2 months restoring timescale for temperature +(PID.TID 0000.0001) > tauThetaClimRelax = 5184000., +(PID.TID 0000.0001) ># 2yrs restoring timescale for salinity +(PID.TID 0000.0001) > tauSaltClimRelax = 62208000., +(PID.TID 0000.0001) > monitorFreq =1., +(PID.TID 0000.0001) > adjMonitorFreq=1., +(PID.TID 0000.0001) > dumpFreq = 432000., +(PID.TID 0000.0001) > adjDumpFreq = 432000., +(PID.TID 0000.0001) > pickupStrictlyMatch=.FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingCurvilinearGrid=.TRUE., +(PID.TID 0000.0001) > horizGridFile='grid_cs32', +(PID.TID 0000.0001) > delR= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile ='bathy_Hmin50.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_T_cs_15k.bin', +(PID.TID 0000.0001) > hydrogSaltFile ='lev_S_cs_15k.bin', +(PID.TID 0000.0001) > zonalWindFile ='trenberth_taux.bin', +(PID.TID 0000.0001) > meridWindFile ='trenberth_tauy.bin', +(PID.TID 0000.0001) > thetaClimFile ='lev_surfT_cs_12m.bin', +(PID.TID 0000.0001) > saltClimFile ='lev_surfS_cs_12m.bin', +(PID.TID 0000.0001) > surfQnetFile ='shiQnet_cs32.bin', +(PID.TID 0000.0001) > EmPmRFile ='shiEmPR_cs32.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useEXF = .FALSE., +(PID.TID 0000.0001) > useTHSICE = .FALSE., +(PID.TID 0000.0001) > useDiagnostics=.TRUE., +(PID.TID 0000.0001) >#useMNC=.TRUE., +(PID.TID 0000.0001) > useGrdchk=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/cal compiled but not used ( useCAL = F ) + pkg/exf compiled but not used ( useEXF = F ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/seaice compiled but not used ( useSEAICE = F ) + pkg/thsice compiled but not used ( useThSIce = F ) + pkg/diagnostics compiled and used ( useDiagnostics = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled and used ( +vectorInvariantMomentum = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/exch2 compiled and used + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .FALSE., +(PID.TID 0000.0001) > GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) > GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) > GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) > GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) > GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseDYNAMICSswitchInAd = /* switch On/Off SEAICE Dyn in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFREEDRIFTswitchInAd= /* switch On/Off Free-Drift in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEapproxLevInAd = /* -1:SEAICE_FAKE, >0:other adjoint approximation */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># not clear why I have to comment this out, but the reference results have no bounds applied +(PID.TID 0000.0001) >#xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(3) = 'xx_ptr1', +(PID.TID 0000.0001) > xx_genarr3d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(4) = 'xx_diffkr', +(PID.TID 0000.0001) > xx_genarr3d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,4) = 1.E-6,2.E-6,4.E-4,5.E-4,0., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) >#revert to default 1 month +(PID.TID 0000.0001) ># lastinterval=7776000., +(PID.TID 0000.0001) > mult_test=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-2, +(PID.TID 0000.0001) ># iglopos = 6, +(PID.TID 0000.0001) ># jglopos = 17, +(PID.TID 0000.0001) ># kglopos = 1, +(PID.TID 0000.0001) > nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) ># this is xx_theta +(PID.TID 0000.0001) >#grdchkvarindex = 1, +(PID.TID 0000.0001) > grdchkvarindex =201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-01 +(PID.TID 0000.0001) First location: 1 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: opening data.diagnostics +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.diagnostics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.diagnostics" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Diagnostic Package Choices +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># dumpAtLast (logical): always write output at the end of simulation (default=F) +(PID.TID 0000.0001) ># diag_mnc (logical): write to NetCDF files (default=useMNC) +(PID.TID 0000.0001) >#--for each output-stream: +(PID.TID 0000.0001) ># fileName(n) : prefix of the output file name (max 80c long) for outp.stream n +(PID.TID 0000.0001) ># frequency(n):< 0 : write snap-shot output every |frequency| seconds +(PID.TID 0000.0001) ># > 0 : write time-average output every frequency seconds +(PID.TID 0000.0001) ># timePhase(n) : write at time = timePhase + multiple of |frequency| +(PID.TID 0000.0001) ># averagingFreq : frequency (in s) for periodic averaging interval +(PID.TID 0000.0001) ># averagingPhase : phase (in s) for periodic averaging interval +(PID.TID 0000.0001) ># repeatCycle : number of averaging intervals in 1 cycle +(PID.TID 0000.0001) ># levels(:,n) : list of levels to write to file (Notes: declared as REAL) +(PID.TID 0000.0001) ># when this entry is missing, select all common levels of this list +(PID.TID 0000.0001) ># fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +(PID.TID 0000.0001) ># (see "available_diagnostics.log" file for the full list of diags) +(PID.TID 0000.0001) ># missing_value(n) : missing value for real-type fields in output file "n" +(PID.TID 0000.0001) ># fileFlags(n) : specific code (8c string) for output file "n" +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) > &DIAGNOSTICS_LIST +(PID.TID 0000.0001) ># diag_mnc = .FALSE., +(PID.TID 0000.0001) >#-- +(PID.TID 0000.0001) > fields(1:12,1) = 'ETAN ','ETANSQ ','DETADT2 ','PHIBOT ','PHIBOTSQ', +(PID.TID 0000.0001) > 'oceTAUX ','oceTAUY ','TFLUX ','SFLUX ','oceFreez', +(PID.TID 0000.0001) > 'TRELAX ','SRELAX ', +(PID.TID 0000.0001) > levels(1,1) = 1., +(PID.TID 0000.0001) > fileName(1) = 'surfDiag', +(PID.TID 0000.0001) > frequency(1) = 432000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > fields(1:9,2) = 'UVEL ','VVEL ','WVEL ','PHIHYD ', +(PID.TID 0000.0001) > 'VVELMASS','UVELMASS','WVELSQ ', +(PID.TID 0000.0001) > 'THETA ','SALT ', +(PID.TID 0000.0001) ># do not specify levels => all levels are selected +(PID.TID 0000.0001) > fileName(2) = 'dynDiag', +(PID.TID 0000.0001) > frequency(2) = 432000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># fields(1:6,3) = 'DRHODR ','RHOAnoma','CONVADJ ', +(PID.TID 0000.0001) ># 'GM_Kwx ','GM_Kwy ','GM_Kwz ', +(PID.TID 0000.0001) ># levels(1,3) = 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., +(PID.TID 0000.0001) ># fileName(3) = 'oceDiag', +(PID.TID 0000.0001) ># frequency(3) = 864000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > fields(1:5,3) = 'ADJuvel ','ADJvvel ','ADJwvel ', +(PID.TID 0000.0001) > 'ADJtheta','ADJsalt ', +(PID.TID 0000.0001) > fileName(3) = 'adjDiag', +(PID.TID 0000.0001) ># frequency(3) = 311040000., +(PID.TID 0000.0001) > frequency(3) = 432000., +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > fields(1:5,4) = 'ADJetan ','ADJqnet ','ADJempmr', +(PID.TID 0000.0001) > 'ADJtaux ','ADJtauy ', +(PID.TID 0000.0001) > fileName(4) = 'adjDiagSurf', +(PID.TID 0000.0001) ># frequency(4) = 311040000., +(PID.TID 0000.0001) > frequency(4) = 432000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># Parameter for Diagnostics of per level statistics: +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) ># diagSt_mnc (logical): write stat-diags to NetCDF files (default=diag_mnc) +(PID.TID 0000.0001) ># diagSt_regMaskFile : file containing the region-mask to read-in +(PID.TID 0000.0001) ># nSetRegMskFile : number of region-mask sets within the region-mask file +(PID.TID 0000.0001) ># set_regMask(i) : region-mask set-index that identifies the region "i" +(PID.TID 0000.0001) ># val_regMask(i) : region "i" identifier value in the region mask +(PID.TID 0000.0001) >#--for each output-stream: +(PID.TID 0000.0001) ># stat_fName(n) : prefix of the output file name (max 80c long) for outp.stream n +(PID.TID 0000.0001) ># stat_freq(n):< 0 : write snap-shot output every |stat_freq| seconds +(PID.TID 0000.0001) ># > 0 : write time-average output every stat_freq seconds +(PID.TID 0000.0001) ># stat_phase(n) : write at time = stat_phase + multiple of |stat_freq| +(PID.TID 0000.0001) ># stat_region(:,n) : list of "regions" (default: 1 region only=global) +(PID.TID 0000.0001) ># stat_fields(:,n) : list of selected diagnostics fields (8.c) in outp.stream n +(PID.TID 0000.0001) ># (see "available_diagnostics.log" file for the full list of diags) +(PID.TID 0000.0001) >#-------------------- +(PID.TID 0000.0001) > &DIAG_STATIS_PARMS +(PID.TID 0000.0001) ># an example just to check the agreement with MONITOR output: +(PID.TID 0000.0001) > stat_fields(1:5,1) = 'ETAN ','UVEL ','VVEL ','WVEL ', 'THETA ', +(PID.TID 0000.0001) > stat_fName(1) = 'dynStDiag', +(PID.TID 0000.0001) > stat_freq(1) = -172800., +(PID.TID 0000.0001) > stat_phase(1) = 0., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "diagnostics_list": start +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "diagnostics_list": OK +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "DIAG_STATIS_PARMS": start +(PID.TID 0000.0001) S/R DIAGNOSTICS_READPARMS, read namelist "DIAG_STATIS_PARMS": OK +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: global parameter summary: +(PID.TID 0000.0001) dumpAtLast = /* always write time-ave diags at the end */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diag_mnc = /* write NetCDF output files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMissingValue = /* put MissingValue where mask = 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_maxIters = /* max number of iters in diag_cg2d */ +(PID.TID 0000.0001) 200 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_resTarget = /* residual target for diag_cg2d */ +(PID.TID 0000.0001) 1.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diagCG_pcOffDFac = /* preconditioner off-diagonal factor */ +(PID.TID 0000.0001) 9.611687812379854E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: active diagnostics summary: +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) Creating Output Stream: surfDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: 1. +(PID.TID 0000.0001) Fields: ETAN ETANSQ DETADT2 PHIBOT PHIBOTSQ oceTAUX oceTAUY TFLUX SFLUX oceFreez +(PID.TID 0000.0001) Fields: TRELAX SRELAX +(PID.TID 0000.0001) Creating Output Stream: dynDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: UVEL VVEL WVEL PHIHYD VVELMASS UVELMASS WVELSQ THETA SALT +(PID.TID 0000.0001) Creating Output Stream: adjDiag +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: ADJuvel ADJvvel ADJwvel ADJtheta ADJsalt +(PID.TID 0000.0001) Creating Output Stream: adjDiagSurf +(PID.TID 0000.0001) Output Frequency: 432000.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Averaging Freq.: 432000.000000 , Phase: 0.000000 , Cycle: 1 +(PID.TID 0000.0001) missing value: -9.990000000000E+02 +(PID.TID 0000.0001) Levels: will be set later +(PID.TID 0000.0001) Fields: ADJetan ADJqnet ADJempmr ADJtaux ADJtauy +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) DIAGNOSTICS_READPARMS: statistics diags. summary: +(PID.TID 0000.0001) Creating Stats. Output Stream: dynStDiag +(PID.TID 0000.0001) Output Frequency: -172800.000000 ; Phase: 0.000000 +(PID.TID 0000.0001) Regions: 0 +(PID.TID 0000.0001) Fields: ETAN UVEL VVEL WVEL THETA +(PID.TID 0000.0001) ----------------------------------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) tile: 1 ; Read from file grid_cs32.face001.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 2 ; Read from file grid_cs32.face001.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 3 ; Read from file grid_cs32.face002.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 4 ; Read from file grid_cs32.face002.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 5 ; Read from file grid_cs32.face003.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 6 ; Read from file grid_cs32.face003.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 7 ; Read from file grid_cs32.face004.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 8 ; Read from file grid_cs32.face004.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 9 ; Read from file grid_cs32.face005.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 10 ; Read from file grid_cs32.face005.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 11 ; Read from file grid_cs32.face006.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) tile: 12 ; Read from file grid_cs32.face006.bin +(PID.TID 0000.0001) => xC yC dxF dyF rA xG yG dxV dyU rAz dxC dyC rAw rAs dxG dyG AngleCS AngleSN +(PID.TID 0000.0001) %MON XC_max = 1.7854351589505E+02 +(PID.TID 0000.0001) %MON XC_min = -1.7854351589505E+02 +(PID.TID 0000.0001) %MON XC_mean = -1.4199289892029E-14 +(PID.TID 0000.0001) %MON XC_sd = 1.0355545336287E+02 +(PID.TID 0000.0001) %MON XG_max = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XG_min = -1.7708797161002E+02 +(PID.TID 0000.0001) %MON XG_mean = 1.8603515625000E+00 +(PID.TID 0000.0001) %MON XG_sd = 1.0357130300504E+02 +(PID.TID 0000.0001) %MON DXC_max = 3.2375185836900E+05 +(PID.TID 0000.0001) %MON DXC_min = 1.1142031410131E+05 +(PID.TID 0000.0001) %MON DXC_mean = 2.8605689051214E+05 +(PID.TID 0000.0001) %MON DXC_sd = 3.4042087138252E+04 +(PID.TID 0000.0001) %MON DXF_max = 3.2369947500827E+05 +(PID.TID 0000.0001) %MON DXF_min = 1.2020820513318E+05 +(PID.TID 0000.0001) %MON DXF_mean = 2.8605437324820E+05 +(PID.TID 0000.0001) %MON DXF_sd = 3.4050524252539E+04 +(PID.TID 0000.0001) %MON DXG_max = 3.2375195872773E+05 +(PID.TID 0000.0001) %MON DXG_min = 1.0098378008791E+05 +(PID.TID 0000.0001) %MON DXG_mean = 2.8603818508931E+05 +(PID.TID 0000.0001) %MON DXG_sd = 3.4140406908005E+04 +(PID.TID 0000.0001) %MON DXV_max = 3.2380418162750E+05 +(PID.TID 0000.0001) %MON DXV_min = 8.0152299824136E+04 +(PID.TID 0000.0001) %MON DXV_mean = 2.8603970633619E+05 +(PID.TID 0000.0001) %MON DXV_sd = 3.4145142117723E+04 +(PID.TID 0000.0001) %MON YC_max = 8.7940663871962E+01 +(PID.TID 0000.0001) %MON YC_min = -8.7940663871962E+01 +(PID.TID 0000.0001) %MON YC_mean = -2.3684757858670E-15 +(PID.TID 0000.0001) %MON YC_sd = 3.8676242969072E+01 +(PID.TID 0000.0001) %MON YG_max = 9.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = -9.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -4.1448326252673E-15 +(PID.TID 0000.0001) %MON YG_sd = 3.8676895860710E+01 +(PID.TID 0000.0001) %MON DYC_max = 3.2375185836900E+05 +(PID.TID 0000.0001) %MON DYC_min = 1.1142031410131E+05 +(PID.TID 0000.0001) %MON DYC_mean = 2.8605689051214E+05 +(PID.TID 0000.0001) %MON DYC_sd = 3.4042087138252E+04 +(PID.TID 0000.0001) %MON DYF_max = 3.2369947500827E+05 +(PID.TID 0000.0001) %MON DYF_min = 1.2020820513318E+05 +(PID.TID 0000.0001) %MON DYF_mean = 2.8605437324820E+05 +(PID.TID 0000.0001) %MON DYF_sd = 3.4050524252539E+04 +(PID.TID 0000.0001) %MON DYG_max = 3.2375195872773E+05 +(PID.TID 0000.0001) %MON DYG_min = 1.0098378008791E+05 +(PID.TID 0000.0001) %MON DYG_mean = 2.8603818508931E+05 +(PID.TID 0000.0001) %MON DYG_sd = 3.4140406908005E+04 +(PID.TID 0000.0001) %MON DYU_max = 3.2380418162750E+05 +(PID.TID 0000.0001) %MON DYU_min = 8.0152299824136E+04 +(PID.TID 0000.0001) %MON DYU_mean = 2.8603970633619E+05 +(PID.TID 0000.0001) %MON DYU_sd = 3.4145142117723E+04 +(PID.TID 0000.0001) %MON RA_max = 1.0479260248419E+11 +(PID.TID 0000.0001) %MON RA_min = 1.4019007022556E+10 +(PID.TID 0000.0001) %MON RA_mean = 8.2992246709265E+10 +(PID.TID 0000.0001) %MON RA_sd = 1.7509089299457E+10 +(PID.TID 0000.0001) %MON RAW_max = 1.0480965274559E+11 +(PID.TID 0000.0001) %MON RAW_min = 1.2166903467143E+10 +(PID.TID 0000.0001) %MON RAW_mean = 8.2992246709235E+10 +(PID.TID 0000.0001) %MON RAW_sd = 1.7481917919656E+10 +(PID.TID 0000.0001) %MON RAS_max = 1.0480965274559E+11 +(PID.TID 0000.0001) %MON RAS_min = 1.2166903467143E+10 +(PID.TID 0000.0001) %MON RAS_mean = 8.2992246709235E+10 +(PID.TID 0000.0001) %MON RAS_sd = 1.7481917919656E+10 +(PID.TID 0000.0001) %MON RAZ_max = 1.0484349334619E+11 +(PID.TID 0000.0001) %MON RAZ_min = 8.8317900612505E+09 +(PID.TID 0000.0001) %MON RAZ_mean = 8.2992246709235E+10 +(PID.TID 0000.0001) %MON RAZ_sd = 1.7482297311044E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 9.9999994756719E-01 +(PID.TID 0000.0001) %MON AngleCS_min = -9.9968286884824E-01 +(PID.TID 0000.0001) %MON AngleCS_mean = 3.3078922539000E-01 +(PID.TID 0000.0001) %MON AngleCS_sd = 6.2496278958502E-01 +(PID.TID 0000.0001) %MON AngleSN_max = 9.9968286884824E-01 +(PID.TID 0000.0001) %MON AngleSN_min = -9.9999994756719E-01 +(PID.TID 0000.0001) %MON AngleSN_mean = -3.3078922539000E-01 +(PID.TID 0000.0001) %MON AngleSN_sd = 6.2496278958502E-01 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 2 0 2 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 239366 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 389 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 367 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 384 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 5204 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 10408 +(PID.TID 0000.0001) ctrl-wet 8: atmos 10408 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 239366 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 4420 4232 4206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 4299 4112 4096 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 4222 4038 4023 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 4140 3960 3939 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 4099 3919 3893 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 4038 3856 3839 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 3995 3814 3795 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 3944 3756 3737 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 3887 3699 3673 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 3799 3605 3585 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 3703 3502 3461 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 3554 3338 3303 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 3202 2910 2911 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 2599 2296 2276 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 1621 1368 1334 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 8 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 239366 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 7680 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 005204 005084 004791 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 003115 002837 002945 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0003 0001 005620 005386 005384 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0004 0001 002470 002283 001983 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0005 0001 001306 000952 000953 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0006 0001 003476 003122 003082 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0007 0001 005619 005222 005403 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0008 0001 007482 007397 007429 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0009 0001 005900 005825 005686 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0010 0001 003678 003307 003317 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0011 0001 006008 005782 005796 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0012 0001 005644 005208 005302 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 3 is in use +(PID.TID 0000.0001) file = xx_ptr1 +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0203 +(PID.TID 0000.0001) ncvarindex = 0303 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 4 is in use +(PID.TID 0000.0001) file = xx_diffkr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0204 +(PID.TID 0000.0001) ncvarindex = 0304 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGNOSTICS_SET_LEVELS: done +(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 218 +(PID.TID 0000.0001) write list of available Diagnostics to file: available_diagnostics.log +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 23 ETAN +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 24 ETANSQ +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 25 DETADT2 +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 73 PHIBOT +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 74 PHIBOTSQ +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 80 oceTAUX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 81 oceTAUY +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 93 TFLUX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 94 SFLUX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 88 oceFreez +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 89 TRELAX +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 90 SRELAX +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 30 UVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 31 VVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 32 WVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 71 PHIHYD +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 46 VVELMASS +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 45 UVELMASS +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 38 WVELSQ +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 26 THETA +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 27 SALT +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 114 ADJuvel +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 115 ADJvvel +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 116 ADJwvel +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 117 ADJtheta +(PID.TID 0000.0001) SETDIAG: Allocate 15 x 1 Levels for Diagnostic # 118 ADJsalt +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 113 ADJetan +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 122 ADJqnet +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 121 ADJempmr +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 119 ADJtaux +(PID.TID 0000.0001) SETDIAG: Allocate 1 x 1 Levels for Diagnostic # 120 ADJtauy +(PID.TID 0000.0001) space allocated for all diagnostics: 227 levels +(PID.TID 0000.0001) set mate pointer for diag # 80 oceTAUX , Parms: UU U1 , mate: 81 +(PID.TID 0000.0001) set mate pointer for diag # 81 oceTAUY , Parms: VV U1 , mate: 80 +(PID.TID 0000.0001) set mate pointer for diag # 30 UVEL , Parms: UUR MR , mate: 31 +(PID.TID 0000.0001) set mate pointer for diag # 31 VVEL , Parms: VVR MR , mate: 30 +(PID.TID 0000.0001) set mate pointer for diag # 46 VVELMASS , Parms: VVr MR , mate: 45 +(PID.TID 0000.0001) set mate pointer for diag # 45 UVELMASS , Parms: UUr MR , mate: 46 +(PID.TID 0000.0001) set mate pointer for diag # 114 ADJuvel , Parms: UURA MR , mate: 115 +(PID.TID 0000.0001) set mate pointer for diag # 115 ADJvvel , Parms: VVRA MR , mate: 114 +(PID.TID 0000.0001) set mate pointer for diag # 119 ADJtaux , Parms: UU A U1 , mate: 120 +(PID.TID 0000.0001) set mate pointer for diag # 120 ADJtauy , Parms: VV A U1 , mate: 119 +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: dynDiag +(PID.TID 0000.0001) Levels: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: adjDiag +(PID.TID 0000.0001) Levels: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: Set levels for Outp.Stream: adjDiagSurf +(PID.TID 0000.0001) Levels: 1. +(PID.TID 0000.0001) DIAGNOSTICS_SET_POINTERS: done +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGSTATS_SET_REGIONS: define 0 regions: +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) SETDIAG: Allocate 1 Levels for Stats-Diag # 23 ETAN +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 30 UVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 31 VVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 32 WVEL +(PID.TID 0000.0001) SETDIAG: Allocate 15 Levels for Stats-Diag # 26 THETA +(PID.TID 0000.0001) space allocated for all stats-diags: 61 levels +(PID.TID 0000.0001) DIAGSTATS_SET_POINTERS: done +(PID.TID 0000.0001) ------------------------------------------------------------ +(PID.TID 0000.0001) DIAGSTATS_INI_IO: open file: dynStDiag.0000072000.txt , unit= 9 +(PID.TID 0000.0001) INI_GLOBAL_DOMAIN: Found 19 CS-corner Pts in the domain +(PID.TID 0000.0001) %MON fCori_max = 1.4574827780704E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4574827780704E-04 +(PID.TID 0000.0001) %MON fCori_mean = 3.3881317890172E-21 +(PID.TID 0000.0001) %MON fCori_sd = 8.4202189509968E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4584247033981E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4584247033981E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -1.6940658945086E-20 +(PID.TID 0000.0001) %MON fCoriG_sd = 8.4202189509968E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4580166994612E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 5.2407700865903E-06 +(PID.TID 0000.0001) %MON fCoriCos_mean = 1.1514045869113E-04 +(PID.TID 0000.0001) %MON fCoriCos_sd = 3.0375849106513E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 1.9156564154949553E-04 +(PID.TID 0000.0001) INI_CG2D: cg2dTolerance = 5.809016360175296E-07 (Area=3.6388673751E+14) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 3.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 2.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : hFac weighted average (Angular Mom. conserving) +(PID.TID 0000.0001) = 3 : energy conserving scheme using hFac weighted average +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useAbsVorticity= /* V.I Works with f+zeta in Coriolis */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectVortScheme= /* V.I Scheme selector for Vorticity-Term */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) = 0 : enstrophy (Shallow-Water Eq.) conserving scheme by Sadourny, JAS 75 +(PID.TID 0000.0001) = 1 : same as 0 with modified hFac +(PID.TID 0000.0001) = 2 : energy conserving scheme (used by Sadourny in JAS 75 paper) +(PID.TID 0000.0001) = 3 : energy (general) and enstrophy (2D, nonDiv.) conserving scheme +(PID.TID 0000.0001) from Sadourny (Burridge & Haseler, ECMWF Rep.4, 1977) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useJamartMomAdv= /* V.I Non-linear terms Jamart flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindVorticity= /* V.I Upwind bias vorticity flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) highOrderVorticity= /* V.I High order vort. advect. flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindShear= /* V.I Upwind vertical Shear advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectKEscheme= /* V.I Kinetic Energy scheme selector */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balanceQnet = /* balance net heat-flux on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balanceThetaClimRelax= /* balance SST relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBalanceEmPmR = /* balancing glob.mean EmPmR selector */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balanceSaltClimRelax= /* balance SSS relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 64 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) balancePrintMean = /* print means for balancing fluxes */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 200 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) 1.000000000000000E-14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 8.640000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) alph_AB = /* Adams-Bashforth-3 primary factor */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta_AB = /* Adams-Bashforth-3 secondary factor */ +(PID.TID 0000.0001) 4.166666666666667E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startFromPickupAB2= /* start from AB-2 pickup */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 72000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 5 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 72005 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 6.220800000000000E+09 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 6.221232000000000E+09 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 4.320000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 6.220800000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) radius_fromHorizGrid = /* sphere Radius of input horiz. grid */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -4.439521994760536E+01, /* I = 1 */ +(PID.TID 0000.0001) -4.295641272275883E+01, /* I = 2 */ +(PID.TID 0000.0001) -4.122055553388957E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.312205555338896E+02, /* I = 94 */ +(PID.TID 0000.0001) 1.329564127227588E+02, /* I = 95 */ +(PID.TID 0000.0001) 1.343952199476053E+02, /* I = 96 */ +(PID.TID 0000.0001) 4.635509675007168E+01, /* I = 97 */ +(PID.TID 0000.0001) 4.906731228843647E+01, /* I = 98 */ +(PID.TID 0000.0001) 5.178550688214704E+01, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -1.778001716525716E+02, /* I =190 */ +(PID.TID 0000.0001) -1.779288225675308E+02, /* I =191 */ +(PID.TID 0000.0001) -1.780367200854751E+02, /* I =192 */ +(PID.TID 0000.0001) 1.356047800523947E+02, /* I =193 */ +(PID.TID 0000.0001) 1.358367907661329E+02, /* I =194 */ +(PID.TID 0000.0001) 1.359720382181193E+02, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -1.340279617818807E+02, /* I =286 */ +(PID.TID 0000.0001) -1.341632092338671E+02, /* I =287 */ +(PID.TID 0000.0001) -1.343952199476053E+02, /* I =288 */ +(PID.TID 0000.0001) -8.812739148696656E+01, /* I =289 */ +(PID.TID 0000.0001) -8.820362659721324E+01, /* I =290 */ +(PID.TID 0000.0001) -8.826768106944316E+01, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.780017165257156E+01, /* I =382 */ +(PID.TID 0000.0001) 8.792882256753080E+01, /* I =383 */ +(PID.TID 0000.0001) 8.803672008547504E+01 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -3.497677942598243E+01, /* J = 1 */ +(PID.TID 0000.0001) -3.374005967394886E+01, /* J = 2 */ +(PID.TID 0000.0001) -3.220655175667454E+01, /* J = 3 */ +(PID.TID 0000.0001) -3.045756348838641E+01, /* J = 4 */ +(PID.TID 0000.0001) -2.853728129852918E+01, /* J = 5 */ +(PID.TID 0000.0001) -2.647426640173173E+01, /* J = 6 */ +(PID.TID 0000.0001) -2.428936657094636E+01, /* J = 7 */ +(PID.TID 0000.0001) -2.199915808312262E+01, /* J = 8 */ +(PID.TID 0000.0001) -1.961768597440146E+01, /* J = 9 */ +(PID.TID 0000.0001) -1.715743888281371E+01, /* J = 10 */ +(PID.TID 0000.0001) -1.462993396899330E+01, /* J = 11 */ +(PID.TID 0000.0001) -1.204608340464756E+01, /* J = 12 */ +(PID.TID 0000.0001) -9.416429130284818E+00, /* J = 13 */ +(PID.TID 0000.0001) -6.751293662992216E+00, /* J = 14 */ +(PID.TID 0000.0001) -4.060875511835959E+00, /* J = 15 */ +(PID.TID 0000.0001) -1.355307764409121E+00 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.835530058121492E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.835530058121492E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.012844832048790E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.026061571839506E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026061571839506E+05, /* I =190 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I =191 */ +(PID.TID 0000.0001) 3.012844832048790E+05, /* I =192 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =193 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I =194 */ +(PID.TID 0000.0001) 1.835530058121492E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.835530058121492E+05, /* I =286 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* I =287 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =288 */ +(PID.TID 0000.0001) 3.012844832048790E+05, /* I =289 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I =290 */ +(PID.TID 0000.0001) 3.026061571839506E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026061571839506E+05, /* I =382 */ +(PID.TID 0000.0001) 3.017314519159184E+05, /* I =383 */ +(PID.TID 0000.0001) 3.012844832048790E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.840412227747703E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.048868197919576E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.220405216043041E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.365892017348392E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.491250781852558E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.599949918261881E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.694110134598581E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.775055554645015E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.843615645344775E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.900303768613599E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.945429307892709E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.979171143158405E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.001626787528886E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.012844832048790E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.840412227747703E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.840412227747703E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.012190981969055E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.025451404065074E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.025451404065074E+05, /* I =190 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I =191 */ +(PID.TID 0000.0001) 3.012190981969055E+05, /* I =192 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =193 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I =194 */ +(PID.TID 0000.0001) 1.840412227747703E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.840412227747703E+05, /* I =286 */ +(PID.TID 0000.0001) 1.572908084538706E+05, /* I =287 */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* I =288 */ +(PID.TID 0000.0001) 3.012190981969055E+05, /* I =289 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I =290 */ +(PID.TID 0000.0001) 3.025451404065074E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.025451404065074E+05, /* I =382 */ +(PID.TID 0000.0001) 3.016675528553907E+05, /* I =383 */ +(PID.TID 0000.0001) 3.012190981969055E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.202082051331828E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.563594089971120E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.835530058121492E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.045883481718707E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.218350349844185E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.364352994647058E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.490022710862746E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.598919724358304E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.693210245495156E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.774243179696503E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.842862532064524E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.899590699694043E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.944742915095688E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.978501920522794E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.000967749619962E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.012190981969055E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.823321598773926E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.823321598773926E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.014246674484008E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.027399364062562E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.027399364062562E+05, /* I =190 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I =191 */ +(PID.TID 0000.0001) 3.014246674484008E+05, /* I =192 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I =193 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I =194 */ +(PID.TID 0000.0001) 1.823321598773926E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.823321598773926E+05, /* I =286 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* I =287 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I =288 */ +(PID.TID 0000.0001) 3.014246674484008E+05, /* I =289 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I =290 */ +(PID.TID 0000.0001) 3.027399364062562E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.027399364062562E+05, /* I =382 */ +(PID.TID 0000.0001) 3.018694497480782E+05, /* I =383 */ +(PID.TID 0000.0001) 3.014246674484008E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.950254041626018E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.138410773065497E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.295958105911512E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.430829951739083E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.547526806712889E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.648750305193301E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.736173771018112E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.810845823202647E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.873420591008078E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.924298293668651E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.963715635865306E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.991805843171258E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.008638765647886E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.950254041626018E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.011625828699101E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.013880313304323E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031337933484788E+05, /* I =190 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I =191 */ +(PID.TID 0000.0001) 3.013880313304323E+05, /* I =192 */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* I =193 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I =194 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.950254041626018E+05, /* I =286 */ +(PID.TID 0000.0001) 1.716197227386011E+05, /* I =287 */ +(PID.TID 0000.0001) 1.403701524205398E+05, /* I =288 */ +(PID.TID 0000.0001) 3.011625828699101E+05, /* I =289 */ +(PID.TID 0000.0001) 3.013880313304323E+05, /* I =290 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031337933484788E+05, /* I =382 */ +(PID.TID 0000.0001) 3.020546438966793E+05, /* I =383 */ +(PID.TID 0000.0001) 3.013880313304323E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.009837800879055E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.534505834330338E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.823321598773926E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.038999045536999E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.213884732245467E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.361211699596122E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.487693460283865E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.597126963772147E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.691790288994575E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.773091043277394E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.841906470085516E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.898778860929753E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.944035815526416E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.977867909042096E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.000380090330854E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.011625828699101E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.946503699269892E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.012281885409289E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.014528555318499E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031928954490276E+05, /* I =190 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I =191 */ +(PID.TID 0000.0001) 3.014528555318499E+05, /* I =192 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I =193 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I =194 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.946503699269892E+05, /* I =286 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* I =287 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* I =288 */ +(PID.TID 0000.0001) 3.012281885409289E+05, /* I =289 */ +(PID.TID 0000.0001) 3.014528555318499E+05, /* I =290 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.031928954490276E+05, /* I =382 */ +(PID.TID 0000.0001) 3.021172674809921E+05, /* I =383 */ +(PID.TID 0000.0001) 3.014528555318499E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.829777599966776E+05, /* J = 3 */ +(PID.TID 0000.0001) 2.042717761866506E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.216367828252819E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.363029564123586E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.489113743322025E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.598293319150326E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.692787333338535E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.773972106720365E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.842706922224557E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.899523122489403E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.944741346384699E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.978547649292580E+05, /* J = 14 */ +(PID.TID 0000.0001) 3.001044073506459E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.012281885409289E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I = 1 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.829777599966776E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.829777599966776E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.013593857228136E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.026789946729719E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026789946729719E+05, /* I =190 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I =191 */ +(PID.TID 0000.0001) 3.013593857228136E+05, /* I =192 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I =193 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I =194 */ +(PID.TID 0000.0001) 1.829777599966776E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.829777599966776E+05, /* I =286 */ +(PID.TID 0000.0001) 1.549545757850771E+05, /* I =287 */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* I =288 */ +(PID.TID 0000.0001) 3.013593857228136E+05, /* I =289 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I =290 */ +(PID.TID 0000.0001) 3.026789946729719E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.026789946729719E+05, /* I =382 */ +(PID.TID 0000.0001) 3.018056440786431E+05, /* I =383 */ +(PID.TID 0000.0001) 3.013593857228136E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.114203141013064E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.391343389937106E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.709574999026266E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.946503699269892E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.135964483342134E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.294195678257306E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.429464709770498E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.546408290696998E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.647791839299727E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.735321911346108E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.810065951609633E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.872689479506990E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.923599955312932E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.963038832565530E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.991142470004740E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.007982711627968E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I = 1 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.937548202849060E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.013686170436881E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.015922136961168E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.033238888442880E+05, /* I =190 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I =191 */ +(PID.TID 0000.0001) 3.015922136961168E+05, /* I =192 */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I =193 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I =194 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.937548202849060E+05, /* I =286 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* I =287 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* I =288 */ +(PID.TID 0000.0001) 3.013686170436881E+05, /* I =289 */ +(PID.TID 0000.0001) 3.015922136961168E+05, /* I =290 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.033238888442880E+05, /* I =382 */ +(PID.TID 0000.0001) 3.022533948177109E+05, /* I =383 */ +(PID.TID 0000.0001) 3.015922136961168E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.942331448101592E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.133486626971531E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.292584591272880E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.428369969078989E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.545652950875683E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.647274964828301E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.734980225206389E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.809856491525217E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.872580915202295E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.923567890694162E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.963063101754721E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.991205495886625E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.008068453676764E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I = 1 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I = 2 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.942331448101592E+05, /* I = 94 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I = 95 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I = 96 */ +(PID.TID 0000.0001) 3.013031486919771E+05, /* I = 97 */ +(PID.TID 0000.0001) 3.015274890091515E+05, /* I = 98 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.032648502024415E+05, /* I =190 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I =191 */ +(PID.TID 0000.0001) 3.015274890091515E+05, /* I =192 */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* I =193 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I =194 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.942331448101592E+05, /* I =286 */ +(PID.TID 0000.0001) 1.701080315742101E+05, /* I =287 */ +(PID.TID 0000.0001) 1.362652340208229E+05, /* I =288 */ +(PID.TID 0000.0001) 3.013031486919771E+05, /* I =289 */ +(PID.TID 0000.0001) 3.015274890091515E+05, /* I =290 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.032648502024415E+05, /* I =382 */ +(PID.TID 0000.0001) 3.021908563699420E+05, /* I =383 */ +(PID.TID 0000.0001) 3.015274890091515E+05 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 8.015229982413632E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.333130744933864E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.691744868129062E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.937548202849060E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.130490056267208E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.290479919481738E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.426774358027003E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.544372984215561E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.646201463834826E+05, /* J = 9 */ +(PID.TID 0000.0001) 2.734046499619031E+05, /* J = 10 */ +(PID.TID 0000.0001) 2.809019351693761E+05, /* J = 11 */ +(PID.TID 0000.0001) 2.871811105274442E+05, /* J = 12 */ +(PID.TID 0000.0001) 2.922844849381675E+05, /* J = 13 */ +(PID.TID 0000.0001) 2.962371870847826E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.990534755671296E+05, /* J = 15 */ +(PID.TID 0000.0001) 3.007409169495504E+05 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.401900702255611E+10, /* I = 1 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I = 2 */ +(PID.TID 0000.0001) 3.378518544307869E+10, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.378518544304265E+10, /* I = 94 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I = 95 */ +(PID.TID 0000.0001) 1.401900702259215E+10, /* I = 96 */ +(PID.TID 0000.0001) 9.076111290422060E+10, /* I = 97 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I = 98 */ +(PID.TID 0000.0001) 9.156064070993231E+10, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.156064070993231E+10, /* I =190 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I =191 */ +(PID.TID 0000.0001) 9.076111290418457E+10, /* I =192 */ +(PID.TID 0000.0001) 1.401900702255611E+10, /* I =193 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I =194 */ +(PID.TID 0000.0001) 3.378518544307869E+10, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.378518544304265E+10, /* I =286 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* I =287 */ +(PID.TID 0000.0001) 1.401900702259215E+10, /* I =288 */ +(PID.TID 0000.0001) 9.076111290422060E+10, /* I =289 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I =290 */ +(PID.TID 0000.0001) 9.156064070993231E+10, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.156064070993231E+10, /* I =382 */ +(PID.TID 0000.0001) 9.103111035233499E+10, /* I =383 */ +(PID.TID 0000.0001) 9.076111290418457E+10 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.401900702255611E+10, /* J = 1 */ +(PID.TID 0000.0001) 2.459906945574446E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.378518544307869E+10, /* J = 3 */ +(PID.TID 0000.0001) 4.192037169898667E+10, /* J = 4 */ +(PID.TID 0000.0001) 4.925938996118163E+10, /* J = 5 */ +(PID.TID 0000.0001) 5.594154126607553E+10, /* J = 6 */ +(PID.TID 0000.0001) 6.203683527776127E+10, /* J = 7 */ +(PID.TID 0000.0001) 6.757541173817516E+10, /* J = 8 */ +(PID.TID 0000.0001) 7.256353271748119E+10, /* J = 9 */ +(PID.TID 0000.0001) 7.699293007098555E+10, /* J = 10 */ +(PID.TID 0000.0001) 8.084683449728902E+10, /* J = 11 */ +(PID.TID 0000.0001) 8.410423102799828E+10, /* J = 12 */ +(PID.TID 0000.0001) 8.674306976737517E+10, /* J = 13 */ +(PID.TID 0000.0001) 8.874277443041928E+10, /* J = 14 */ +(PID.TID 0000.0001) 9.008620045350865E+10, /* J = 15 */ +(PID.TID 0000.0001) 9.076111290418457E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I = 1 */ +(PID.TID 0000.0001) 1.974052138506315E+10, /* I = 2 */ +(PID.TID 0000.0001) 2.943712825252015E+10, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.801790263325260E+10, /* I = 94 */ +(PID.TID 0000.0001) 2.943712825251114E+10, /* I = 95 */ +(PID.TID 0000.0001) 1.974052138509018E+10, /* I = 96 */ +(PID.TID 0000.0001) 9.071447638299399E+10, /* I = 97 */ +(PID.TID 0000.0001) 9.085012105610597E+10, /* I = 98 */ +(PID.TID 0000.0001) 9.125179254955583E+10, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.190392048045309E+10, /* I =190 */ +(PID.TID 0000.0001) 9.125179254954683E+10, /* I =191 */ +(PID.TID 0000.0001) 9.085012105606993E+10, /* I =192 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I =193 */ +(PID.TID 0000.0001) 1.974052138506315E+10, /* I =194 */ +(PID.TID 0000.0001) 2.943712825252015E+10, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.801790263325260E+10, /* I =286 */ +(PID.TID 0000.0001) 2.943712825251114E+10, /* I =287 */ +(PID.TID 0000.0001) 1.974052138509018E+10, /* I =288 */ +(PID.TID 0000.0001) 9.071447638299399E+10, /* I =289 */ +(PID.TID 0000.0001) 9.085012105610597E+10, /* I =290 */ +(PID.TID 0000.0001) 9.125179254955583E+10, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.190392048045309E+10, /* I =382 */ +(PID.TID 0000.0001) 9.125179254954683E+10, /* I =383 */ +(PID.TID 0000.0001) 9.085012105606993E+10 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* J = 1 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.341968103208270E+10, /* J = 3 */ +(PID.TID 0000.0001) 4.168532893152940E+10, /* J = 4 */ +(PID.TID 0000.0001) 4.909074590409593E+10, /* J = 5 */ +(PID.TID 0000.0001) 5.581203765722643E+10, /* J = 6 */ +(PID.TID 0000.0001) 6.193257577506788E+10, /* J = 7 */ +(PID.TID 0000.0001) 6.748840226738273E+10, /* J = 8 */ +(PID.TID 0000.0001) 7.248875782324815E+10, /* J = 9 */ +(PID.TID 0000.0001) 7.692702995909871E+10, /* J = 10 */ +(PID.TID 0000.0001) 8.078743937057304E+10, /* J = 11 */ +(PID.TID 0000.0001) 8.404959656062837E+10, /* J = 12 */ +(PID.TID 0000.0001) 8.669186205742538E+10, /* J = 13 */ +(PID.TID 0000.0001) 8.869393350723613E+10, /* J = 14 */ +(PID.TID 0000.0001) 9.003884657168852E+10, /* J = 15 */ +(PID.TID 0000.0001) 9.071447638299399E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I = 1 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I = 2 */ +(PID.TID 0000.0001) 3.341968103208270E+10, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.341968103208270E+10, /* I = 94 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I = 95 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I = 96 */ +(PID.TID 0000.0001) 9.083293515008307E+10, /* I = 97 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I = 98 */ +(PID.TID 0000.0001) 9.162886297688426E+10, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.162886297688426E+10, /* I =190 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I =191 */ +(PID.TID 0000.0001) 9.083293515008307E+10, /* I =192 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I =193 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I =194 */ +(PID.TID 0000.0001) 3.341968103208270E+10, /* I =195 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.341968103208270E+10, /* I =286 */ +(PID.TID 0000.0001) 2.390126200743558E+10, /* I =287 */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* I =288 */ +(PID.TID 0000.0001) 9.083293515008307E+10, /* I =289 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I =290 */ +(PID.TID 0000.0001) 9.162886297688426E+10, /* I =291 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.162886297688426E+10, /* I =382 */ +(PID.TID 0000.0001) 9.110170898494536E+10, /* I =383 */ +(PID.TID 0000.0001) 9.083293515008307E+10 /* I =384 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 1.216690346714270E+10, /* J = 1 */ +(PID.TID 0000.0001) 1.974052138506315E+10, /* J = 2 */ +(PID.TID 0000.0001) 2.943712825252015E+10, /* J = 3 */ +(PID.TID 0000.0001) 3.801790263324359E+10, /* J = 4 */ +(PID.TID 0000.0001) 4.571243814189866E+10, /* J = 5 */ +(PID.TID 0000.0001) 5.269930713599979E+10, /* J = 6 */ +(PID.TID 0000.0001) 5.907428494299063E+10, /* J = 7 */ +(PID.TID 0000.0001) 6.488320895111514E+10, /* J = 8 */ +(PID.TID 0000.0001) 7.014205907741882E+10, /* J = 9 */ +(PID.TID 0000.0001) 7.484854821847499E+10, /* J = 10 */ +(PID.TID 0000.0001) 7.898934631431560E+10, /* J = 11 */ +(PID.TID 0000.0001) 8.254500894894537E+10, /* J = 12 */ +(PID.TID 0000.0001) 8.549360686473492E+10, /* J = 13 */ +(PID.TID 0000.0001) 8.781353403175085E+10, /* J = 14 */ +(PID.TID 0000.0001) 8.948571540392021E+10, /* J = 15 */ +(PID.TID 0000.0001) 9.049530583086168E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.638867375081599E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hasWetCSCorners = /* Domain contains CS corners (True/False) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.28169923847119E+00 + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963529004741E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.26825643555341E+00 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508307715E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642990319059D+05 + --> objf_test(bi,bj) = 0.925748325923490D+04 + --> objf_test(bi,bj) = 0.646782341064632D+04 + --> objf_test(bi,bj) = 0.425114891594451D+04 + --> objf_test(bi,bj) = 0.468651159947707D+04 + --> objf_test(bi,bj) = 0.131971832117793D+05 + --> objf_test(bi,bj) = 0.111682590494972D+05 + --> objf_test(bi,bj) = 0.109410446656030D+05 + --> objf_test(bi,bj) = 0.691550498455277D+04 + --> objf_test(bi,bj) = 0.683247511182580D+04 + --> objf_test(bi,bj) = 0.520040324668799D+04 + --> objf_test(bi,bj) = 0.606296038321234D+04 +(PID.TID 0000.0001) local fc = 0.962450968703671D+05 +(PID.TID 0000.0001) global fc = 0.962450968703671D+05 +(PID.TID 0000.0001) grdchk reference fc: fcref = 9.62450968703671E+04 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc tlm grad fd grad 1 - fd/tlm +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1 55522 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 1 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 1 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.08166817117217E-16 4.97083349095585E-01 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426480E+00 + cg2d: Sum(rhs),rhsMax = 1.52655665885959E-16 4.61544119515300E-01 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.28169923847316E+00 + cg2d: Sum(rhs),rhsMax = -6.10622663543836E-16 4.22135511776206E-01 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26963529004743E+00 + cg2d: Sum(rhs),rhsMax = -1.66533453693773E-16 3.83666267133075E-01 + cg2d: Sum(rhs),rhsMax = -9.83391146291979E-12 4.26825643555305E+00 + cg2d: Sum(rhs),rhsMax = 2.35922392732846E-16 3.48096288899501E-01 + cg2d: Sum(rhs),rhsMax = -9.60653778747655E-12 4.26314508307816E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642990319058D+05 + --> objf_test(bi,bj) = 0.925748325923488D+04 + --> objf_test(bi,bj) = 0.646782341064632D+04 + --> objf_test(bi,bj) = 0.425114891594450D+04 + --> objf_test(bi,bj) = 0.468651159947707D+04 + --> objf_test(bi,bj) = 0.131971832117794D+05 + --> objf_test(bi,bj) = 0.111682590494972D+05 + --> objf_test(bi,bj) = 0.109410446656030D+05 + --> objf_test(bi,bj) = 0.691550498455276D+04 + --> objf_test(bi,bj) = 0.683247511182581D+04 + --> objf_test(bi,bj) = 0.520040324668799D+04 + --> objf_test(bi,bj) = 0.606296038321233D+04 +(PID.TID 0000.0001) local fc = 0.962450968703671D+05 +(PID.TID 0000.0001) global fc = 0.962450968703671D+05 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.28169923834808E+00 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26963528989786E+00 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.26825643505683E+00 + cg2d: Sum(rhs),rhsMax = -9.83391146291979E-12 4.26314508222955E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643372537197D+05 + --> objf_test(bi,bj) = 0.925748325937274D+04 + --> objf_test(bi,bj) = 0.646782341056008D+04 + --> objf_test(bi,bj) = 0.425114891592850D+04 + --> objf_test(bi,bj) = 0.468651159947307D+04 + --> objf_test(bi,bj) = 0.131971832117306D+05 + --> objf_test(bi,bj) = 0.111682590494812D+05 + --> objf_test(bi,bj) = 0.109410446656234D+05 + --> objf_test(bi,bj) = 0.691550498459337D+04 + --> objf_test(bi,bj) = 0.683247680478209D+04 + --> objf_test(bi,bj) = 0.520040324674087D+04 + --> objf_test(bi,bj) = 0.606296259734182D+04 +(PID.TID 0000.0001) local fc = 0.962451389993475D+05 +(PID.TID 0000.0001) global fc = 0.962451389993475D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451389993475E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28169923859646E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26963529019077E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26825643604795E+00 + cg2d: Sum(rhs),rhsMax = -9.43600753089413E-12 4.26314508391993E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642609186992D+05 + --> objf_test(bi,bj) = 0.925748325909704D+04 + --> objf_test(bi,bj) = 0.646782341073247D+04 + --> objf_test(bi,bj) = 0.425114891596055D+04 + --> objf_test(bi,bj) = 0.468651159948100D+04 + --> objf_test(bi,bj) = 0.131971832118282D+05 + --> objf_test(bi,bj) = 0.111682590495131D+05 + --> objf_test(bi,bj) = 0.109410446655825D+05 + --> objf_test(bi,bj) = 0.691550498451220D+04 + --> objf_test(bi,bj) = 0.683247342113420D+04 + --> objf_test(bi,bj) = 0.520040324663511D+04 + --> objf_test(bi,bj) = 0.606295817145302D+04 +(PID.TID 0000.0001) local fc = 0.962450548546287D+05 +(PID.TID 0000.0001) global fc = 0.962450548546287D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450548546287E+04 +grad-res ------------------------------- + grad-res 0 1 1 1 1 1 1 1 9.62450968704E+04 9.62451389993E+04 9.62450548546E+04 + grad-res 0 1 1 1 0 1 1 1 4.20723620988E+00 4.20723593998E+00 6.41516283428E-08 +(PID.TID 0000.0001) TLM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) TLM tangent-lin_grad = 4.20723620987642E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = 4.20723593997536E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 2 55522 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1 2 + ph-grd -->hit<-- 2 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 2 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 5.55111512312578E-17 5.21328928551239E-01 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426480E+00 + cg2d: Sum(rhs),rhsMax = 2.77555756156289E-16 4.94127340983262E-01 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.28169923847316E+00 + cg2d: Sum(rhs),rhsMax = -2.35922392732846E-16 4.62627002996203E-01 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26963529004743E+00 + cg2d: Sum(rhs),rhsMax = -8.32667268468867E-17 4.30994943752776E-01 + cg2d: Sum(rhs),rhsMax = -9.83391146291979E-12 4.26825643555305E+00 + cg2d: Sum(rhs),rhsMax = -6.93889390390723E-17 3.99981649106928E-01 + cg2d: Sum(rhs),rhsMax = -9.60653778747655E-12 4.26314508307816E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642990319058D+05 + --> objf_test(bi,bj) = 0.925748325923488D+04 + --> objf_test(bi,bj) = 0.646782341064632D+04 + --> objf_test(bi,bj) = 0.425114891594450D+04 + --> objf_test(bi,bj) = 0.468651159947707D+04 + --> objf_test(bi,bj) = 0.131971832117794D+05 + --> objf_test(bi,bj) = 0.111682590494972D+05 + --> objf_test(bi,bj) = 0.109410446656030D+05 + --> objf_test(bi,bj) = 0.691550498455276D+04 + --> objf_test(bi,bj) = 0.683247511182581D+04 + --> objf_test(bi,bj) = 0.520040324668799D+04 + --> objf_test(bi,bj) = 0.606296038321233D+04 +(PID.TID 0000.0001) local fc = 0.962450968703671D+05 +(PID.TID 0000.0001) global fc = 0.962450968703671D+05 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28169923848898E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26963528967151E+00 + cg2d: Sum(rhs),rhsMax = -9.49285094975494E-12 4.26825643475361E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26314508164779E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643378706429D+05 + --> objf_test(bi,bj) = 0.925748325947092D+04 + --> objf_test(bi,bj) = 0.646782341049779D+04 + --> objf_test(bi,bj) = 0.425114891591706D+04 + --> objf_test(bi,bj) = 0.468651159946984D+04 + --> objf_test(bi,bj) = 0.131971832116948D+05 + --> objf_test(bi,bj) = 0.111682590494701D+05 + --> objf_test(bi,bj) = 0.109410446656374D+05 + --> objf_test(bi,bj) = 0.691550498462186D+04 + --> objf_test(bi,bj) = 0.683247522814915D+04 + --> objf_test(bi,bj) = 0.520040324677840D+04 + --> objf_test(bi,bj) = 0.606296159023752D+04 +(PID.TID 0000.0001) local fc = 0.962451370325877D+05 +(PID.TID 0000.0001) global fc = 0.962451370325877D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451370325877E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28169923845654E+00 + cg2d: Sum(rhs),rhsMax = -9.54969436861575E-12 4.26963529041537E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26825643635290E+00 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508450758E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642603170864D+05 + --> objf_test(bi,bj) = 0.925748325899883D+04 + --> objf_test(bi,bj) = 0.646782341079480D+04 + --> objf_test(bi,bj) = 0.425114891597197D+04 + --> objf_test(bi,bj) = 0.468651159948426D+04 + --> objf_test(bi,bj) = 0.131971832118641D+05 + --> objf_test(bi,bj) = 0.111682590495243D+05 + --> objf_test(bi,bj) = 0.109410446655686D+05 + --> objf_test(bi,bj) = 0.691550498448368D+04 + --> objf_test(bi,bj) = 0.683247499554683D+04 + --> objf_test(bi,bj) = 0.520040324659764D+04 + --> objf_test(bi,bj) = 0.606295917753553D+04 +(PID.TID 0000.0001) local fc = 0.962450568334570D+05 +(PID.TID 0000.0001) global fc = 0.962450568334570D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450568334570E+04 +grad-res ------------------------------- + grad-res 0 2 2 1 1 1 1 1 9.62450968704E+04 9.62451370326E+04 9.62450568335E+04 + grad-res 0 2 2 2 0 1 1 1 4.00969523493E+00 4.00995653617E+00 -6.51673570315E-05 +(PID.TID 0000.0001) TLM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) TLM tangent-lin_grad = 4.00969523493332E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = 4.00995653617429E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 3 55522 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 2 3 + ph-grd -->hit<-- 3 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 3 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 2.77555756156289E-17 5.14783382156190E-01 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426480E+00 + cg2d: Sum(rhs),rhsMax = -1.38777878078145E-16 4.91304295893306E-01 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.28169923847316E+00 + cg2d: Sum(rhs),rhsMax = 4.16333634234434E-17 4.63551401247431E-01 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26963529004743E+00 + cg2d: Sum(rhs),rhsMax = 6.93889390390723E-17 4.35782778985409E-01 + cg2d: Sum(rhs),rhsMax = -9.83391146291979E-12 4.26825643555305E+00 + cg2d: Sum(rhs),rhsMax = 2.63677968348475E-16 4.07970706211293E-01 + cg2d: Sum(rhs),rhsMax = -9.60653778747655E-12 4.26314508307816E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642990319058D+05 + --> objf_test(bi,bj) = 0.925748325923488D+04 + --> objf_test(bi,bj) = 0.646782341064632D+04 + --> objf_test(bi,bj) = 0.425114891594450D+04 + --> objf_test(bi,bj) = 0.468651159947707D+04 + --> objf_test(bi,bj) = 0.131971832117794D+05 + --> objf_test(bi,bj) = 0.111682590494972D+05 + --> objf_test(bi,bj) = 0.109410446656030D+05 + --> objf_test(bi,bj) = 0.691550498455276D+04 + --> objf_test(bi,bj) = 0.683247511182581D+04 + --> objf_test(bi,bj) = 0.520040324668799D+04 + --> objf_test(bi,bj) = 0.606296038321233D+04 +(PID.TID 0000.0001) local fc = 0.962450968703671D+05 +(PID.TID 0000.0001) global fc = 0.962450968703671D+05 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.57811607804615E-12 4.28169923834804E+00 + cg2d: Sum(rhs),rhsMax = -9.80548975348938E-12 4.26963528960830E+00 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.26825643444512E+00 + cg2d: Sum(rhs),rhsMax = -9.74864633462857E-12 4.26314508111679E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643321737231D+05 + --> objf_test(bi,bj) = 0.925748325954393D+04 + --> objf_test(bi,bj) = 0.646782341044705D+04 + --> objf_test(bi,bj) = 0.425114891590794D+04 + --> objf_test(bi,bj) = 0.468651159946771D+04 + --> objf_test(bi,bj) = 0.131971832116658D+05 + --> objf_test(bi,bj) = 0.111682590494606D+05 + --> objf_test(bi,bj) = 0.109410446656495D+05 + --> objf_test(bi,bj) = 0.691550498464398D+04 + --> objf_test(bi,bj) = 0.683247511589005D+04 + --> objf_test(bi,bj) = 0.520040324680865D+04 + --> objf_test(bi,bj) = 0.606296088558872D+04 +(PID.TID 0000.0001) local fc = 0.962451305187970D+05 +(PID.TID 0000.0001) global fc = 0.962451305187970D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451305187970E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.86233317235019E-12 4.28169923859372E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26963529048258E+00 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26825643666237E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.26314508503709E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642660210549D+05 + --> objf_test(bi,bj) = 0.925748325892583D+04 + --> objf_test(bi,bj) = 0.646782341084554D+04 + --> objf_test(bi,bj) = 0.425114891598100D+04 + --> objf_test(bi,bj) = 0.468651159948632D+04 + --> objf_test(bi,bj) = 0.131971832118930D+05 + --> objf_test(bi,bj) = 0.111682590495339D+05 + --> objf_test(bi,bj) = 0.109410446655564D+05 + --> objf_test(bi,bj) = 0.691550498446156D+04 + --> objf_test(bi,bj) = 0.683247510776259D+04 + --> objf_test(bi,bj) = 0.520040324656738D+04 + --> objf_test(bi,bj) = 0.606295988160210D+04 +(PID.TID 0000.0001) local fc = 0.962450633536705D+05 +(PID.TID 0000.0001) global fc = 0.962450633536705D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450633536705E+04 +grad-res ------------------------------- + grad-res 0 3 3 1 1 1 1 1 9.62450968704E+04 9.62451305188E+04 9.62450633537E+04 + grad-res 0 3 3 3 0 1 1 1 3.35834369199E+00 3.35825632210E+00 2.60157694189E-05 +(PID.TID 0000.0001) TLM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) TLM tangent-lin_grad = 3.35834369199402E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = 3.35825632209890E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 4 55522 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 3 4 + ph-grd -->hit<-- 4 1 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 4 1 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-17 4.97549420720442E-01 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426480E+00 + cg2d: Sum(rhs),rhsMax = -1.11022302462516E-16 4.75651995220081E-01 + cg2d: Sum(rhs),rhsMax = -9.89075488178059E-12 4.28169923847316E+00 + cg2d: Sum(rhs),rhsMax = -1.80411241501588E-16 4.49477956093374E-01 + cg2d: Sum(rhs),rhsMax = -9.46442924032453E-12 4.26963529004743E+00 + cg2d: Sum(rhs),rhsMax = 2.35922392732846E-16 4.23649160367470E-01 + cg2d: Sum(rhs),rhsMax = -9.83391146291979E-12 4.26825643555305E+00 + cg2d: Sum(rhs),rhsMax = 8.32667268468867E-17 3.97676637341900E-01 + cg2d: Sum(rhs),rhsMax = -9.60653778747655E-12 4.26314508307816E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642990319058D+05 + --> objf_test(bi,bj) = 0.925748325923488D+04 + --> objf_test(bi,bj) = 0.646782341064632D+04 + --> objf_test(bi,bj) = 0.425114891594450D+04 + --> objf_test(bi,bj) = 0.468651159947707D+04 + --> objf_test(bi,bj) = 0.131971832117794D+05 + --> objf_test(bi,bj) = 0.111682590494972D+05 + --> objf_test(bi,bj) = 0.109410446656030D+05 + --> objf_test(bi,bj) = 0.691550498455276D+04 + --> objf_test(bi,bj) = 0.683247511182581D+04 + --> objf_test(bi,bj) = 0.520040324668799D+04 + --> objf_test(bi,bj) = 0.606296038321233D+04 +(PID.TID 0000.0001) local fc = 0.962450968703671D+05 +(PID.TID 0000.0001) global fc = 0.962450968703671D+05 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.77706804405898E-12 4.28169923829328E+00 + cg2d: Sum(rhs),rhsMax = -9.52127265918534E-12 4.26963528952197E+00 + cg2d: Sum(rhs),rhsMax = -9.37916411203332E-12 4.26825643418973E+00 + cg2d: Sum(rhs),rhsMax = -9.66338120633736E-12 4.26314508067312E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112643265415474D+05 + --> objf_test(bi,bj) = 0.925748325960757D+04 + --> objf_test(bi,bj) = 0.646782341040589D+04 + --> objf_test(bi,bj) = 0.425114891590007D+04 + --> objf_test(bi,bj) = 0.468651159946554D+04 + --> objf_test(bi,bj) = 0.131971832116433D+05 + --> objf_test(bi,bj) = 0.111682590494530D+05 + --> objf_test(bi,bj) = 0.109410446656582D+05 + --> objf_test(bi,bj) = 0.691550498466291D+04 + --> objf_test(bi,bj) = 0.683247511172393D+04 + --> objf_test(bi,bj) = 0.520040324683352D+04 + --> objf_test(bi,bj) = 0.606296053020935D+04 +(PID.TID 0000.0001) local fc = 0.962451245271106D+05 +(PID.TID 0000.0001) global fc = 0.962451245271106D+05 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 9.62451245271106E+04 +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 72000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 192 1 192 +(PID.TID 0000.0001) 2: 32 1 32 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >GuNm1 < >Vvel < >GvNm1 < >Theta < >GtNm1 < >Salt < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GuNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: field: "GvNm2 " missing in file: pickup.0000072000 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 122 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaH ", # 11 in fldList, rec= 123 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 72000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28293538426452E+00 + cg2d: Sum(rhs),rhsMax = -9.63495949690696E-12 4.28169923864340E+00 + cg2d: Sum(rhs),rhsMax = -9.72022462519817E-12 4.26963529056705E+00 + cg2d: Sum(rhs),rhsMax = -9.69180291576777E-12 4.26825643691576E+00 + cg2d: Sum(rhs),rhsMax = -9.37916411203332E-12 4.26314508548041E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.112642716549200D+05 + --> objf_test(bi,bj) = 0.925748325886229D+04 + --> objf_test(bi,bj) = 0.646782341088669D+04 + --> objf_test(bi,bj) = 0.425114891598887D+04 + --> objf_test(bi,bj) = 0.468651159948860D+04 + --> objf_test(bi,bj) = 0.131971832119155D+05 + --> objf_test(bi,bj) = 0.111682590495416D+05 + --> objf_test(bi,bj) = 0.109410446655477D+05 + --> objf_test(bi,bj) = 0.691550498444261D+04 + --> objf_test(bi,bj) = 0.683247511192761D+04 + --> objf_test(bi,bj) = 0.520040324654252D+04 + --> objf_test(bi,bj) = 0.606296023664371D+04 +(PID.TID 0000.0001) local fc = 0.962450693467077D+05 +(PID.TID 0000.0001) global fc = 0.962450693467077D+05 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 9.62450693467077E+04 +grad-res ------------------------------- + grad-res 0 4 4 1 1 1 1 1 9.62450968704E+04 9.62451245271E+04 9.62450693467E+04 + grad-res 0 4 4 4 0 1 1 1 2.75901910607E+00 2.75902014619E+00 -3.76988921413E-07 +(PID.TID 0000.0001) TLM ref_cost_function = 9.62450968703671E+04 +(PID.TID 0000.0001) TLM tangent-lin_grad = 2.75901910606659E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = 2.75902014618623E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-02 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) TLM GRAD(FC) 1-FDGRD/TLMGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 1 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 1 9.6245096870367E+04 9.6245138999347E+04 9.6245054854629E+04 +(PID.TID 0000.0001) grdchk output (g): 1 4.2072359399754E+00 4.2072362098764E+00 6.4151628342834E-08 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 2 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 2 9.6245096870367E+04 9.6245137032588E+04 9.6245056833457E+04 +(PID.TID 0000.0001) grdchk output (g): 2 4.0099565361743E+00 4.0096952349333E+00 -6.5167357031548E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 3 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 3 9.6245096870367E+04 9.6245130518797E+04 9.6245063353671E+04 +(PID.TID 0000.0001) grdchk output (g): 3 3.3582563220989E+00 3.3583436919940E+00 2.6015769418852E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 4 1 1 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 4 9.6245096870367E+04 9.6245124527111E+04 9.6245069346708E+04 +(PID.TID 0000.0001) grdchk output (g): 4 2.7590201461862E+00 2.7590191060666E+00 -3.7698892141336E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 4 ratios = 3.5084722162967E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 40.206356358830817 +(PID.TID 0000.0001) System time: 0.24327100627124310 +(PID.TID 0000.0001) Wall clock time: 40.686790943145752 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.12342000263743103 +(PID.TID 0000.0001) System time: 5.3247001487761736E-002 +(PID.TID 0000.0001) Wall clock time: 0.18475914001464844 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 3.3298999071121216E-002 +(PID.TID 0000.0001) System time: 3.8309991359710693E-003 +(PID.TID 0000.0001) Wall clock time: 3.7326097488403320E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 3.4125000238418579E-002 +(PID.TID 0000.0001) System time: 1.1729970574378967E-003 +(PID.TID 0000.0001) Wall clock time: 3.5461902618408203E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 40.015483543276787 +(PID.TID 0000.0001) System time: 0.18499600887298584 +(PID.TID 0000.0001) Wall clock time: 40.429206132888794 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 1.7731812000274658 +(PID.TID 0000.0001) System time: 0.13040903955698013 +(PID.TID 0000.0001) Wall clock time: 1.9557299613952637 +(PID.TID 0000.0001) No. starts: 13 +(PID.TID 0000.0001) No. stops: 13 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 38.121696561574936 +(PID.TID 0000.0001) System time: 4.2658977210521698E-002 +(PID.TID 0000.0001) Wall clock time: 38.339935779571533 +(PID.TID 0000.0001) No. starts: 13 +(PID.TID 0000.0001) No. stops: 13 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 37.998867660760880 +(PID.TID 0000.0001) System time: 1.9846968352794647E-002 +(PID.TID 0000.0001) Wall clock time: 38.188557386398315 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 37.998126775026321 +(PID.TID 0000.0001) System time: 1.9836977124214172E-002 +(PID.TID 0000.0001) Wall clock time: 38.187809467315674 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "UPDATE_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.0579997003078461 +(PID.TID 0000.0001) System time: 3.9994716644287109E-005 +(PID.TID 0000.0001) Wall clock time: 1.0628192424774170 +(PID.TID 0000.0001) No. starts: 130 +(PID.TID 0000.0001) No. stops: 130 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.15644040703773499 +(PID.TID 0000.0001) System time: 3.4209936857223511E-003 +(PID.TID 0000.0001) Wall clock time: 0.16633129119873047 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 9.2814803123474121E-002 +(PID.TID 0000.0001) System time: 3.3799782395362854E-003 +(PID.TID 0000.0001) Wall clock time: 0.10239243507385254 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.24798536300659180 +(PID.TID 0000.0001) System time: 1.1800229549407959E-004 +(PID.TID 0000.0001) Wall clock time: 0.24912428855895996 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.9493799209594727E-002 +(PID.TID 0000.0001) System time: 1.2298673391342163E-004 +(PID.TID 0000.0001) Wall clock time: 3.9821386337280273E-002 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.3224565088748932 +(PID.TID 0000.0001) System time: 3.2570064067840576E-003 +(PID.TID 0000.0001) Wall clock time: 6.3540885448455811 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 10.072610348463058 +(PID.TID 0000.0001) System time: 4.2519941926002502E-003 +(PID.TID 0000.0001) Wall clock time: 10.122623682022095 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "UPDATE_CG2D [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.17359256744384766 +(PID.TID 0000.0001) System time: 1.3900548219680786E-004 +(PID.TID 0000.0001) Wall clock time: 0.17445921897888184 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.7317029833793640 +(PID.TID 0000.0001) System time: 1.0859742760658264E-003 +(PID.TID 0000.0001) Wall clock time: 2.7444832324981689 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.35401082038879395 +(PID.TID 0000.0001) System time: 1.0060220956802368E-003 +(PID.TID 0000.0001) Wall clock time: 0.35664987564086914 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.56992280483245850 +(PID.TID 0000.0001) System time: 3.0025839805603027E-006 +(PID.TID 0000.0001) Wall clock time: 0.57256388664245605 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "CALC_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.12684553861618042 +(PID.TID 0000.0001) System time: 1.0209828615188599E-003 +(PID.TID 0000.0001) Wall clock time: 0.12846922874450684 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.86558473110198975 +(PID.TID 0000.0001) System time: 1.1602044105529785E-004 +(PID.TID 0000.0001) Wall clock time: 0.86928749084472656 +(PID.TID 0000.0001) No. starts: 130 +(PID.TID 0000.0001) No. stops: 130 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 14.845510184764862 +(PID.TID 0000.0001) System time: 5.1080062985420227E-003 +(PID.TID 0000.0001) Wall clock time: 14.911704540252686 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.7711858749389648E-004 +(PID.TID 0000.0001) System time: 2.9951333999633789E-006 +(PID.TID 0000.0001) Wall clock time: 3.9172172546386719E-004 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.0560960769653320E-004 +(PID.TID 0000.0001) System time: 2.0116567611694336E-006 +(PID.TID 0000.0001) Wall clock time: 3.9553642272949219E-004 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.42074972391128540 +(PID.TID 0000.0001) System time: 7.1018934249877930E-005 +(PID.TID 0000.0001) Wall clock time: 0.42273426055908203 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.2402744293212891E-004 +(PID.TID 0000.0001) System time: 1.9967555999755859E-006 +(PID.TID 0000.0001) Wall clock time: 4.3559074401855469E-004 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.8616867065429688E-004 +(PID.TID 0000.0001) System time: 5.9902667999267578E-006 +(PID.TID 0000.0001) Wall clock time: 6.9260597229003906E-004 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 4.2591094970703125E-002 +(PID.TID 0000.0001) System time: 1.0864011943340302E-002 +(PID.TID 0000.0001) Wall clock time: 5.8847427368164062E-002 +(PID.TID 0000.0001) No. starts: 13 +(PID.TID 0000.0001) No. stops: 13 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000005 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000006 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000007 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000008 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000009 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000010 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000011 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000012 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 63418 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 63418 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/global_with_exf/code_tap/AUTODIFF_OPTIONS.h b/verification/global_with_exf/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..8c00872f93 --- /dev/null +++ b/verification/global_with_exf/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,83 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o allow using viscFacInAd to recompute viscosities in AD +#undef AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/global_with_exf/code_tap/COST_OPTIONS.h b/verification/global_with_exf/code_tap/COST_OPTIONS.h new file mode 100644 index 0000000000..41c6475da2 --- /dev/null +++ b/verification/global_with_exf/code_tap/COST_OPTIONS.h @@ -0,0 +1,77 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT + +#define ALLOW_COST_TEST +#define ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/global_with_exf/code_tap/CPP_OPTIONS.h b/verification/global_with_exf/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..ee8cd5580c --- /dev/null +++ b/verification/global_with_exf/code_tap/CPP_OPTIONS.h @@ -0,0 +1,139 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#undef ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#define INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#undef NONLIN_FRSURF + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/global_with_exf/code_tap/CTRL_OPTIONS.h b/verification/global_with_exf/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..e9e017ada9 --- /dev/null +++ b/verification/global_with_exf/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,106 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +#undef ECCO_CTRL_DEPRECATED + +#undef EXCLUDE_CTRL_PACK +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO + +C >>> Initial values. +#undef ALLOW_THETA0_CONTROL +#undef ALLOW_SALT0_CONTROL +#undef ALLOW_UVEL0_CONTROL +#undef ALLOW_VVEL0_CONTROL +#undef ALLOW_TR10_CONTROL +#undef ALLOW_TAUU0_CONTROL +#undef ALLOW_TAUV0_CONTROL +#undef ALLOW_SFLUX0_CONTROL +#undef ALLOW_HFLUX0_CONTROL +#undef ALLOW_SSS0_CONTROL +#undef ALLOW_SST0_CONTROL + +C >>> Surface fluxes. +#undef ALLOW_HFLUX_CONTROL +#undef ALLOW_SFLUX_CONTROL +#undef ALLOW_USTRESS_CONTROL +#undef ALLOW_VSTRESS_CONTROL +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> Atmospheric state. +#undef ALLOW_ATEMP_CONTROL +#undef ALLOW_AQH_CONTROL +#undef ALLOW_UWIND_CONTROL +#undef ALLOW_VWIND_CONTROL +#undef ALLOW_PRECIP_CONTROL + +C >>> Other Control. +#undef ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#undef ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/global_with_exf/code_tap/CTRL_SIZE.h b/verification/global_with_exf/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..8e60d9cf32 --- /dev/null +++ b/verification/global_with_exf/code_tap/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 1 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 2 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 4 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_with_exf/code_tap/DIAGNOSTICS_SIZE.h b/verification/global_with_exf/code_tap/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..d2993e3122 --- /dev/null +++ b/verification/global_with_exf/code_tap/DIAGNOSTICS_SIZE.h @@ -0,0 +1,27 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numdiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numdiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numdiags + INTEGER nRegions, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 10, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numdiags = 6*Nr ) + PARAMETER( nRegions = 0 , nStats = 4 ) + PARAMETER( diagSt_size = 10*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_with_exf/code_tap/EXF_OPTIONS.h b/verification/global_with_exf/code_tap/EXF_OPTIONS.h new file mode 100644 index 0000000000..ad4fcd4b4f --- /dev/null +++ b/verification/global_with_exf/code_tap/EXF_OPTIONS.h @@ -0,0 +1,233 @@ +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 -------------------- +C pkg/exf CPP options: +C (see also table below on how to combine options) + +C > ( EXF_VERBOSE ) < replaced with run-time integer parameter "exf_debugLev" +C +C >>> ALLOW_ATM_WIND <<< +C If defined, set default value of run-time param. "useAtmWind" to True. +C If useAtmWind=True, read-in and use wind vector (uwind/vwind) +C to compute surface wind stress. +C +C >>> ALLOW_ATM_TEMP <<< +C This is the main EXF option controlling air-sea buoyancy fluxes: +C If undefined, net heat flux (Qnet) and net fresh water flux +C (EmP or EmPmR) are set according to hfluxfile & sfluxfile setting. +C If defined, net heat flux and net fresh water flux are computed +C from sum of various components (radiative SW,LW + turbulent heat +C fluxes SH,LH ; Evap, Precip and optionally RunOff) thus ignoring +C hfluxfile & sfluxfile. +C In addition, it allows to read-in from files atmospheric temperature +C and specific humidity, net radiative fluxes, and precip. +C Also enable to read-in Evap (if EXF_READ_EVAP is defined) or +C turbulent heat fluxes (if ALLOW_READ_TURBFLUXES is defined). +C +C >>> ALLOW_DOWNWARD_RADIATION <<< +C If defined, downward long-wave and short-wave radiation +C can be read-in form files to compute net 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 fluxes (Sensible,Latent,Evap) at the ocean surface. +C +C >>> EXF_CALC_ATMRHO +C Calculate the local air density as function of temp, humidity +C and pressure +C +C >>> EXF_READ_EVAP <<< +C If defined, evaporation field is read-in from file; +C Note: if ALLOW_BULKFORMULAE is defined, evap that is computed from +C atmospheric state will be replaced by read-in evap but computed +C latent heat flux will be kept. +C +C >>> ALLOW_READ_TURBFLUXES <<< +C If defined, turbulent heat fluxes (sensible and latent) can be read-in +C from files (but overwritten if ALLOW_BULKFORMULAE is defined). +C +C >>> ALLOW_RUNOFF <<< +C If defined, river and glacier runoff can be read-in from files. +C +C >>> ALLOW_SALTFLX <<< +C If defined, upward salt flux can be read-in from files. +C +C >>> ALLOW_RUNOFTEMP <<< +C If defined, river and glacier runoff temperature +C 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.h) +C +C >>> EXF_ALLOW_TIDES <<< +C If defined, 2-D tidal geopotential can be read-in from files +C +C >>> EXF_SEAICE_FRACTION <<< +C If defined, seaice fraction can be read-in from files (areaMaskFile) +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 to provide input field on arbitrary Lat-Lon input grid +C (as specified in EXF_NML_04) and to interpolate to model grid. +C Note: default is to interpolate unless {FLD}_interpMethod is set to 0 +C +C ==================================================================== +C +C The following CPP options: +C ALLOW_ATM_WIND / useAtmWind (useWind) +C ALLOW_ATM_TEMP (TEMP) +C ALLOW_DOWNWARD_RADIATION (DOWN) +C ALLOW_BULKFORMULAE (BULK) +C EXF_READ_EVAP (EVAP) +C ALLOW_READ_TURBFLUXES (TURB) +C +C permit all ocean-model forcing configurations listed in the 2 tables below. +C The first configuration (A1,B1) is the flux-forced, ocean model. +C Configurations A2,B3 and A2,B4 use pkg/exf open-water bulk formulae +C to compute, from atmospheric variables, the missing surface fluxes. +C The forcing fields in the rightmost column are defined in EXF_FIELDS.h +C (ocean-model surface forcing field are defined in model/inc/FFIELDS.h) +C +C (A) Surface momentum flux: [model: fu,fv ; exf: ustress,vstress] +C +C # |useWind| actions +C ---|-------|------------------------------------------------------------- +C (1)| False | Read-in ustress,vstress (if needed in B, compute wind-speed) +C | | +C (2)| True | Read-in uwind,vwind ; compute wind stress ustress,vstress. +C ---|-------|------------------------------------------------------------- +C +C (B) Surface buoyancy flux: +C [ net heat flux: Qnet (exf: hflux), net short-wave: Qsw (exf: swflux) +C fresh-water flux: EmPmR (exf: sflux) and saltFlux (exf: saltflx) ] +C +C # |TEMP |DOWN |BULK |EVAP |TURB | actions +C ---|-----|-----|-----|-----|-----|------------------------------------- +C (1)| - | - | - | - | - | Read-in hflux, swflux and sflux. +C | | | | | | +C (2)| - | def | - | - | - | Read-in hflux, swdown and sflux. +C | | | | | | Compute swflux. +C | | | | | | +C (3)| def | def | def | - | - | Read-in atemp, aqh, swdown, lwdown, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (4)| def | - | def | - | - | Read-in atemp, aqh, swflux, lwflux, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux and sflux. +C | | | | | | +C (5)| def | def | - | def | def | Read-in hs, hl, swdown, lwdown, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (6)| def | - | - | def | def | Read-in hs, hl, swflux, lwflux, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux and sflux. +C +C ======================================================================= + +C- Bulk formulae related flags. +#undef ALLOW_ATM_TEMP +#undef ALLOW_ATM_WIND +#undef ALLOW_DOWNWARD_RADIATION +#ifdef ALLOW_ATM_TEMP +C Note: To use ALLOW_BULKFORMULAE or EXF_READ_EVAP, needs #define ALLOW_ATM_TEMP +# define ALLOW_BULKFORMULAE +# undef ALLOW_BULK_LARGEYEAGER04 +# undef EXF_READ_EVAP +# ifndef ALLOW_BULKFORMULAE +C Note: To use ALLOW_READ_TURBFLUXES, ALLOW_ATM_TEMP needs to +C be defined but ALLOW_BULKFORMULAE needs to be undef +# define ALLOW_READ_TURBFLUXES +# endif +#endif /* ALLOW_ATM_TEMP */ + +C- Other forcing fields +#undef ALLOW_RUNOFF +#undef ALLOW_RUNOFTEMP +#undef ALLOW_SALTFLX + +#if (defined (ALLOW_BULKFORMULAE) && defined (ATMOSPHERIC_LOADING)) +C Note: To use EXF_CALC_ATMRHO, both ALLOW_BULKFORMULAE +C and ATMOSPHERIC_LOADING need to be defined +# undef EXF_CALC_ATMRHO +#endif + +C- Zenith Angle/Albedo related flags. +#ifdef ALLOW_DOWNWARD_RADIATION +# undef ALLOW_ZENITHANGLE +#endif + +C- Use ocean_emissivity*lwdown in lwFlux. This flag should be defined +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. +#define ALLOW_CLIMSST_RELAXATION +#define ALLOW_CLIMSSS_RELAXATION + +C- Allows to read-in (2-d) tidal geopotential forcing +#undef EXF_ALLOW_TIDES + +C- Allows to read-in seaice fraction from files (areaMaskFile) +#undef EXF_SEAICE_FRACTION + +C- Use spatial interpolation to interpolate +C forcing files from input grid to model grid. +#define 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 USE_EXF_INTERPOLATION && 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 */ diff --git a/verification/global_with_exf/code_tap/GMREDI_OPTIONS.h b/verification/global_with_exf/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..d77fd372c5 --- /dev/null +++ b/verification/global_with_exf/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,47 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/global_with_exf/code_tap/SIZE.h b/verification/global_with_exf/code_tap/SIZE.h new file mode 100644 index 0000000000..5e6dfcc1ec --- /dev/null +++ b/verification/global_with_exf/code_tap/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 45, + & sNy = 40, + & OLx = 2, + & OLy = 2, + & nSx = 2, + & nSy = 1, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/global_with_exf/code_tap/SIZE.h_mpi b/verification/global_with_exf/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..28659130a9 --- /dev/null +++ b/verification/global_with_exf/code_tap/SIZE.h_mpi @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 45, + & sNy = 40, + & OLx = 2, + & OLy = 2, + & nSx = 1, + & nSy = 1, + & nPx = 2, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/global_with_exf/code_tap/packages.conf b/verification/global_with_exf/code_tap/packages.conf new file mode 100644 index 0000000000..d443f9e57c --- /dev/null +++ b/verification/global_with_exf/code_tap/packages.conf @@ -0,0 +1,8 @@ +#-- list of packages (or group of packages) to compile for this experiment: +gfd +cd_code +gmredi +exf + +tapenade +adjoint diff --git a/verification/global_with_exf/input_tap/data b/verification/global_with_exf/input_tap/data new file mode 100644 index 0000000000..024661f135 --- /dev/null +++ b/verification/global_with_exf/input_tap/data @@ -0,0 +1,75 @@ +# ==================== +# | Model parameters | +# ==================== +# +# Continuous equation parameters + &PARM01 + tRef = 15*20., + sRef = 15*35., + viscAr=1.E-3, + viscAh=5.E5, + diffKhT=0.0, + diffKrT=3.E-5, + diffKhS=0.0, + diffKrS=3.E-5, + rhonil=1035., + rotationPeriod=86400., + gravity=9.81, + eosType = 'JMD95Z', + ivdc_kappa=100., + implicitDiffusion=.TRUE., + allowFreezing=.TRUE., + useRealFreshWaterFlux=.TRUE., + useCDscheme=.TRUE., + useNHMTerms=.TRUE., +# turn on looped cells + hFacMin=.05, + hFacMindr=50., +# set precision of data files + readBinaryPrec=32, +#- not safe to use globalFiles in multi-processors runs +#globalfiles=.TRUE. +## usesinglecpuio=.TRUE. + & + +# Elliptic solver parameters + &PARM02 + cg2dMaxIters=500, + cg2dTargetResidual=1.E-13, + & + +# Time stepping parameters + &PARM03 + nIter0 = 0, + nTimeSteps= 20, +#- 100 years of integration will yield a reasonable flow field +# endTime = 3110400000., + deltaTmom = 1200., + tauCD = 321428., + deltaTtracer= 43200., + deltaTClock = 43200., + abEps = 0.1, + pChkptFreq= 311040000., + dumpFreq = 311040000., + monitorSelect= 2, + monitorFreq = 432000., + adjMonitorFreq=259200., + & + +# Gridding parameters + &PARM04 + usingSphericalPolarGrid=.TRUE., + delR= 50., 70., 100., 140., 190., + 240., 290., 340., 390., 440., + 490., 540., 590., 640., 690., + ygOrigin=-80., + dySpacing=4., + dxSpacing=4., + & + +# Input datasets + &PARM05 + bathyFile= 'bathymetry.bin', + hydrogThetaFile='lev_t.bin', + hydrogSaltFile= 'lev_s.bin', + & diff --git a/verification/global_with_exf/input_tap/data.autodiff b/verification/global_with_exf/input_tap/data.autodiff new file mode 100644 index 0000000000..606fdc8fed --- /dev/null +++ b/verification/global_with_exf/input_tap/data.autodiff @@ -0,0 +1,10 @@ +# ========================= +# pkg AUTODIFF parameters : +# ========================= +# inAdExact :: get an exact adjoint (no approximation) (def=.True.) +# + &AUTODIFF_PARM01 +# inAdExact = .FALSE., +# useKPPinAdMode = .FALSE., +# useGMRediInAdMode = .FALSE., + & diff --git a/verification/global_with_exf/input_tap/data.cal b/verification/global_with_exf/input_tap/data.cal new file mode 100644 index 0000000000..ab47480c65 --- /dev/null +++ b/verification/global_with_exf/input_tap/data.cal @@ -0,0 +1,10 @@ +# +# ******************* +# Calendar Parameters +# ******************* + &CAL_NML + TheCalendar='gregorian', +# TheCalendar='model', + startDate_1=19920101, + startDate_2=000000, + & diff --git a/verification/global_with_exf/input_tap/data.cost b/verification/global_with_exf/input_tap/data.cost new file mode 100644 index 0000000000..d0ddb075b8 --- /dev/null +++ b/verification/global_with_exf/input_tap/data.cost @@ -0,0 +1,8 @@ +# +# +# ****************** +# cost function +# ****************** + &COST_NML + mult_test = 1., + & diff --git a/verification/global_with_exf/input_tap/data.ctrl b/verification/global_with_exf/input_tap/data.ctrl new file mode 100644 index 0000000000..041cbe1ecc --- /dev/null +++ b/verification/global_with_exf/input_tap/data.ctrl @@ -0,0 +1,50 @@ +# ********************* +# ECCO controlvariables +# ********************* + &CTRL_NML +# doSinglePrecTapelev=.TRUE., + & +# +# ********************* +# names for ctrl_pack/unpack +# ********************* + &CTRL_PACKNAMES + & +# +# ********************* +# names for CTRL_GENARR, CTRL_GENTIM +# ********************* + &CTRL_NML_GENARR + xx_genarr3d_file(1) = 'xx_theta', + xx_genarr3d_weight(1) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +# + xx_genarr3d_file(2) = 'xx_salt', + xx_genarr3d_weight(2) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +# + xx_gentim2d_file(1) = 'xx_qnet', + xx_gentim2d_weight(1) = 'ones_64b.bin', + xx_gentim2d_startdate1(1) = 19920101, + xx_gentim2d_startdate2(1) = 000000, + xx_gentim2d_period(1) = 864000.0, +# + xx_gentim2d_file(2) = 'xx_empmr', + xx_gentim2d_weight(2) = 'ones_64b.bin', + xx_gentim2d_startdate1(2) = 19920101, + xx_gentim2d_startdate2(2) = 000000, + xx_gentim2d_period(2) = 864000.0, +# + xx_gentim2d_file(3) = 'xx_fu', + xx_gentim2d_weight(3) = 'ones_64b.bin', + xx_gentim2d_startdate1(3) = 19920101, + xx_gentim2d_startdate2(3) = 000000, + xx_gentim2d_period(3) = 864000.0, +# + xx_gentim2d_file(4) = 'xx_fv', + xx_gentim2d_weight(4) = 'ones_64b.bin', + xx_gentim2d_startdate1(4) = 19920101, + xx_gentim2d_startdate2(4) = 000000, + xx_gentim2d_period(4) = 864000.0, +# + & diff --git a/verification/global_with_exf/input_tap/data.exf b/verification/global_with_exf/input_tap/data.exf new file mode 100644 index 0000000000..a0cf53e224 --- /dev/null +++ b/verification/global_with_exf/input_tap/data.exf @@ -0,0 +1,101 @@ +# ********************* +# External Forcing Data +# ********************* + &EXF_NML_01 + exf_iprec = 32, + exf_debugLev = 3, +#readStressOnAgrid = .TRUE., + exf_adjMonSelect = 3, + exf_adjMonFreq = 864000., + & + +# ********************* + &EXF_NML_02 +#hfluxstartdate1 = 19920101, +#hfluxstartdate2 = 000000, + hfluxperiod = -12., +# +#sfluxstartdate1 = 19920101, +#sfluxstartdate2 = 000000, + sfluxperiod = -12., +# +#ustressstartdate1 = 19920101, +#ustressstartdate2 = 000000, + ustressperiod = -12., +# +#vstressstartdate1 = 19920101, +#vstressstartdate2 = 000000, + vstressperiod = -12., +# +#climsststartdate1 = 19920101, +#climsststartdate2 = 000000, + climsstperiod = -12., +# 2 months restoring timescale for temperature + climsstTauRelax = 5184000., +# +#climsssstartdate1 = 19920101, +#climsssstartdate2 = 000000, + climsssperiod = -12., +# 6 months restoring timescale for salinity + climsssTauRelax = 15552000., +# + hfluxfile = 'ncep_qnet.bin', +#sfluxfile = 'ncep_emp.bin', + ustressfile = 'trenberth_taux.bin', + vstressfile = 'trenberth_tauy.bin', + climsstfile = 'lev_sst.bin', + climsssfile = 'lev_sss.bin', +# + & + +# ********************* + &EXF_NML_03 + & + +# ********************* + &EXF_NML_04 + hflux_lon0 = 2., + hflux_lon_inc = 4., + hflux_lat0 = -78., + hflux_lat_inc = 39*4., + hflux_nlon = 90, + hflux_nlat = 40, +# + sflux_lon0 = 2., + sflux_lon_inc = 4., + sflux_lat0 = -78., + sflux_lat_inc = 39*4., + sflux_nlon = 90, + sflux_nlat = 40, +# + ustress_lon0 = 2., + ustress_lon_inc = 4., + ustress_lat0 = -78., + ustress_lat_inc = 39*4., + ustress_nlon = 90, + ustress_nlat = 40, +# + vstress_lon0 = 2., + vstress_lon_inc = 4., + vstress_lat0 = -78., + vstress_lat_inc = 39*4., + vstress_nlon = 90, + vstress_nlat = 40, +# + climsst_interpMethod = 1, + climsst_lon0 = 2., + climsst_lon_inc = 4., + climsst_lat0 = -78., + climsst_lat_inc = 39*4., + climsst_nlon = 90, + climsst_nlat = 40, +# + climsss_interpMethod = 1, + climsss_lon0 = 2., + climsss_lon_inc = 4., + climsss_lat0 = -78., + climsss_lat_inc = 39*4., + climsss_nlon = 90, + climsss_nlat = 40, +# + & diff --git a/verification/global_with_exf/input_tap/data.gmredi b/verification/global_with_exf/input_tap/data.gmredi new file mode 100644 index 0000000000..4632665749 --- /dev/null +++ b/verification/global_with_exf/input_tap/data.gmredi @@ -0,0 +1,28 @@ +# GM+Redi package parameters: + +#-from MOM : +# GM_background_K: G & Mc.W diffusion coefficient +# GM_maxSlope : max slope of isopycnals +# GM_Scrit : transition for scaling diffusion coefficient +# GM_Sd : half width scaling for diffusion coefficient +# GM_taper_scheme: slope clipping or one of the tapering schemes +# GM_Kmin_horiz : horizontal diffusion minimum value + +#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +# GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +# GM_AdvForm : turn on GM Advective form (default=Skew flux form) + + &GM_PARM01 + GM_background_K = 1.e+3, + GM_taper_scheme = 'gkw91', + GM_maxSlope = 1.e-2, + GM_Kmin_horiz = 50., + GM_Scrit = 4.e-3, + GM_Sd = 1.e-3, +# GM_Visbeck_alpha = 0., +# GM_Visbeck_length = 2.e+5, +# GM_Visbeck_depth = 1.e+3, +# GM_Visbeck_maxval_K= 2.5e+3, + & + + diff --git a/verification/global_with_exf/input_tap/data.grdchk b/verification/global_with_exf/input_tap/data.grdchk new file mode 100644 index 0000000000..87d0ffc418 --- /dev/null +++ b/verification/global_with_exf/input_tap/data.grdchk @@ -0,0 +1,14 @@ + +# ******************* +# ECCO gradient check +# ******************* + &GRDCHK_NML + grdchk_eps = 1.d-4, +# nbeg = 4, + iGloPos = 4, + jGloPos = 8, + kGloPos = 1, + nstep = 1, + nend = 4, + grdchkvarindex = 301, + & diff --git a/verification/global_with_exf/input_tap/data.optim b/verification/global_with_exf/input_tap/data.optim new file mode 100644 index 0000000000..332922f3e1 --- /dev/null +++ b/verification/global_with_exf/input_tap/data.optim @@ -0,0 +1,7 @@ +# +# ******************************** +# Off-line optimization parameters +# ******************************** + &OPTIM + optimcycle=0, + & diff --git a/verification/global_with_exf/input_tap/data.pkg b/verification/global_with_exf/input_tap/data.pkg new file mode 100644 index 0000000000..866a68277b --- /dev/null +++ b/verification/global_with_exf/input_tap/data.pkg @@ -0,0 +1,8 @@ +# Packages + &PACKAGES + useEXF = .TRUE., + useCAL = .TRUE., + useGMRedi = .TRUE., + useGrdchk = .TRUE., +# useDiagnostics = .TRUE., + & diff --git a/verification/global_with_exf/input_tap/eedata b/verification/global_with_exf/input_tap/eedata new file mode 100644 index 0000000000..eb1bbe0bd6 --- /dev/null +++ b/verification/global_with_exf/input_tap/eedata @@ -0,0 +1,11 @@ +# Example "eedata" file +# Lines beginning "#" are comments +# nTx - No. threads per process in X +# nTy - No. threads per process in Y + &EEPARMS + nTx=1, + nTy=1, + & +# Note: Some systems use & as the +# namelist terminator. Other systems +# use a / character (as shown here). diff --git a/verification/global_with_exf/input_tap/eedata.mth b/verification/global_with_exf/input_tap/eedata.mth new file mode 100644 index 0000000000..8558945c16 --- /dev/null +++ b/verification/global_with_exf/input_tap/eedata.mth @@ -0,0 +1,11 @@ +# Example "eedata" file for multi-threaded test +# (copy "eedata.mth" to "eedata" to use it) +# Lines beginning "#" are comments +# nTx - No. threads per process in X +# nTy - No. threads per process in Y + &EEPARMS + nTx=2, + nTy=1, + & +# Note: Some systems use & as the namelist terminator (as shown here). +# Other systems use a / character. diff --git a/verification/global_with_exf/input_tap/prepare_run b/verification/global_with_exf/input_tap/prepare_run new file mode 100755 index 0000000000..2545cd9ab3 --- /dev/null +++ b/verification/global_with_exf/input_tap/prepare_run @@ -0,0 +1,51 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take *.bin files +#- from this dir: +fromDir="../../tutorial_global_oce_latlon/input" + +fileList=`( cd $fromDir ; echo *.bin )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And take file 'ones_64b.bin' +#- from this dir: +fromDir="../../isomip/input_ad" + +fileList='ones_64b.bin' + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/global_with_exf/results/output_tap_adj.txt b/verification/global_with_exf/results/output_tap_adj.txt new file mode 100644 index 0000000000..a3f9490f76 --- /dev/null +++ b/verification/global_with_exf/results/output_tap_adj.txt @@ -0,0 +1,4476 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 05:36:31 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 1 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 45 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 40 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 2 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 2 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 90 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 40 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 2 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 1) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef = 15*20., +(PID.TID 0000.0001) > sRef = 15*35., +(PID.TID 0000.0001) > viscAr=1.E-3, +(PID.TID 0000.0001) > viscAh=5.E5, +(PID.TID 0000.0001) > diffKhT=0.0, +(PID.TID 0000.0001) > diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=0.0, +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > rhonil=1035., +(PID.TID 0000.0001) > rotationPeriod=86400., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > eosType = 'JMD95Z', +(PID.TID 0000.0001) > ivdc_kappa=100., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) > useRealFreshWaterFlux=.TRUE., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) > useNHMTerms=.TRUE., +(PID.TID 0000.0001) ># turn on looped cells +(PID.TID 0000.0001) > hFacMin=.05, +(PID.TID 0000.0001) > hFacMindr=50., +(PID.TID 0000.0001) ># set precision of data files +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) >#- not safe to use globalFiles in multi-processors runs +(PID.TID 0000.0001) >#globalfiles=.TRUE. +(PID.TID 0000.0001) >## usesinglecpuio=.TRUE. +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=500, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0 = 0, +(PID.TID 0000.0001) > nTimeSteps= 20, +(PID.TID 0000.0001) >#- 100 years of integration will yield a reasonable flow field +(PID.TID 0000.0001) ># endTime = 3110400000., +(PID.TID 0000.0001) > deltaTmom = 1200., +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > deltaTtracer= 43200., +(PID.TID 0000.0001) > deltaTClock = 43200., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq= 311040000., +(PID.TID 0000.0001) > dumpFreq = 311040000., +(PID.TID 0000.0001) > monitorSelect= 2, +(PID.TID 0000.0001) > monitorFreq = 432000., +(PID.TID 0000.0001) > adjMonitorFreq=259200., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delR= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > ygOrigin=-80., +(PID.TID 0000.0001) > dySpacing=4., +(PID.TID 0000.0001) > dxSpacing=4., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile= 'bathymetry.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_t.bin', +(PID.TID 0000.0001) > hydrogSaltFile= 'lev_s.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) S/R INI_PARMS: No request for barotropic solver +(PID.TID 0000.0001) S/R INI_PARMS: => Use implicitFreeSurface as default +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useEXF = .TRUE., +(PID.TID 0000.0001) > useCAL = .TRUE., +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) ># useDiagnostics = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/cal compiled and used ( useCAL = T ) + pkg/exf compiled and used ( useEXF = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: opening data.cal +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cal +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cal" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># Calendar Parameters +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &CAL_NML +(PID.TID 0000.0001) > TheCalendar='gregorian', +(PID.TID 0000.0001) ># TheCalendar='model', +(PID.TID 0000.0001) > startDate_1=19920101, +(PID.TID 0000.0001) > startDate_2=000000, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: finished reading data.cal +(PID.TID 0000.0001) EXF_READPARMS: opening data.exf +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.exf +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.exf" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># External Forcing Data +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_01 +(PID.TID 0000.0001) > exf_iprec = 32, +(PID.TID 0000.0001) > exf_debugLev = 3, +(PID.TID 0000.0001) >#readStressOnAgrid = .TRUE., +(PID.TID 0000.0001) > exf_adjMonSelect = 3, +(PID.TID 0000.0001) > exf_adjMonFreq = 864000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_02 +(PID.TID 0000.0001) >#hfluxstartdate1 = 19920101, +(PID.TID 0000.0001) >#hfluxstartdate2 = 000000, +(PID.TID 0000.0001) > hfluxperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#sfluxstartdate1 = 19920101, +(PID.TID 0000.0001) >#sfluxstartdate2 = 000000, +(PID.TID 0000.0001) > sfluxperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#ustressstartdate1 = 19920101, +(PID.TID 0000.0001) >#ustressstartdate2 = 000000, +(PID.TID 0000.0001) > ustressperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#vstressstartdate1 = 19920101, +(PID.TID 0000.0001) >#vstressstartdate2 = 000000, +(PID.TID 0000.0001) > vstressperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#climsststartdate1 = 19920101, +(PID.TID 0000.0001) >#climsststartdate2 = 000000, +(PID.TID 0000.0001) > climsstperiod = -12., +(PID.TID 0000.0001) ># 2 months restoring timescale for temperature +(PID.TID 0000.0001) > climsstTauRelax = 5184000., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#climsssstartdate1 = 19920101, +(PID.TID 0000.0001) >#climsssstartdate2 = 000000, +(PID.TID 0000.0001) > climsssperiod = -12., +(PID.TID 0000.0001) ># 6 months restoring timescale for salinity +(PID.TID 0000.0001) > climsssTauRelax = 15552000., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > hfluxfile = 'ncep_qnet.bin', +(PID.TID 0000.0001) >#sfluxfile = 'ncep_emp.bin', +(PID.TID 0000.0001) > ustressfile = 'trenberth_taux.bin', +(PID.TID 0000.0001) > vstressfile = 'trenberth_tauy.bin', +(PID.TID 0000.0001) > climsstfile = 'lev_sst.bin', +(PID.TID 0000.0001) > climsssfile = 'lev_sss.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_03 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_04 +(PID.TID 0000.0001) > hflux_lon0 = 2., +(PID.TID 0000.0001) > hflux_lon_inc = 4., +(PID.TID 0000.0001) > hflux_lat0 = -78., +(PID.TID 0000.0001) > hflux_lat_inc = 39*4., +(PID.TID 0000.0001) > hflux_nlon = 90, +(PID.TID 0000.0001) > hflux_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > sflux_lon0 = 2., +(PID.TID 0000.0001) > sflux_lon_inc = 4., +(PID.TID 0000.0001) > sflux_lat0 = -78., +(PID.TID 0000.0001) > sflux_lat_inc = 39*4., +(PID.TID 0000.0001) > sflux_nlon = 90, +(PID.TID 0000.0001) > sflux_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > ustress_lon0 = 2., +(PID.TID 0000.0001) > ustress_lon_inc = 4., +(PID.TID 0000.0001) > ustress_lat0 = -78., +(PID.TID 0000.0001) > ustress_lat_inc = 39*4., +(PID.TID 0000.0001) > ustress_nlon = 90, +(PID.TID 0000.0001) > ustress_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > vstress_lon0 = 2., +(PID.TID 0000.0001) > vstress_lon_inc = 4., +(PID.TID 0000.0001) > vstress_lat0 = -78., +(PID.TID 0000.0001) > vstress_lat_inc = 39*4., +(PID.TID 0000.0001) > vstress_nlon = 90, +(PID.TID 0000.0001) > vstress_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsst_interpMethod = 1, +(PID.TID 0000.0001) > climsst_lon0 = 2., +(PID.TID 0000.0001) > climsst_lon_inc = 4., +(PID.TID 0000.0001) > climsst_lat0 = -78., +(PID.TID 0000.0001) > climsst_lat_inc = 39*4., +(PID.TID 0000.0001) > climsst_nlon = 90, +(PID.TID 0000.0001) > climsst_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsss_interpMethod = 1, +(PID.TID 0000.0001) > climsss_lon0 = 2., +(PID.TID 0000.0001) > climsss_lon_inc = 4., +(PID.TID 0000.0001) > climsss_lat0 = -78., +(PID.TID 0000.0001) > climsss_lat_inc = 39*4., +(PID.TID 0000.0001) > climsss_nlon = 90, +(PID.TID 0000.0001) > climsss_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_01 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_02 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_03 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_04 +(PID.TID 0000.0001) EXF_READPARMS: finished reading data.exf +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_background_K = 1.e+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'gkw91', +(PID.TID 0000.0001) > GM_maxSlope = 1.e-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.e-3, +(PID.TID 0000.0001) > GM_Sd = 1.e-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) ># GM_Visbeck_length = 2.e+5, +(PID.TID 0000.0001) ># GM_Visbeck_depth = 1.e+3, +(PID.TID 0000.0001) ># GM_Visbeck_maxval_K= 2.5e+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) ># useKPPinAdMode = .FALSE., +(PID.TID 0000.0001) ># useGMRediInAdMode = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) ># doSinglePrecTapelev=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(1) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(1) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(1) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(2) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(2) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(2) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(3) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(3) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(3) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(4) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(4) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(4) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-4, +(PID.TID 0000.0001) ># nbeg = 4, +(PID.TID 0000.0001) > iGloPos = 4, +(PID.TID 0000.0001) > jGloPos = 8, +(PID.TID 0000.0001) > kGloPos = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) > grdchkvarindex = 301, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 301 +(PID.TID 0000.0001) eps: 0.100E-03 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.5800000000000E+02 +(PID.TID 0000.0001) %MON XC_min = 2.0000000000000E+00 +(PID.TID 0000.0001) %MON XC_mean = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON XG_max = 3.5600000000000E+02 +(PID.TID 0000.0001) %MON XG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON XG_mean = 1.7800000000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON DXC_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXC_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXC_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXC_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXF_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXF_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXF_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXF_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXG_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXG_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXG_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON DXV_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXV_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXV_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXV_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON YC_max = 7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_min = -7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON YC_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON YG_max = 7.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = -8.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -2.0000000000000E+00 +(PID.TID 0000.0001) %MON YG_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON DYC_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYC_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON DYF_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYF_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON DYG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYG_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON DYU_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYU_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON RA_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RA_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RA_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RA_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAW_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RAW_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RAW_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RAW_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAS_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAS_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAS_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAS_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON RAZ_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAZ_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAZ_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAZ_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) modelstart = /* Start time of the model integration [s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelend = /* End time of the model integration [s] */ +(PID.TID 0000.0001) 8.640000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStep = /* Time interval for a model forward step [s] */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingGregorianCalendar= /* Calendar Type: Gregorian Calendar */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingJulianCalendar = /* Calendar Type: Julian Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingNoLeapYearCal = /* Calendar Type: without Leap Year */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingModelCalendar = /* Calendar Type: Model Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate YYYYMMDD = /* Model start date YYYY-MM-DD */ +(PID.TID 0000.0001) 19920101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate HHMMSS = /* Model start date HH-MM-SS */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate YYYYMMDD = /* Model end date YYYY-MM-DD */ +(PID.TID 0000.0001) 19920111 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate HHMMSS = /* Model end date HH-MM-SS */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intyears = /* Number of calendar years affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intmonths= /* Number of calendar months affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intdays = /* Number of calendar days affected by the integration */ +(PID.TID 0000.0001) 10 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIter0 = /* Base timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIterEnd = /* Final timestep number */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIntSteps= /* Number of model timesteps */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF general parameters: +(PID.TID 0000.0001) +(PID.TID 0000.0001) exf_iprec = /* exf file precision */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfYearlyFields = /* add extension _YEAR to input file names */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) twoDigitYear = /* use 2-digit year extension */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfCheckRange = /* check for fields range */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_output_interp = /* output directly interpolation result */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diags_opOceWeighted = /* weight flux diags by open-ocean fraction */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_debugLev = /* select EXF-debug printing level */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_monFreq = /* EXF monitor frequency [ s ] */ +(PID.TID 0000.0001) 4.320000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_adjMonSelect = /* select group of exf AD-variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) repeatPeriod = /* period for cycling forcing dataset [ s ] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) climTempFreeze= /* Minimum climatological temperature [deg.C] */ +(PID.TID 0000.0001) -1.900000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) windStressMax = /* Maximum absolute windstress [ Pa ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) stressIsOnCgrid = /* set u,v_stress on Arakawa C-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateStressOnAgrid = /* rotate u,v_stress on Arakawa A-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cen2kel = /* conversion of deg. Centigrade to Kelvin [K] */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity_mks= /* gravitational acceleration [m/s^2] */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmrho = /* mean atmospheric density [kg/m^3] */ +(PID.TID 0000.0001) 1.200000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmcp = /* mean atmospheric specific heat [J/kg/K] */ +(PID.TID 0000.0001) 1.005000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flamb = /* latent heat of evaporation [J/kg] */ +(PID.TID 0000.0001) 2.500000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flami = /* latent heat of pure-ice melting [J/kg] */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 6.403800000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.107400000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 1.163780000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.897800000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) humid_fac = /* humidity coef. in virtual temp. [(kg/kg)^-1] */ +(PID.TID 0000.0001) 6.060000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gamma_blk = /* adiabatic lapse rate [?] */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltsat = /* reduction of Qsat over salty water [-] */ +(PID.TID 0000.0001) 9.800000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) noNegativeEvap = /* prevent negative Evaporation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sstExtrapol = /* extrapolation coeff from lev. 1 & 2 to surf [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_1 = /* coef used in drag calculation [m/s] */ +(PID.TID 0000.0001) 2.700000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_2 = /* coef used in drag calculation [-] */ +(PID.TID 0000.0001) 1.420000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_3 = /* coef used in drag calculation [s/m] */ +(PID.TID 0000.0001) 7.640000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_8 = /* coef used in drag calculation [(s/m)^6] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDragMax = /* maximum drag (Large and Yeager, 2009) [-] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* at maximum wind (Large and Yeager, 2009) [m/s] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_1 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 3.270000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_2 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 1.800000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDalton = /* Dalton number [-] */ +(PID.TID 0000.0001) 3.460000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_scal_BulkCdn= /* Drag coefficient scaling factor [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zolmin = /* minimum stability parameter [?] */ +(PID.TID 0000.0001) -1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psim_fac = /* coef used in turbulent fluxes calculation [-] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zref = /* reference height [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hu = /* height of mean wind [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ht = /* height of mean temperature [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hq = /* height of mean spec.humidity [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uMin = /* minimum wind speed [m/s] */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStabilityFct_overIce= /* transfert Coeffs over sea-ice depend on stability */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCd = /* drag coefficient over sea-ice (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCe = /* transfert coeff. over sea-ice, for Evap (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCh = /* transfert coeff. over sea-ice, Sens.Heat.(fixed)[-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_albedo = /* Sea-water albedo [-] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenAlbedo = /* Sea-water albedo varies with zenith angle */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_ZenAlbedo = /* Sea-water albedo computation method */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenIncoming = /* compute incoming solar radiation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ocean_emissivity = /* longwave ocean-surface emissivity [-] */ +(PID.TID 0000.0001) 9.700176366843034E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ice_emissivity = /* longwave seaice emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snow_emissivity = /* longwave snow emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF main CPP flags: +(PID.TID 0000.0001) +(PID.TID 0000.0001) // USE_EXF_INTERPOLATION: defined +(PID.TID 0000.0001) // ALLOW_ATM_TEMP: NOT defined +(PID.TID 0000.0001) // ALLOW_ATM_WIND (useAtmWind): NOT defined +(PID.TID 0000.0001) // ALLOW_DOWNWARD_RADIATION: NOT defined +(PID.TID 0000.0001) // ALLOW_BULKFORMULAE: NOT defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Zonal wind stress forcing period is -12. +(PID.TID 0000.0001) Zonal wind stress forcing is read from file: +(PID.TID 0000.0001) >> trenberth_taux.bin << +(PID.TID 0000.0001) interpolate "ustress" (method= 12 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Meridional wind stress forcing period is -12. +(PID.TID 0000.0001) Meridional wind stress forcing is read from file: +(PID.TID 0000.0001) >> trenberth_tauy.bin << +(PID.TID 0000.0001) interpolate "vstress" (method= 22 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) Interp. U & V comp. together: uvInterp_stress = T +(PID.TID 0000.0001) +(PID.TID 0000.0001) Heat flux forcing period is -12. +(PID.TID 0000.0001) Heat flux forcing is read from file: +(PID.TID 0000.0001) >> ncep_qnet.bin << +(PID.TID 0000.0001) interpolate "hflux" (method= 1 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // EXF_READ_EVAP: NOT defined +(PID.TID 0000.0001) // ALLOW_RUNOFF: NOT defined +(PID.TID 0000.0001) // ALLOW_SALTFLX: NOT defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) climatology configuration : +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSST_RELAXATION: defined +(PID.TID 0000.0001) Climatological SST period is -12. +(PID.TID 0000.0001) Climatological SST is read from file: +(PID.TID 0000.0001) >> lev_sst.bin << +(PID.TID 0000.0001) interpolate "climsst" (method= 1 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSSS_RELAXATION: defined +(PID.TID 0000.0001) Climatological SSS period is -12. +(PID.TID 0000.0001) Climatological SSS is read from file: +(PID.TID 0000.0001) >> lev_sss.bin << +(PID.TID 0000.0001) interpolate "climsss" (method= 1 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 85573 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 984 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 922 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 898 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 12155 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 24310 +(PID.TID 0000.0001) ctrl-wet 8: atmos 24310 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 85573 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 2254 2102 2146 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 2215 2058 2104 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 2178 2027 2070 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 2142 1987 2029 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2114 1959 2004 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 2076 1918 1959 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 2048 1887 1925 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 1999 1831 1869 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 1948 1771 1808 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 1850 1653 1705 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 1655 1404 1458 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 1372 1118 1164 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 828 623 671 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 6 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 85573 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 27000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 012155 010816 011065 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 017154 015820 016259 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4226580169407E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4226580169407E-04 +(PID.TID 0000.0001) %MON fCori_mean = 1.5961865317148E-21 +(PID.TID 0000.0001) %MON fCori_sd = 9.6335367303779E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4112379284621E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4323448157692E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -3.5808620394229E-06 +(PID.TID 0000.0001) %MON fCoriG_sd = 9.6285194120965E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4535550371427E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.0239529651320E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 1.0260497651149E-04 +(PID.TID 0000.0001) %MON fCoriCos_sd = 3.6683828681187E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 6.5682677425711703E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.272205216643040E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 500 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.962666600296178E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 4.320000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 1.555200000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 90 @ 4.000000000000000E+00 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 40 @ 4.000000000000000E+00 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.200000000000000E+01, /* I = 21 */ +(PID.TID 0000.0001) 8.600000000000000E+01, /* I = 22 */ +(PID.TID 0000.0001) 9.000000000000000E+01, /* I = 23 */ +(PID.TID 0000.0001) 9.400000000000000E+01, /* I = 24 */ +(PID.TID 0000.0001) 9.800000000000000E+01, /* I = 25 */ +(PID.TID 0000.0001) 1.020000000000000E+02, /* I = 26 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.700000000000000E+02, /* I = 43 */ +(PID.TID 0000.0001) 1.740000000000000E+02, /* I = 44 */ +(PID.TID 0000.0001) 1.780000000000000E+02, /* I = 45 */ +(PID.TID 0000.0001) 1.820000000000000E+02, /* I = 46 */ +(PID.TID 0000.0001) 1.860000000000000E+02, /* I = 47 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* I = 48 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.580000000000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 2.620000000000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 2.660000000000000E+02, /* I = 67 */ +(PID.TID 0000.0001) 2.700000000000000E+02, /* I = 68 */ +(PID.TID 0000.0001) 2.740000000000000E+02, /* I = 69 */ +(PID.TID 0000.0001) 2.780000000000000E+02, /* I = 70 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.500000000000000E+02, /* I = 88 */ +(PID.TID 0000.0001) 3.540000000000000E+02, /* I = 89 */ +(PID.TID 0000.0001) 3.580000000000000E+02 /* I = 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.800000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.400000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.000000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -6.600000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -6.200000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -5.800000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -5.400000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -4.600000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -4.200000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -3.800000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -3.400000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -2.600000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -2.200000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -1.800000000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -1.400000000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -6.000000000000000E+00, /* J = 19 */ +(PID.TID 0000.0001) -2.000000000000000E+00, /* J = 20 */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* J = 21 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* J = 22 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) 2.600000000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) 3.400000000000000E+01, /* J = 29 */ +(PID.TID 0000.0001) 3.800000000000000E+01, /* J = 30 */ +(PID.TID 0000.0001) 4.200000000000000E+01, /* J = 31 */ +(PID.TID 0000.0001) 4.600000000000000E+01, /* J = 32 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* J = 33 */ +(PID.TID 0000.0001) 5.400000000000000E+01, /* J = 34 */ +(PID.TID 0000.0001) 5.800000000000000E+01, /* J = 35 */ +(PID.TID 0000.0001) 6.200000000000000E+01, /* J = 36 */ +(PID.TID 0000.0001) 6.600000000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 7.400000000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 7.800000000000000E+01 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 3.433488626798250E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.433488626798250E+10, /* J = 1 */ +(PID.TID 0000.0001) 4.783442523123625E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 3 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 4 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 5 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 6 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 19 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 20 */ +(PID.TID 0000.0001) 1.977267295821495E+11, /* J = 21 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 37 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 38 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.783442523123625E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.450614146649764E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+48 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'gkw91 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) EXF_CHECK: #define ALLOW_EXF +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 0 +(PID.TID 0000.0001) %MON time_secondsf = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_max = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9733388900757E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6197074666131E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.4174614518570E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.6229722638208E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7475627899170E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9752769470215E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4718006161477E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9628819587991E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0127003139695E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON pe_b_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 +(PID.TID 0000.0001) %MON vort_r_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_r_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_a_mean = -2.5205769728598E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3403301351719E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -3.1758669979760E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3126616755304E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 0 +(PID.TID 0000.0001) %MON exf_time_sec = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON exf_ustress_max = 2.7488999068737E-01 +(PID.TID 0000.0001) %MON exf_ustress_min = -1.6014087945223E-01 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.5030779315829E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 8.8631710585513E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 6.8877960374528E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 2.0835298299789E-01 +(PID.TID 0000.0001) %MON exf_vstress_min = -1.8690676242113E-01 +(PID.TID 0000.0001) %MON exf_vstress_mean = -6.0370444115579E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 4.4471432541253E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 4.6502974903782E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 4.2589080810547E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -1.8702698516846E+02 +(PID.TID 0000.0001) %MON exf_hflux_mean = -1.6700205338390E+01 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.1285666794876E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.1773372383983E+00 +(PID.TID 0000.0001) %MON exf_climsst_max = 2.9561637878418E+01 +(PID.TID 0000.0001) %MON exf_climsst_min = -1.9000000000000E+00 +(PID.TID 0000.0001) %MON exf_climsst_mean = 1.8364821435178E+01 +(PID.TID 0000.0001) %MON exf_climsst_sd = 9.2122803951938E+00 +(PID.TID 0000.0001) %MON exf_climsst_del2 = 2.4303814016692E-02 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.7451293945312E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 2.9661429405212E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.4846753273918E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 9.6901487505657E-01 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 7.0345793365991E-03 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.50562806350885E-14 6.28993178193994E+00 + cg2d: Sum(rhs),rhsMax = 1.00336405850499E-13 6.70007859133559E+00 + cg2d: Sum(rhs),rhsMax = 5.93969318174459E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = -3.24185123190546E-14 6.85801094466119E+00 + cg2d: Sum(rhs),rhsMax = -4.99600361081320E-14 7.14243599153802E+00 + cg2d: Sum(rhs),rhsMax = -4.26325641456060E-14 7.72291365607133E+00 + cg2d: Sum(rhs),rhsMax = -7.90478793533111E-14 8.03387068208590E+00 + cg2d: Sum(rhs),rhsMax = -3.04645197957143E-13 8.11896831221745E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.21243316691704E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 25 +(PID.TID 0000.0001) cg2d_last_res = 8.61904616318740E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 10 +(PID.TID 0000.0001) %MON time_secondsf = 4.3200000000000E+05 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.4265531171294E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -8.3393844235115E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 2.5425727499895E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 2.7022208921814E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3950811573698E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.0300131212373E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1831065510468E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -7.6047417313292E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1175997847039E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 9.0807961602088E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.2763230988020E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -8.8164703792027E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 4.8077159765747E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.4779388303534E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.1083233004078E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.6590811628920E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.9585400136367E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.0099585883963E-21 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.4895005682906E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.8170192568949E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9627372895710E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0895100798726E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.6058995604514E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.3870055048523E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.2153535018234E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7437864015705E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9780894890066E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4716859577764E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9614565000130E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0074131526581E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.6416734374353E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.3688397015289E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 9.8713778793038E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 1.5179287691691E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 9.0112040188062E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.8547922102572E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.4414613461562E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 9.3437862517658E-05 +(PID.TID 0000.0001) %MON ke_max = 5.5004439557167E-03 +(PID.TID 0000.0001) %MON ke_mean = 1.9145918082103E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 +(PID.TID 0000.0001) %MON vort_r_min = -3.2705199670934E-07 +(PID.TID 0000.0001) %MON vort_r_max = 4.7774599513752E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.5205769616255E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3401831223396E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -3.1758669838212E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3126207924545E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.5285894762419E-04 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.1706779794100E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 10 +(PID.TID 0000.0001) %MON exf_time_sec = 4.3200000000000E+05 +(PID.TID 0000.0001) %MON exf_ustress_max = 2.7073572479909E-01 +(PID.TID 0000.0001) %MON exf_ustress_min = -1.6261517304567E-01 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.5001891199497E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 8.8650879200067E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 6.9510685256700E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 2.1401905845250E-01 +(PID.TID 0000.0001) %MON exf_vstress_min = -1.8407777456507E-01 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.7269990041303E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 4.5027429170344E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 4.6544292330429E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 4.3096268192414E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -1.8476652108469E+02 +(PID.TID 0000.0001) %MON exf_hflux_mean = -1.6639663616666E+01 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.1182949623291E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.1785322808898E+00 +(PID.TID 0000.0001) %MON exf_climsst_max = 2.9483955260246E+01 +(PID.TID 0000.0001) %MON exf_climsst_min = -1.9000000000000E+00 +(PID.TID 0000.0001) %MON exf_climsst_mean = 1.8403413558844E+01 +(PID.TID 0000.0001) %MON exf_climsst_sd = 9.1956055138375E+00 +(PID.TID 0000.0001) %MON exf_climsst_del2 = 2.4346037167323E-02 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.7459143607847E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 2.9690893942310E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.4847776500140E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 9.6502048245594E-01 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 7.0909874257237E-03 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -3.65929508916452E-13 8.04727754553643E+00 + cg2d: Sum(rhs),rhsMax = -6.36823926924990E-13 7.88895797898159E+00 + cg2d: Sum(rhs),rhsMax = -8.44657677134819E-13 8.31754379147366E+00 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 8.97048397340147E+00 + cg2d: Sum(rhs),rhsMax = -8.29558643999917E-13 9.43480072446720E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950271935E+00 + cg2d: Sum(rhs),rhsMax = -5.09814412907872E-13 9.76269586763470E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.63804624662821E+00 + cg2d: Sum(rhs),rhsMax = -8.56203996590921E-13 9.34829007243764E+00 + cg2d: Sum(rhs),rhsMax = -7.78044295657310E-13 9.12167905632681E+00 +(PID.TID 0000.0001) cg2d_init_res = 8.02324513658737E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 25 +(PID.TID 0000.0001) cg2d_last_res = 3.14565696591676E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 20 +(PID.TID 0000.0001) %MON time_secondsf = 8.6400000000000E+05 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0884793352945E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.0240014646491E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 5.1077863971295E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 3.6834212550780E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9617383827006E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.6918545047124E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.3978589286159E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -9.0500488123740E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.7484186526642E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.1144749586626E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.3628736560381E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3353890125702E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 2.2636858611611E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2893754073984E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0812289944863E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.5975896911644E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.7697356232963E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.6305898116368E-21 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6641230062618E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.7090754679652E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9431867058983E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0531967918882E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.5956760479472E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.3552327342299E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 4.9584645411631E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7421844928125E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.9785194129027E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4716231358454E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9587429127505E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.0019566199393E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.3175242540765E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.3270508470032E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 8.2666872176075E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.3659125849473E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.3239224675132E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.5616185453586E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.4530984935619E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 1.7361369486439E-04 +(PID.TID 0000.0001) %MON ke_max = 1.3120499506137E-02 +(PID.TID 0000.0001) %MON ke_mean = 2.5302954684116E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.3226782436723E+18 +(PID.TID 0000.0001) %MON vort_r_min = -4.4516093630396E-07 +(PID.TID 0000.0001) %MON vort_r_max = 3.8113615159083E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.5205769549738E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3401479636588E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -3.1758669754402E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.3126057419671E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 3.3771111578664E-05 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -5.3277243151150E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %CHECKPOINT 20 ckptA +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075227D+06 +(PID.TID 0000.0001) local fc = 0.798704765435371D+06 +(PID.TID 0000.0001) global fc = 0.798704765435371D+06 + cg2d: Sum(rhs),rhsMax = -7.78044295657310E-13 9.12167905632681E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + cg2d: Sum(rhs),rhsMax = -7.78044295657310E-13 9.12167905632681E+00 + cg2d: Sum(rhs),rhsMax = -7.78044295657310E-13 9.12167905632681E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -8.56203996590921E-13 9.34829007243764E+00 + cg2d: Sum(rhs),rhsMax = -8.56203996590921E-13 9.34829007243764E+00 + cg2d: Sum(rhs),rhsMax = -8.56203996590921E-13 9.34829007243764E+00 + cg2d: Sum(rhs),rhsMax = -5.28743715477731E-15 6.76966537085449E-04 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.63804624662821E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.63804624662821E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.63804624662821E+00 + cg2d: Sum(rhs),rhsMax = 8.89288642724750E-14 1.12800176292508E-03 + cg2d: Sum(rhs),rhsMax = -5.09814412907872E-13 9.76269586763470E+00 + cg2d: Sum(rhs),rhsMax = -5.09814412907872E-13 9.76269586763470E+00 + cg2d: Sum(rhs),rhsMax = -5.09814412907872E-13 9.76269586763470E+00 + cg2d: Sum(rhs),rhsMax = 1.74665837349153E-13 1.19230209700089E-03 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950271935E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950271935E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950271935E+00 + cg2d: Sum(rhs),rhsMax = 4.02455846426619E-13 1.12069397365533E-03 + cg2d: Sum(rhs),rhsMax = -8.29558643999917E-13 9.43480072446720E+00 + cg2d: Sum(rhs),rhsMax = -8.29558643999917E-13 9.43480072446720E+00 + cg2d: Sum(rhs),rhsMax = -8.29558643999917E-13 9.43480072446720E+00 + cg2d: Sum(rhs),rhsMax = 4.85722573273506E-13 1.06839092629844E-03 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 8.97048397340147E+00 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 8.97048397340147E+00 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 8.97048397340147E+00 + cg2d: Sum(rhs),rhsMax = 5.43232125949089E-13 1.04899306102913E-03 + cg2d: Sum(rhs),rhsMax = -8.44657677134819E-13 8.31754379147366E+00 + cg2d: Sum(rhs),rhsMax = -8.44657677134819E-13 8.31754379147366E+00 + cg2d: Sum(rhs),rhsMax = -8.44657677134819E-13 8.31754379147366E+00 + cg2d: Sum(rhs),rhsMax = 6.03517236186235E-13 1.01928705835677E-03 + cg2d: Sum(rhs),rhsMax = -6.36823926924990E-13 7.88895797898159E+00 + cg2d: Sum(rhs),rhsMax = -6.36823926924990E-13 7.88895797898159E+00 + cg2d: Sum(rhs),rhsMax = -6.36823926924990E-13 7.88895797898159E+00 + cg2d: Sum(rhs),rhsMax = 6.87672141452822E-13 9.85320725523901E-04 + cg2d: Sum(rhs),rhsMax = -3.65929508916452E-13 8.04727754553643E+00 + cg2d: Sum(rhs),rhsMax = -3.65929508916452E-13 8.04727754553643E+00 + cg2d: Sum(rhs),rhsMax = -3.65929508916452E-13 8.04727754553643E+00 + cg2d: Sum(rhs),rhsMax = 6.83897383169096E-13 1.00868528908259E-03 + cg2d: Sum(rhs),rhsMax = -3.04645197957143E-13 8.11896831221745E+00 + cg2d: Sum(rhs),rhsMax = -3.04645197957143E-13 8.11896831221745E+00 + cg2d: Sum(rhs),rhsMax = -3.04645197957143E-13 8.11896831221745E+00 + cg2d: Sum(rhs),rhsMax = 7.11875003389650E-13 1.01831017062021E-03 + cg2d: Sum(rhs),rhsMax = -7.90478793533111E-14 8.03387068208590E+00 + cg2d: Sum(rhs),rhsMax = -7.90478793533111E-14 8.03387068208590E+00 + cg2d: Sum(rhs),rhsMax = -7.90478793533111E-14 8.03387068208590E+00 + cg2d: Sum(rhs),rhsMax = 8.66862137627322E-13 1.01730137453669E-03 + cg2d: Sum(rhs),rhsMax = -4.26325641456060E-14 7.72291365607133E+00 + cg2d: Sum(rhs),rhsMax = -4.26325641456060E-14 7.72291365607133E+00 + cg2d: Sum(rhs),rhsMax = -4.26325641456060E-14 7.72291365607133E+00 + cg2d: Sum(rhs),rhsMax = 1.00230934663159E-12 1.01053671002043E-03 + cg2d: Sum(rhs),rhsMax = -4.99600361081320E-14 7.14243599153802E+00 + cg2d: Sum(rhs),rhsMax = -4.99600361081320E-14 7.14243599153802E+00 + cg2d: Sum(rhs),rhsMax = -4.99600361081320E-14 7.14243599153802E+00 + cg2d: Sum(rhs),rhsMax = 1.10045306200846E-12 1.00342273311352E-03 + cg2d: Sum(rhs),rhsMax = -3.24185123190546E-14 6.85801094466119E+00 + cg2d: Sum(rhs),rhsMax = -3.24185123190546E-14 6.85801094466119E+00 + cg2d: Sum(rhs),rhsMax = -3.24185123190546E-14 6.85801094466119E+00 + cg2d: Sum(rhs),rhsMax = 1.34425803821614E-12 1.00012240906901E-03 + cg2d: Sum(rhs),rhsMax = 5.93969318174459E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = 5.93969318174459E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = 5.93969318174459E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = 1.35225164399344E-12 1.00294944830281E-03 + cg2d: Sum(rhs),rhsMax = 1.00336405850499E-13 6.70007859133559E+00 + cg2d: Sum(rhs),rhsMax = 1.00336405850499E-13 6.70007859133559E+00 + cg2d: Sum(rhs),rhsMax = 1.00336405850499E-13 6.70007859133559E+00 + cg2d: Sum(rhs),rhsMax = 1.54720680711762E-12 1.01232637639743E-03 + cg2d: Sum(rhs),rhsMax = 7.50562806350885E-14 6.28993178193994E+00 + cg2d: Sum(rhs),rhsMax = 7.50562806350885E-14 6.28993178193994E+00 + cg2d: Sum(rhs),rhsMax = 7.50562806350885E-14 6.28993178193994E+00 + cg2d: Sum(rhs),rhsMax = 1.54587453948807E-12 1.02695457066718E-03 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 1.49125156667651E-12 1.04437188573639E-03 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 1.47215573065296E-12 1.06189295162398E-03 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.50562806350885E-14 6.28993178193994E+00 + cg2d: Sum(rhs),rhsMax = 1.00336405850499E-13 6.70007859133559E+00 + cg2d: Sum(rhs),rhsMax = 5.93969318174459E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = -3.24185123190546E-14 6.85801094466119E+00 + cg2d: Sum(rhs),rhsMax = -4.99600361081320E-14 7.14243599153802E+00 + cg2d: Sum(rhs),rhsMax = -4.26325641456060E-14 7.72291365607133E+00 + cg2d: Sum(rhs),rhsMax = -7.90478793533111E-14 8.03387068208590E+00 + cg2d: Sum(rhs),rhsMax = -3.04645197957143E-13 8.11896831221745E+00 + cg2d: Sum(rhs),rhsMax = -3.65929508916452E-13 8.04727754553643E+00 + cg2d: Sum(rhs),rhsMax = -6.36823926924990E-13 7.88895797898159E+00 + cg2d: Sum(rhs),rhsMax = -8.44657677134819E-13 8.31754379147366E+00 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 8.97048397340147E+00 + cg2d: Sum(rhs),rhsMax = -8.29558643999917E-13 9.43480072446720E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950271935E+00 + cg2d: Sum(rhs),rhsMax = -5.09814412907872E-13 9.76269586763470E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.63804624662821E+00 + cg2d: Sum(rhs),rhsMax = -8.56203996590921E-13 9.34829007243764E+00 + cg2d: Sum(rhs),rhsMax = -7.78044295657310E-13 9.12167905632681E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075227D+06 +(PID.TID 0000.0001) local fc = 0.798704765435371D+06 +(PID.TID 0000.0001) global fc = 0.798704765435371D+06 +(PID.TID 0000.0001) grdchk reference fc: fcref = 7.98704765435371E+05 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj + grad-res exact position met: + grad-res 0 204 4 8 1 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 204 6945 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 4 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 4 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.53321016677688E-14 6.28993178194151E+00 + cg2d: Sum(rhs),rhsMax = 4.27713420236842E-14 6.70007859134346E+00 + cg2d: Sum(rhs),rhsMax = 6.41708908233340E-14 6.82703161609865E+00 + cg2d: Sum(rhs),rhsMax = 7.14983627858601E-14 6.85801094470190E+00 + cg2d: Sum(rhs),rhsMax = 8.34887714518118E-14 7.14243599155058E+00 + cg2d: Sum(rhs),rhsMax = -1.56097357262297E-13 7.72291365609697E+00 + cg2d: Sum(rhs),rhsMax = -9.59232693276135E-14 8.03387068212535E+00 + cg2d: Sum(rhs),rhsMax = -3.07753822426093E-13 8.11896831227152E+00 + cg2d: Sum(rhs),rhsMax = -5.01820807130571E-13 8.04727754560105E+00 + cg2d: Sum(rhs),rhsMax = -7.05213665241899E-13 7.88895797900659E+00 + cg2d: Sum(rhs),rhsMax = -8.19788681383216E-13 8.31754379149280E+00 + cg2d: Sum(rhs),rhsMax = -9.13047415451729E-13 8.97048397342872E+00 + cg2d: Sum(rhs),rhsMax = -8.45545855554519E-13 9.43480072450346E+00 + cg2d: Sum(rhs),rhsMax = -8.22453216642316E-13 9.69891950276479E+00 + cg2d: Sum(rhs),rhsMax = -8.38440428196918E-13 9.76269586768807E+00 + cg2d: Sum(rhs),rhsMax = -7.54951656745106E-13 9.63804624668725E+00 + cg2d: Sum(rhs),rhsMax = -7.56728013584507E-13 9.34829007249910E+00 + cg2d: Sum(rhs),rhsMax = -8.73967564984923E-13 9.12167905635334E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358160D+06 + --> objf_test(bi,bj) = 0.444589534075216D+06 +(PID.TID 0000.0001) local fc = 0.798704765433376D+06 +(PID.TID 0000.0001) global fc = 0.798704765433376D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433376E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.07489622442381E-14 6.28993178193838E+00 + cg2d: Sum(rhs),rhsMax = 1.31589183993697E-13 6.70007859132745E+00 + cg2d: Sum(rhs),rhsMax = 3.99680288865056E-14 6.82703161605603E+00 + cg2d: Sum(rhs),rhsMax = 7.06101843661600E-14 6.85801094462227E+00 + cg2d: Sum(rhs),rhsMax = -1.06581410364015E-14 7.14243599152355E+00 + cg2d: Sum(rhs),rhsMax = -3.53050921830800E-14 7.72291365604630E+00 + cg2d: Sum(rhs),rhsMax = -1.00364161426114E-13 8.03387068204720E+00 + cg2d: Sum(rhs),rhsMax = -3.38395977905748E-13 8.11896831216451E+00 + cg2d: Sum(rhs),rhsMax = -3.97903932025656E-13 8.04727754547043E+00 + cg2d: Sum(rhs),rhsMax = -7.55839835164807E-13 7.88895797895663E+00 + cg2d: Sum(rhs),rhsMax = -9.37916411203332E-13 8.31754379145464E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 8.97048397337405E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.43480072443075E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950267401E+00 + cg2d: Sum(rhs),rhsMax = -8.88178419700125E-13 9.76269586758171E+00 + cg2d: Sum(rhs),rhsMax = -8.02913291408913E-13 9.63804624656971E+00 + cg2d: Sum(rhs),rhsMax = -7.81597009336110E-13 9.34829007237633E+00 + cg2d: Sum(rhs),rhsMax = -8.84625706021325E-13 9.12167905630036E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362129D+06 + --> objf_test(bi,bj) = 0.444589534075239D+06 +(PID.TID 0000.0001) local fc = 0.798704765437369D+06 +(PID.TID 0000.0001) global fc = 0.798704765437369D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437369E+05 +grad-res ------------------------------- + grad-res 0 1 4 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 1 1 204 0 1 1 1 -1.99545934416E-02 -1.99623173103E-02 -3.87072215862E-04 +(PID.TID 0000.0001) ADM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -1.99545934415736E-02 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.99623173102736E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 205 6945 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 204 2 + ph-grd -->hit<-- 5 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 5 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 3.57942842033054E-14 6.28993178194343E+00 + cg2d: Sum(rhs),rhsMax = 1.03556052621911E-13 6.70007859135132E+00 + cg2d: Sum(rhs),rhsMax = 6.43929354282591E-14 6.82703161611199E+00 + cg2d: Sum(rhs),rhsMax = 1.01474384450739E-13 6.85801094471951E+00 + cg2d: Sum(rhs),rhsMax = -2.99760216648792E-14 7.14243599156130E+00 + cg2d: Sum(rhs),rhsMax = 2.26485497023532E-14 7.72291365611195E+00 + cg2d: Sum(rhs),rhsMax = -1.95843341543878E-13 8.03387068214442E+00 + cg2d: Sum(rhs),rhsMax = -3.59268170768701E-13 8.11896831229113E+00 + cg2d: Sum(rhs),rhsMax = -4.87609952415369E-13 8.04727754561625E+00 + cg2d: Sum(rhs),rhsMax = -8.03801469828613E-13 7.88895797901699E+00 + cg2d: Sum(rhs),rhsMax = -6.74127420552395E-13 8.31754379150284E+00 + cg2d: Sum(rhs),rhsMax = -8.36664071357518E-13 8.97048397344084E+00 + cg2d: Sum(rhs),rhsMax = -9.14823772291129E-13 9.43480072451688E+00 + cg2d: Sum(rhs),rhsMax = -8.17124146124115E-13 9.69891950277832E+00 + cg2d: Sum(rhs),rhsMax = -6.05737682235485E-13 9.76269586770022E+00 + cg2d: Sum(rhs),rhsMax = -5.79092329644482E-13 9.63804624669669E+00 + cg2d: Sum(rhs),rhsMax = -9.41469124882133E-13 9.34829007250513E+00 + cg2d: Sum(rhs),rhsMax = -9.05941988094128E-13 9.12167905636224E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358193D+06 + --> objf_test(bi,bj) = 0.444589534075217D+06 +(PID.TID 0000.0001) local fc = 0.798704765433409D+06 +(PID.TID 0000.0001) global fc = 0.798704765433409D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433409E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 6.10084899266283E-14 6.28993178193646E+00 + cg2d: Sum(rhs),rhsMax = 7.47457651328887E-14 6.70007859132015E+00 + cg2d: Sum(rhs),rhsMax = 6.96109836439973E-14 6.82703161604287E+00 + cg2d: Sum(rhs),rhsMax = 9.82547376793264E-14 6.85801094460573E+00 + cg2d: Sum(rhs),rhsMax = -6.26165785888588E-14 7.14243599151192E+00 + cg2d: Sum(rhs),rhsMax = 3.33066907387547E-15 7.72291365602942E+00 + cg2d: Sum(rhs),rhsMax = -1.18127729820117E-13 8.03387068202681E+00 + cg2d: Sum(rhs),rhsMax = -2.93542967710891E-13 8.11896831214697E+00 + cg2d: Sum(rhs),rhsMax = -3.32178728967847E-13 8.04727754545894E+00 + cg2d: Sum(rhs),rhsMax = -5.14255305006373E-13 7.88895797894649E+00 + cg2d: Sum(rhs),rhsMax = -8.28670465580217E-13 8.31754379144449E+00 + cg2d: Sum(rhs),rhsMax = -7.63833440942108E-13 8.97048397336176E+00 + cg2d: Sum(rhs),rhsMax = -8.11795075605914E-13 9.43480072441719E+00 + cg2d: Sum(rhs),rhsMax = -8.45545855554519E-13 9.69891950266048E+00 + cg2d: Sum(rhs),rhsMax = -6.66133814775094E-13 9.76269586756972E+00 + cg2d: Sum(rhs),rhsMax = -8.79296635503124E-13 9.63804624656059E+00 + cg2d: Sum(rhs),rhsMax = -7.95807864051312E-13 9.34829007237082E+00 + cg2d: Sum(rhs),rhsMax = -8.63309423948522E-13 9.12167905629137E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362097D+06 + --> objf_test(bi,bj) = 0.444589534075237D+06 +(PID.TID 0000.0001) local fc = 0.798704765437333D+06 +(PID.TID 0000.0001) global fc = 0.798704765437333D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437333E+05 +grad-res ------------------------------- + grad-res 0 2 5 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 2 2 205 0 1 1 1 -1.96210731004E-02 -1.96188921109E-02 1.11155467466E-04 +(PID.TID 0000.0001) ADM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -1.96210731004369E-02 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.96188921108842E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 206 6945 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 205 3 + ph-grd -->hit<-- 6 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 6 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 8.73016936520088E-14 6.28993178194434E+00 + cg2d: Sum(rhs),rhsMax = 1.09412479076809E-13 6.70007859135251E+00 + cg2d: Sum(rhs),rhsMax = 9.65894031423886E-14 6.82703161611302E+00 + cg2d: Sum(rhs),rhsMax = 1.31339383813156E-13 6.85801094471969E+00 + cg2d: Sum(rhs),rhsMax = -3.88578058618805E-14 7.14243599156986E+00 + cg2d: Sum(rhs),rhsMax = 2.04281036531029E-14 7.72291365612118E+00 + cg2d: Sum(rhs),rhsMax = 6.66133814775094E-15 8.03387068215144E+00 + cg2d: Sum(rhs),rhsMax = -3.09086090055644E-13 8.11896831229601E+00 + cg2d: Sum(rhs),rhsMax = -4.71622740860766E-13 8.04727754561628E+00 + cg2d: Sum(rhs),rhsMax = -7.73603403558809E-13 7.88895797902048E+00 + cg2d: Sum(rhs),rhsMax = -7.71827046719409E-13 8.31754379150922E+00 + cg2d: Sum(rhs),rhsMax = -9.25481913327530E-13 8.97048397344763E+00 + cg2d: Sum(rhs),rhsMax = -7.99360577730113E-13 9.43480072452314E+00 + cg2d: Sum(rhs),rhsMax = -7.88702436693711E-13 9.69891950278317E+00 + cg2d: Sum(rhs),rhsMax = -6.99884594723699E-13 9.76269586770301E+00 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.63804624669697E+00 + cg2d: Sum(rhs),rhsMax = -6.39488462184090E-13 9.34829007250261E+00 + cg2d: Sum(rhs),rhsMax = -8.02913291408913E-13 9.12167905636661E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358188D+06 + --> objf_test(bi,bj) = 0.444589534075218D+06 +(PID.TID 0000.0001) local fc = 0.798704765433406D+06 +(PID.TID 0000.0001) global fc = 0.798704765433406D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433406E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.51305659510126E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 8.44515429809789E-14 6.28993178193555E+00 + cg2d: Sum(rhs),rhsMax = 9.50350909079134E-14 6.70007859131807E+00 + cg2d: Sum(rhs),rhsMax = 4.11892742135933E-14 6.82703161604091E+00 + cg2d: Sum(rhs),rhsMax = 2.47579734491410E-14 6.85801094460644E+00 + cg2d: Sum(rhs),rhsMax = 3.10862446895044E-14 7.14243599150492E+00 + cg2d: Sum(rhs),rhsMax = -4.24105195406810E-14 7.72291365601962E+00 + cg2d: Sum(rhs),rhsMax = -9.14823772291129E-14 8.03387068201762E+00 + cg2d: Sum(rhs),rhsMax = -3.78364006792253E-13 8.11896831214093E+00 + cg2d: Sum(rhs),rhsMax = -4.92050844513869E-13 8.04727754545728E+00 + cg2d: Sum(rhs),rhsMax = -7.41628980449605E-13 7.88895797893960E+00 + cg2d: Sum(rhs),rhsMax = -7.42517158869305E-13 8.31754379143805E+00 + cg2d: Sum(rhs),rhsMax = -8.20676859802916E-13 8.97048397335496E+00 + cg2d: Sum(rhs),rhsMax = -7.85149723014911E-13 9.43480072441083E+00 + cg2d: Sum(rhs),rhsMax = -7.62057084102707E-13 9.69891950265567E+00 + cg2d: Sum(rhs),rhsMax = -6.27053964308288E-13 9.76269586756700E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.63804624656036E+00 + cg2d: Sum(rhs),rhsMax = -8.38440428196918E-13 9.34829007237321E+00 + cg2d: Sum(rhs),rhsMax = -8.81072992342524E-13 9.12167905628693E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362102D+06 + --> objf_test(bi,bj) = 0.444589534075236D+06 +(PID.TID 0000.0001) local fc = 0.798704765437337D+06 +(PID.TID 0000.0001) global fc = 0.798704765437337D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437337E+05 +grad-res ------------------------------- + grad-res 0 3 6 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 3 3 206 0 1 1 1 -1.96590888574E-02 -1.96584733203E-02 3.13105597414E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -1.96590888573815E-02 +(PID.TID 0000.0001) ADM finite-diff_grad = -1.96584733203053E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 207 6945 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 206 4 + ph-grd -->hit<-- 7 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 7 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 4.50004616903144E-14 6.28993178194315E+00 + cg2d: Sum(rhs),rhsMax = 1.31367139388772E-13 6.70007859135030E+00 + cg2d: Sum(rhs),rhsMax = 5.96189764223709E-14 6.82703161610809E+00 + cg2d: Sum(rhs),rhsMax = 1.65423230669148E-14 6.85801094471197E+00 + cg2d: Sum(rhs),rhsMax = -3.41948691584548E-14 7.14243599157407E+00 + cg2d: Sum(rhs),rhsMax = -3.88578058618805E-14 7.72291365612505E+00 + cg2d: Sum(rhs),rhsMax = -1.19904086659517E-14 8.03387068215321E+00 + cg2d: Sum(rhs),rhsMax = -2.95319324550292E-13 8.11896831229459E+00 + cg2d: Sum(rhs),rhsMax = -3.99680288865056E-13 8.04727754561298E+00 + cg2d: Sum(rhs),rhsMax = -7.30082660993503E-13 7.88895797902488E+00 + cg2d: Sum(rhs),rhsMax = -7.96696042471012E-13 8.31754379151353E+00 + cg2d: Sum(rhs),rhsMax = -8.34887714518118E-13 8.97048397345162E+00 + cg2d: Sum(rhs),rhsMax = -8.89954776539525E-13 9.43480072452627E+00 + cg2d: Sum(rhs),rhsMax = -7.88702436693711E-13 9.69891950278502E+00 + cg2d: Sum(rhs),rhsMax = -6.69686528453894E-13 9.76269586770318E+00 + cg2d: Sum(rhs),rhsMax = -7.22977233635902E-13 9.63804624669534E+00 + cg2d: Sum(rhs),rhsMax = -6.64357457935694E-13 9.34829007249936E+00 + cg2d: Sum(rhs),rhsMax = -6.85673740008497E-13 9.12167905636955E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231357987D+06 + --> objf_test(bi,bj) = 0.444589534075221D+06 +(PID.TID 0000.0001) local fc = 0.798704765433208D+06 +(PID.TID 0000.0001) global fc = 0.798704765433208D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433208E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 6.52446846549637E-14 6.28993178193674E+00 + cg2d: Sum(rhs),rhsMax = 7.80209230555329E-14 6.70007859132161E+00 + cg2d: Sum(rhs),rhsMax = 9.50350909079134E-14 6.82703161604641E+00 + cg2d: Sum(rhs),rhsMax = 5.58442181386454E-14 6.85801094461299E+00 + cg2d: Sum(rhs),rhsMax = 1.55431223447522E-14 7.14243599149923E+00 + cg2d: Sum(rhs),rhsMax = -9.19264664389630E-14 7.72291365601715E+00 + cg2d: Sum(rhs),rhsMax = -9.90318937965640E-14 8.03387068201753E+00 + cg2d: Sum(rhs),rhsMax = -3.86357612569554E-13 8.11896831214255E+00 + cg2d: Sum(rhs),rhsMax = -5.12478948166972E-13 8.04727754546010E+00 + cg2d: Sum(rhs),rhsMax = -7.68274333040608E-13 7.88895797893527E+00 + cg2d: Sum(rhs),rhsMax = -7.74491581978509E-13 8.31754379143366E+00 + cg2d: Sum(rhs),rhsMax = -9.84101689027739E-13 8.97048397335084E+00 + cg2d: Sum(rhs),rhsMax = -8.52651282912120E-13 9.43480072440763E+00 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.69891950265375E+00 + cg2d: Sum(rhs),rhsMax = -7.24753590475302E-13 9.76269586756687E+00 + cg2d: Sum(rhs),rhsMax = -8.75743921824323E-13 9.63804624656203E+00 + cg2d: Sum(rhs),rhsMax = -7.24753590475302E-13 9.34829007237654E+00 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 9.12167905628407E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362302D+06 + --> objf_test(bi,bj) = 0.444589534075234D+06 +(PID.TID 0000.0001) local fc = 0.798704765437537D+06 +(PID.TID 0000.0001) global fc = 0.798704765437537D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437537E+05 +grad-res ------------------------------- + grad-res 0 4 7 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765438E+05 + grad-res 0 4 4 207 0 1 1 1 -2.16533768328E-02 -2.16439366341E-02 4.35968892484E-04 +(PID.TID 0000.0001) ADM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -2.16533768327800E-02 +(PID.TID 0000.0001) ADM finite-diff_grad = -2.16439366340637E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 208 6945 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 207 5 + ph-grd -->hit<-- 8 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 8 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.74033614980851E-14 6.28993178194144E+00 + cg2d: Sum(rhs),rhsMax = 1.02529096324133E-13 6.70007859134291E+00 + cg2d: Sum(rhs),rhsMax = 7.28306304154103E-14 6.82703161609566E+00 + cg2d: Sum(rhs),rhsMax = 2.02060590481778E-14 6.85801094469373E+00 + cg2d: Sum(rhs),rhsMax = -2.42028619368284E-14 7.14243599156807E+00 + cg2d: Sum(rhs),rhsMax = -1.07913677993565E-13 7.72291365611494E+00 + cg2d: Sum(rhs),rhsMax = -4.57411886145564E-14 8.03387068214167E+00 + cg2d: Sum(rhs),rhsMax = -3.00648395068492E-13 8.11896831228110E+00 + cg2d: Sum(rhs),rhsMax = -4.68070027181966E-13 8.04727754560106E+00 + cg2d: Sum(rhs),rhsMax = -8.65085780787922E-13 7.88895797902036E+00 + cg2d: Sum(rhs),rhsMax = -7.03437308402499E-13 8.31754379151048E+00 + cg2d: Sum(rhs),rhsMax = -9.76996261670138E-13 8.97048397344724E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.43480072452051E+00 + cg2d: Sum(rhs),rhsMax = -7.08766378920700E-13 9.69891950277805E+00 + cg2d: Sum(rhs),rhsMax = -7.65609797781508E-13 9.76269586769535E+00 + cg2d: Sum(rhs),rhsMax = -6.34159391665889E-13 9.63804624668709E+00 + cg2d: Sum(rhs),rhsMax = -8.59756710269721E-13 9.34829007249099E+00 + cg2d: Sum(rhs),rhsMax = -8.52651282912120E-13 9.12167905636606E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358061D+06 + --> objf_test(bi,bj) = 0.444589534075221D+06 +(PID.TID 0000.0001) local fc = 0.798704765433282D+06 +(PID.TID 0000.0001) global fc = 0.798704765433282D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433282E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 6.42142589102335E-14 6.28993178193845E+00 + cg2d: Sum(rhs),rhsMax = 8.10185252220208E-14 6.70007859132800E+00 + cg2d: Sum(rhs),rhsMax = 8.01581023779363E-14 6.82703161605798E+00 + cg2d: Sum(rhs),rhsMax = 9.58122470251510E-14 6.85801094462948E+00 + cg2d: Sum(rhs),rhsMax = -5.66213742558830E-14 7.14243599150587E+00 + cg2d: Sum(rhs),rhsMax = -3.44169137633799E-14 7.72291365602575E+00 + cg2d: Sum(rhs),rhsMax = -1.59872115546023E-13 8.03387068202880E+00 + cg2d: Sum(rhs),rhsMax = -3.77919917582403E-13 8.11896831215564E+00 + cg2d: Sum(rhs),rhsMax = -4.13891143580258E-13 8.04727754547380E+00 + cg2d: Sum(rhs),rhsMax = -6.10178574333986E-13 7.88895797893939E+00 + cg2d: Sum(rhs),rhsMax = -8.75743921824323E-13 8.31754379143682E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 8.97048397335530E+00 + cg2d: Sum(rhs),rhsMax = -7.31859017832903E-13 9.43480072441335E+00 + cg2d: Sum(rhs),rhsMax = -8.45545855554519E-13 9.69891950266066E+00 + cg2d: Sum(rhs),rhsMax = -7.47846229387505E-13 9.76269586757459E+00 + cg2d: Sum(rhs),rhsMax = -5.20472553944273E-13 9.63804624657024E+00 + cg2d: Sum(rhs),rhsMax = -8.81072992342524E-13 9.34829007238485E+00 + cg2d: Sum(rhs),rhsMax = -8.10018718766514E-13 9.12167905628749E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362228D+06 + --> objf_test(bi,bj) = 0.444589534075233D+06 +(PID.TID 0000.0001) local fc = 0.798704765437461D+06 +(PID.TID 0000.0001) global fc = 0.798704765437461D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437461E+05 +grad-res ------------------------------- + grad-res 0 5 8 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 5 5 208 0 1 1 1 -2.08952615873E-02 -2.08965502679E-02 -6.16733426710E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -2.08952615873067E-02 +(PID.TID 0000.0001) ADM finite-diff_grad = -2.08965502679348E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 4 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 1 7.9870476543537E+05 7.9870476543338E+05 7.9870476543737E+05 +(PID.TID 0000.0001) grdchk output (g): 1 -1.9962317310274E-02 -1.9954593441574E-02 -3.8707221586232E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 5 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 2 7.9870476543537E+05 7.9870476543341E+05 7.9870476543733E+05 +(PID.TID 0000.0001) grdchk output (g): 2 -1.9618892110884E-02 -1.9621073100437E-02 1.1115546746598E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 6 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 3 7.9870476543537E+05 7.9870476543341E+05 7.9870476543734E+05 +(PID.TID 0000.0001) grdchk output (g): 3 -1.9658473320305E-02 -1.9659088857381E-02 3.1310559741371E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 7 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 4 7.9870476543537E+05 7.9870476543321E+05 7.9870476543754E+05 +(PID.TID 0000.0001) grdchk output (g): 4 -2.1643936634064E-02 -2.1653376832780E-02 4.3596889248410E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 8 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 5 7.9870476543537E+05 7.9870476543328E+05 7.9870476543746E+05 +(PID.TID 0000.0001) grdchk output (g): 5 -2.0896550267935E-02 -2.0895261587307E-02 -6.1673342671043E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 2.6722023344107E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 52.232260827906430 +(PID.TID 0000.0001) System time: 1.2069439650513232 +(PID.TID 0000.0001) Wall clock time: 53.601886987686157 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 5.6226999498903751E-002 +(PID.TID 0000.0001) System time: 1.0831999825313687E-002 +(PID.TID 0000.0001) Wall clock time: 6.7749977111816406E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 35.091530293226242 +(PID.TID 0000.0001) System time: 2.3550638929009438E-002 +(PID.TID 0000.0001) Wall clock time: 35.210709571838379 +(PID.TID 0000.0001) No. starts: 240 +(PID.TID 0000.0001) No. stops: 240 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.59764096885919571 +(PID.TID 0000.0001) System time: 9.5709953457117081E-003 +(PID.TID 0000.0001) Wall clock time: 0.60989141464233398 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "EXF_GETFORCING [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 0.51554051041603088 +(PID.TID 0000.0001) System time: 6.6680889576673508E-003 +(PID.TID 0000.0001) Wall clock time: 0.52456307411193848 +(PID.TID 0000.0001) No. starts: 280 +(PID.TID 0000.0001) No. stops: 280 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 1.5440285205841064E-003 +(PID.TID 0000.0001) System time: 1.0898336768150330E-005 +(PID.TID 0000.0001) Wall clock time: 1.5761852264404297E-003 +(PID.TID 0000.0001) No. starts: 280 +(PID.TID 0000.0001) No. stops: 280 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.22511525452136993 +(PID.TID 0000.0001) System time: 9.8034739494323730E-005 +(PID.TID 0000.0001) Wall clock time: 0.22597646713256836 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.8302665352821350E-002 +(PID.TID 0000.0001) System time: 8.8084489107131958E-005 +(PID.TID 0000.0001) Wall clock time: 4.8523187637329102E-002 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.4010017961263657 +(PID.TID 0000.0001) System time: 1.9858665764331818E-003 +(PID.TID 0000.0001) Wall clock time: 6.4205956459045410 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 11.502550095319748 +(PID.TID 0000.0001) System time: 9.8811089992523193E-004 +(PID.TID 0000.0001) Wall clock time: 11.535719156265259 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 14.981911793351173 +(PID.TID 0000.0001) System time: 6.0021877288818359E-005 +(PID.TID 0000.0001) Wall clock time: 15.021981716156006 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.1958214640617371 +(PID.TID 0000.0001) System time: 2.8968751430511475E-003 +(PID.TID 0000.0001) Wall clock time: 2.2044942378997803 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.44392806291580200 +(PID.TID 0000.0001) System time: 6.2808394432067871E-005 +(PID.TID 0000.0001) Wall clock time: 0.44531917572021484 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.52864855527877808 +(PID.TID 0000.0001) System time: 9.4996392726898193E-004 +(PID.TID 0000.0001) Wall clock time: 0.53100490570068359 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.4758706092834473E-003 +(PID.TID 0000.0001) System time: 5.9604644775390625E-006 +(PID.TID 0000.0001) Wall clock time: 1.4603137969970703E-003 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.24942165613174438 +(PID.TID 0000.0001) System time: 9.5599889755249023E-004 +(PID.TID 0000.0001) Wall clock time: 0.25138688087463379 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.4069091081619263E-002 +(PID.TID 0000.0001) System time: 1.0967254638671875E-005 +(PID.TID 0000.0001) Wall clock time: 3.4179687500000000E-002 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.77754881978034973 +(PID.TID 0000.0001) System time: 1.9950866699218750E-003 +(PID.TID 0000.0001) Wall clock time: 0.78170299530029297 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.8083276748657227E-003 +(PID.TID 0000.0001) System time: 2.9958635568618774E-003 +(PID.TID 0000.0001) Wall clock time: 1.0859489440917969E-002 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.7156034708023071E-002 +(PID.TID 0000.0001) System time: 2.9920339584350586E-003 +(PID.TID 0000.0001) Wall clock time: 2.0300626754760742E-002 +(PID.TID 0000.0001) No. starts: 260 +(PID.TID 0000.0001) No. stops: 260 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.1188507080078125E-002 +(PID.TID 0000.0001) System time: 2.9460191726684570E-003 +(PID.TID 0000.0001) Wall clock time: 1.4220952987670898E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.1302947998046875E-002 +(PID.TID 0000.0001) System time: 2.0049810409545898E-003 +(PID.TID 0000.0001) Wall clock time: 1.3396024703979492E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 32.415046691894531 +(PID.TID 0000.0001) System time: 4.6840906143188477E-002 +(PID.TID 0000.0001) Wall clock time: 32.550930976867676 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.32406616210937500 +(PID.TID 0000.0001) System time: 3.0092000961303711E-002 +(PID.TID 0000.0001) Wall clock time: 0.35577321052551270 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 32.079929351806641 +(PID.TID 0000.0001) System time: 1.5154719352722168E-002 +(PID.TID 0000.0001) Wall clock time: 32.182445287704468 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 32.078006744384766 +(PID.TID 0000.0001) System time: 1.5139818191528320E-002 +(PID.TID 0000.0001) Wall clock time: 32.180522203445435 +(PID.TID 0000.0001) No. starts: 220 +(PID.TID 0000.0001) No. stops: 220 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 5.3596496582031250E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 5.3954124450683594E-004 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 54502 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 54502 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/global_with_exf/results/output_tap_tlm.txt b/verification/global_with_exf/results/output_tap_tlm.txt new file mode 100644 index 0000000000..437cffdcf6 --- /dev/null +++ b/verification/global_with_exf/results/output_tap_tlm.txt @@ -0,0 +1,4345 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 02:53:32 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 1 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 45 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 40 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 2 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 2 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 90 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 40 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 2 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 1) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef = 15*20., +(PID.TID 0000.0001) > sRef = 15*35., +(PID.TID 0000.0001) > viscAr=1.E-3, +(PID.TID 0000.0001) > viscAh=5.E5, +(PID.TID 0000.0001) > diffKhT=0.0, +(PID.TID 0000.0001) > diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=0.0, +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > rhonil=1035., +(PID.TID 0000.0001) > rotationPeriod=86400., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > eosType = 'JMD95Z', +(PID.TID 0000.0001) > ivdc_kappa=100., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) > useRealFreshWaterFlux=.TRUE., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) > useNHMTerms=.TRUE., +(PID.TID 0000.0001) ># turn on looped cells +(PID.TID 0000.0001) > hFacMin=.05, +(PID.TID 0000.0001) > hFacMindr=50., +(PID.TID 0000.0001) ># set precision of data files +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) >#- not safe to use globalFiles in multi-processors runs +(PID.TID 0000.0001) >#globalfiles=.TRUE. +(PID.TID 0000.0001) >## usesinglecpuio=.TRUE. +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=500, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0 = 0, +(PID.TID 0000.0001) > nTimeSteps= 20, +(PID.TID 0000.0001) >#- 100 years of integration will yield a reasonable flow field +(PID.TID 0000.0001) ># endTime = 3110400000., +(PID.TID 0000.0001) > deltaTmom = 1200., +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > deltaTtracer= 43200., +(PID.TID 0000.0001) > deltaTClock = 43200., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq= 311040000., +(PID.TID 0000.0001) > dumpFreq = 311040000., +(PID.TID 0000.0001) > monitorSelect= 2, +(PID.TID 0000.0001) > monitorFreq = 432000., +(PID.TID 0000.0001) > adjMonitorFreq=259200., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delR= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > ygOrigin=-80., +(PID.TID 0000.0001) > dySpacing=4., +(PID.TID 0000.0001) > dxSpacing=4., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile= 'bathymetry.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_t.bin', +(PID.TID 0000.0001) > hydrogSaltFile= 'lev_s.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) S/R INI_PARMS: No request for barotropic solver +(PID.TID 0000.0001) S/R INI_PARMS: => Use implicitFreeSurface as default +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useEXF = .TRUE., +(PID.TID 0000.0001) > useCAL = .TRUE., +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) ># useDiagnostics = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/cal compiled and used ( useCAL = T ) + pkg/exf compiled and used ( useEXF = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: opening data.cal +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cal +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cal" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># Calendar Parameters +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &CAL_NML +(PID.TID 0000.0001) > TheCalendar='gregorian', +(PID.TID 0000.0001) ># TheCalendar='model', +(PID.TID 0000.0001) > startDate_1=19920101, +(PID.TID 0000.0001) > startDate_2=000000, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: finished reading data.cal +(PID.TID 0000.0001) EXF_READPARMS: opening data.exf +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.exf +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.exf" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># External Forcing Data +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_01 +(PID.TID 0000.0001) > exf_iprec = 32, +(PID.TID 0000.0001) > exf_debugLev = 3, +(PID.TID 0000.0001) >#readStressOnAgrid = .TRUE., +(PID.TID 0000.0001) > exf_adjMonSelect = 3, +(PID.TID 0000.0001) > exf_adjMonFreq = 864000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_02 +(PID.TID 0000.0001) >#hfluxstartdate1 = 19920101, +(PID.TID 0000.0001) >#hfluxstartdate2 = 000000, +(PID.TID 0000.0001) > hfluxperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#sfluxstartdate1 = 19920101, +(PID.TID 0000.0001) >#sfluxstartdate2 = 000000, +(PID.TID 0000.0001) > sfluxperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#ustressstartdate1 = 19920101, +(PID.TID 0000.0001) >#ustressstartdate2 = 000000, +(PID.TID 0000.0001) > ustressperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#vstressstartdate1 = 19920101, +(PID.TID 0000.0001) >#vstressstartdate2 = 000000, +(PID.TID 0000.0001) > vstressperiod = -12., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#climsststartdate1 = 19920101, +(PID.TID 0000.0001) >#climsststartdate2 = 000000, +(PID.TID 0000.0001) > climsstperiod = -12., +(PID.TID 0000.0001) ># 2 months restoring timescale for temperature +(PID.TID 0000.0001) > climsstTauRelax = 5184000., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#climsssstartdate1 = 19920101, +(PID.TID 0000.0001) >#climsssstartdate2 = 000000, +(PID.TID 0000.0001) > climsssperiod = -12., +(PID.TID 0000.0001) ># 6 months restoring timescale for salinity +(PID.TID 0000.0001) > climsssTauRelax = 15552000., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > hfluxfile = 'ncep_qnet.bin', +(PID.TID 0000.0001) >#sfluxfile = 'ncep_emp.bin', +(PID.TID 0000.0001) > ustressfile = 'trenberth_taux.bin', +(PID.TID 0000.0001) > vstressfile = 'trenberth_tauy.bin', +(PID.TID 0000.0001) > climsstfile = 'lev_sst.bin', +(PID.TID 0000.0001) > climsssfile = 'lev_sss.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_03 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_04 +(PID.TID 0000.0001) > hflux_lon0 = 2., +(PID.TID 0000.0001) > hflux_lon_inc = 4., +(PID.TID 0000.0001) > hflux_lat0 = -78., +(PID.TID 0000.0001) > hflux_lat_inc = 39*4., +(PID.TID 0000.0001) > hflux_nlon = 90, +(PID.TID 0000.0001) > hflux_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > sflux_lon0 = 2., +(PID.TID 0000.0001) > sflux_lon_inc = 4., +(PID.TID 0000.0001) > sflux_lat0 = -78., +(PID.TID 0000.0001) > sflux_lat_inc = 39*4., +(PID.TID 0000.0001) > sflux_nlon = 90, +(PID.TID 0000.0001) > sflux_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > ustress_lon0 = 2., +(PID.TID 0000.0001) > ustress_lon_inc = 4., +(PID.TID 0000.0001) > ustress_lat0 = -78., +(PID.TID 0000.0001) > ustress_lat_inc = 39*4., +(PID.TID 0000.0001) > ustress_nlon = 90, +(PID.TID 0000.0001) > ustress_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > vstress_lon0 = 2., +(PID.TID 0000.0001) > vstress_lon_inc = 4., +(PID.TID 0000.0001) > vstress_lat0 = -78., +(PID.TID 0000.0001) > vstress_lat_inc = 39*4., +(PID.TID 0000.0001) > vstress_nlon = 90, +(PID.TID 0000.0001) > vstress_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsst_interpMethod = 1, +(PID.TID 0000.0001) > climsst_lon0 = 2., +(PID.TID 0000.0001) > climsst_lon_inc = 4., +(PID.TID 0000.0001) > climsst_lat0 = -78., +(PID.TID 0000.0001) > climsst_lat_inc = 39*4., +(PID.TID 0000.0001) > climsst_nlon = 90, +(PID.TID 0000.0001) > climsst_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsss_interpMethod = 1, +(PID.TID 0000.0001) > climsss_lon0 = 2., +(PID.TID 0000.0001) > climsss_lon_inc = 4., +(PID.TID 0000.0001) > climsss_lat0 = -78., +(PID.TID 0000.0001) > climsss_lat_inc = 39*4., +(PID.TID 0000.0001) > climsss_nlon = 90, +(PID.TID 0000.0001) > climsss_nlat = 40, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_01 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_02 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_03 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_04 +(PID.TID 0000.0001) EXF_READPARMS: finished reading data.exf +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_background_K = 1.e+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'gkw91', +(PID.TID 0000.0001) > GM_maxSlope = 1.e-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.e-3, +(PID.TID 0000.0001) > GM_Sd = 1.e-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) ># GM_Visbeck_length = 2.e+5, +(PID.TID 0000.0001) ># GM_Visbeck_depth = 1.e+3, +(PID.TID 0000.0001) ># GM_Visbeck_maxval_K= 2.5e+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) ># useKPPinAdMode = .FALSE., +(PID.TID 0000.0001) ># useGMRediInAdMode = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) ># doSinglePrecTapelev=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(1) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(1) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(1) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(2) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(2) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(2) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(3) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(3) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(3) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(4) = 19920101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(4) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(4) = 864000.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-4, +(PID.TID 0000.0001) ># nbeg = 4, +(PID.TID 0000.0001) > iGloPos = 4, +(PID.TID 0000.0001) > jGloPos = 8, +(PID.TID 0000.0001) > kGloPos = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) > grdchkvarindex = 301, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 301 +(PID.TID 0000.0001) eps: 0.100E-03 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.5800000000000E+02 +(PID.TID 0000.0001) %MON XC_min = 2.0000000000000E+00 +(PID.TID 0000.0001) %MON XC_mean = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON XG_max = 3.5600000000000E+02 +(PID.TID 0000.0001) %MON XG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON XG_mean = 1.7800000000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON DXC_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXC_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXC_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXC_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXF_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXF_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXF_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXF_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXG_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXG_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXG_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON DXV_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXV_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXV_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXV_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON YC_max = 7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_min = -7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON YC_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON YG_max = 7.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = -8.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -2.0000000000000E+00 +(PID.TID 0000.0001) %MON YG_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON DYC_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYC_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON DYF_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYF_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON DYG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYG_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON DYU_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_mean = 4.4470989340817E+05 +(PID.TID 0000.0001) %MON DYU_sd = 1.4668330550194E-08 +(PID.TID 0000.0001) %MON RA_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RA_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RA_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RA_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAW_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RAW_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RAW_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RAW_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAS_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAS_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAS_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAS_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON RAZ_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAZ_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAZ_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAZ_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) modelstart = /* Start time of the model integration [s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelend = /* End time of the model integration [s] */ +(PID.TID 0000.0001) 8.640000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStep = /* Time interval for a model forward step [s] */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingGregorianCalendar= /* Calendar Type: Gregorian Calendar */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingJulianCalendar = /* Calendar Type: Julian Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingNoLeapYearCal = /* Calendar Type: without Leap Year */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingModelCalendar = /* Calendar Type: Model Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate YYYYMMDD = /* Model start date YYYY-MM-DD */ +(PID.TID 0000.0001) 19920101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate HHMMSS = /* Model start date HH-MM-SS */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate YYYYMMDD = /* Model end date YYYY-MM-DD */ +(PID.TID 0000.0001) 19920111 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate HHMMSS = /* Model end date HH-MM-SS */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intyears = /* Number of calendar years affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intmonths= /* Number of calendar months affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intdays = /* Number of calendar days affected by the integration */ +(PID.TID 0000.0001) 10 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIter0 = /* Base timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIterEnd = /* Final timestep number */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIntSteps= /* Number of model timesteps */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF general parameters: +(PID.TID 0000.0001) +(PID.TID 0000.0001) exf_iprec = /* exf file precision */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfYearlyFields = /* add extension _YEAR to input file names */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) twoDigitYear = /* use 2-digit year extension */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfCheckRange = /* check for fields range */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_output_interp = /* output directly interpolation result */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diags_opOceWeighted = /* weight flux diags by open-ocean fraction */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_debugLev = /* select EXF-debug printing level */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_monFreq = /* EXF monitor frequency [ s ] */ +(PID.TID 0000.0001) 4.320000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_adjMonSelect = /* select group of exf AD-variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) repeatPeriod = /* period for cycling forcing dataset [ s ] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) climTempFreeze= /* Minimum climatological temperature [deg.C] */ +(PID.TID 0000.0001) -1.900000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) windStressMax = /* Maximum absolute windstress [ Pa ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) stressIsOnCgrid = /* set u,v_stress on Arakawa C-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateStressOnAgrid = /* rotate u,v_stress on Arakawa A-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cen2kel = /* conversion of deg. Centigrade to Kelvin [K] */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity_mks= /* gravitational acceleration [m/s^2] */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmrho = /* mean atmospheric density [kg/m^3] */ +(PID.TID 0000.0001) 1.200000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmcp = /* mean atmospheric specific heat [J/kg/K] */ +(PID.TID 0000.0001) 1.005000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flamb = /* latent heat of evaporation [J/kg] */ +(PID.TID 0000.0001) 2.500000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flami = /* latent heat of pure-ice melting [J/kg] */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 6.403800000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.107400000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 1.163780000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.897800000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) humid_fac = /* humidity coef. in virtual temp. [(kg/kg)^-1] */ +(PID.TID 0000.0001) 6.060000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gamma_blk = /* adiabatic lapse rate [?] */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltsat = /* reduction of Qsat over salty water [-] */ +(PID.TID 0000.0001) 9.800000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) noNegativeEvap = /* prevent negative Evaporation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sstExtrapol = /* extrapolation coeff from lev. 1 & 2 to surf [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_1 = /* coef used in drag calculation [m/s] */ +(PID.TID 0000.0001) 2.700000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_2 = /* coef used in drag calculation [-] */ +(PID.TID 0000.0001) 1.420000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_3 = /* coef used in drag calculation [s/m] */ +(PID.TID 0000.0001) 7.640000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_8 = /* coef used in drag calculation [(s/m)^6] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDragMax = /* maximum drag (Large and Yeager, 2009) [-] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* at maximum wind (Large and Yeager, 2009) [m/s] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_1 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 3.270000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_2 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 1.800000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDalton = /* Dalton number [-] */ +(PID.TID 0000.0001) 3.460000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_scal_BulkCdn= /* Drag coefficient scaling factor [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zolmin = /* minimum stability parameter [?] */ +(PID.TID 0000.0001) -1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psim_fac = /* coef used in turbulent fluxes calculation [-] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zref = /* reference height [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hu = /* height of mean wind [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ht = /* height of mean temperature [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hq = /* height of mean spec.humidity [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uMin = /* minimum wind speed [m/s] */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStabilityFct_overIce= /* transfert Coeffs over sea-ice depend on stability */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCd = /* drag coefficient over sea-ice (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCe = /* transfert coeff. over sea-ice, for Evap (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCh = /* transfert coeff. over sea-ice, Sens.Heat.(fixed)[-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_albedo = /* Sea-water albedo [-] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenAlbedo = /* Sea-water albedo varies with zenith angle */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_ZenAlbedo = /* Sea-water albedo computation method */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenIncoming = /* compute incoming solar radiation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ocean_emissivity = /* longwave ocean-surface emissivity [-] */ +(PID.TID 0000.0001) 9.700176366843034E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ice_emissivity = /* longwave seaice emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snow_emissivity = /* longwave snow emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF main CPP flags: +(PID.TID 0000.0001) +(PID.TID 0000.0001) // USE_EXF_INTERPOLATION: defined +(PID.TID 0000.0001) // ALLOW_ATM_TEMP: NOT defined +(PID.TID 0000.0001) // ALLOW_ATM_WIND (useAtmWind): NOT defined +(PID.TID 0000.0001) // ALLOW_DOWNWARD_RADIATION: NOT defined +(PID.TID 0000.0001) // ALLOW_BULKFORMULAE: NOT defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Zonal wind stress forcing period is -12. +(PID.TID 0000.0001) Zonal wind stress forcing is read from file: +(PID.TID 0000.0001) >> trenberth_taux.bin << +(PID.TID 0000.0001) interpolate "ustress" (method= 12 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Meridional wind stress forcing period is -12. +(PID.TID 0000.0001) Meridional wind stress forcing is read from file: +(PID.TID 0000.0001) >> trenberth_tauy.bin << +(PID.TID 0000.0001) interpolate "vstress" (method= 22 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) Interp. U & V comp. together: uvInterp_stress = T +(PID.TID 0000.0001) +(PID.TID 0000.0001) Heat flux forcing period is -12. +(PID.TID 0000.0001) Heat flux forcing is read from file: +(PID.TID 0000.0001) >> ncep_qnet.bin << +(PID.TID 0000.0001) interpolate "hflux" (method= 1 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // EXF_READ_EVAP: NOT defined +(PID.TID 0000.0001) // ALLOW_RUNOFF: NOT defined +(PID.TID 0000.0001) // ALLOW_SALTFLX: NOT defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) climatology configuration : +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSST_RELAXATION: defined +(PID.TID 0000.0001) Climatological SST period is -12. +(PID.TID 0000.0001) Climatological SST is read from file: +(PID.TID 0000.0001) >> lev_sst.bin << +(PID.TID 0000.0001) interpolate "climsst" (method= 1 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSSS_RELAXATION: defined +(PID.TID 0000.0001) Climatological SSS period is -12. +(PID.TID 0000.0001) Climatological SSS is read from file: +(PID.TID 0000.0001) >> lev_sss.bin << +(PID.TID 0000.0001) interpolate "climsss" (method= 1 ): +(PID.TID 0000.0001) lon0= 2.00000, nlon= 90, lon_inc= 4.0000000 +(PID.TID 0000.0001) lat0= -78.00000, nlat= 40, lat_inc= 4.0000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 85573 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 984 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 922 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 898 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 12155 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 3 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 24310 +(PID.TID 0000.0001) ctrl-wet 8: atmos 24310 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 85573 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 2315 2149 2206 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 2254 2102 2146 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 2215 2058 2104 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 2178 2027 2070 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 2142 1987 2029 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2114 1959 2004 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 2076 1918 1959 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 2048 1887 1925 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 1999 1831 1869 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 1948 1771 1808 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 1850 1653 1705 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 1655 1404 1458 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 1372 1118 1164 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 828 623 671 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 6 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 85573 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 27000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 012155 010816 011065 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 017154 015820 016259 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4226580169407E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4226580169407E-04 +(PID.TID 0000.0001) %MON fCori_mean = 1.5961865317148E-21 +(PID.TID 0000.0001) %MON fCori_sd = 9.6335367303779E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4112379284621E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4323448157692E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -3.5808620394229E-06 +(PID.TID 0000.0001) %MON fCoriG_sd = 9.6285194120965E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4535550371427E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.0239529651320E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 1.0260497651149E-04 +(PID.TID 0000.0001) %MON fCoriCos_sd = 3.6683828681187E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 6.5682677425711703E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.272205216643040E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 500 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 1.200000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.962666600296178E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 20 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 3.110400000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 4.320000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 1.555200000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 90 @ 4.000000000000000E+00 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 40 @ 4.000000000000000E+00 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.200000000000000E+01, /* I = 21 */ +(PID.TID 0000.0001) 8.600000000000000E+01, /* I = 22 */ +(PID.TID 0000.0001) 9.000000000000000E+01, /* I = 23 */ +(PID.TID 0000.0001) 9.400000000000000E+01, /* I = 24 */ +(PID.TID 0000.0001) 9.800000000000000E+01, /* I = 25 */ +(PID.TID 0000.0001) 1.020000000000000E+02, /* I = 26 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.700000000000000E+02, /* I = 43 */ +(PID.TID 0000.0001) 1.740000000000000E+02, /* I = 44 */ +(PID.TID 0000.0001) 1.780000000000000E+02, /* I = 45 */ +(PID.TID 0000.0001) 1.820000000000000E+02, /* I = 46 */ +(PID.TID 0000.0001) 1.860000000000000E+02, /* I = 47 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* I = 48 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.580000000000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 2.620000000000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 2.660000000000000E+02, /* I = 67 */ +(PID.TID 0000.0001) 2.700000000000000E+02, /* I = 68 */ +(PID.TID 0000.0001) 2.740000000000000E+02, /* I = 69 */ +(PID.TID 0000.0001) 2.780000000000000E+02, /* I = 70 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.500000000000000E+02, /* I = 88 */ +(PID.TID 0000.0001) 3.540000000000000E+02, /* I = 89 */ +(PID.TID 0000.0001) 3.580000000000000E+02 /* I = 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.800000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.400000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.000000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -6.600000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -6.200000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -5.800000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -5.400000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -4.600000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -4.200000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -3.800000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -3.400000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -2.600000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -2.200000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -1.800000000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -1.400000000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -6.000000000000000E+00, /* J = 19 */ +(PID.TID 0000.0001) -2.000000000000000E+00, /* J = 20 */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* J = 21 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* J = 22 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) 2.600000000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) 3.400000000000000E+01, /* J = 29 */ +(PID.TID 0000.0001) 3.800000000000000E+01, /* J = 30 */ +(PID.TID 0000.0001) 4.200000000000000E+01, /* J = 31 */ +(PID.TID 0000.0001) 4.600000000000000E+01, /* J = 32 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* J = 33 */ +(PID.TID 0000.0001) 5.400000000000000E+01, /* J = 34 */ +(PID.TID 0000.0001) 5.800000000000000E+01, /* J = 35 */ +(PID.TID 0000.0001) 6.200000000000000E+01, /* J = 36 */ +(PID.TID 0000.0001) 6.600000000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 7.400000000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 7.800000000000000E+01 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 3.433488626798250E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.433488626798250E+10, /* J = 1 */ +(PID.TID 0000.0001) 4.783442523123625E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 3 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 4 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 5 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 6 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 19 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 20 */ +(PID.TID 0000.0001) 1.977267295821495E+11, /* J = 21 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 37 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 38 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.783442523123625E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.450614146649764E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+48 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'gkw91 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) EXF_CHECK: #define ALLOW_EXF +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.50562806350885E-14 6.28993178193994E+00 + cg2d: Sum(rhs),rhsMax = 1.00336405850499E-13 6.70007859133559E+00 + cg2d: Sum(rhs),rhsMax = 5.93969318174459E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = -3.24185123190546E-14 6.85801094466119E+00 + cg2d: Sum(rhs),rhsMax = -4.99600361081320E-14 7.14243599153802E+00 + cg2d: Sum(rhs),rhsMax = -4.26325641456060E-14 7.72291365607133E+00 + cg2d: Sum(rhs),rhsMax = -7.90478793533111E-14 8.03387068208590E+00 + cg2d: Sum(rhs),rhsMax = -3.04645197957143E-13 8.11896831221745E+00 + cg2d: Sum(rhs),rhsMax = -3.65929508916452E-13 8.04727754553643E+00 + cg2d: Sum(rhs),rhsMax = -6.36823926924990E-13 7.88895797898159E+00 + cg2d: Sum(rhs),rhsMax = -8.44657677134819E-13 8.31754379147366E+00 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 8.97048397340147E+00 + cg2d: Sum(rhs),rhsMax = -8.29558643999917E-13 9.43480072446720E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950271935E+00 + cg2d: Sum(rhs),rhsMax = -5.09814412907872E-13 9.76269586763470E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.63804624662821E+00 + cg2d: Sum(rhs),rhsMax = -8.56203996590921E-13 9.34829007243764E+00 + cg2d: Sum(rhs),rhsMax = -7.78044295657310E-13 9.12167905632681E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075227D+06 +(PID.TID 0000.0001) local fc = 0.798704765435371D+06 +(PID.TID 0000.0001) global fc = 0.798704765435371D+06 +(PID.TID 0000.0001) grdchk reference fc: fcref = 7.98704765435371E+05 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc tlm grad fd grad 1 - fd/tlm + grad-res exact position met: + grad-res 0 204 4 8 1 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 204 6945 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 4 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 4 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.38298311375729E-15 2.53662338005412E+00 + cg2d: Sum(rhs),rhsMax = -1.52872506320456E-16 1.59827080791779E-05 + cg2d: Sum(rhs),rhsMax = 3.31124017094453E-14 5.04305351695054E+00 + cg2d: Sum(rhs),rhsMax = 1.58206781009085E-14 3.64528612288741E-05 + cg2d: Sum(rhs),rhsMax = 7.71292751888808E-14 6.28993178193989E+00 + cg2d: Sum(rhs),rhsMax = 3.81361608958741E-14 5.52728921771468E-05 + cg2d: Sum(rhs),rhsMax = 6.81954492876002E-14 6.70007859133556E+00 + cg2d: Sum(rhs),rhsMax = 5.90950899326259E-14 7.19810779163170E-05 + cg2d: Sum(rhs),rhsMax = 5.61772850460329E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = 6.90489332377808E-14 8.72885553240587E-05 + cg2d: Sum(rhs),rhsMax = 5.95079541199084E-14 6.85801094466120E+00 + cg2d: Sum(rhs),rhsMax = 5.92859095149834E-14 1.01179174705179E-04 + cg2d: Sum(rhs),rhsMax = 1.08801856413265E-14 7.14243599153858E+00 + cg2d: Sum(rhs),rhsMax = 2.52159404467989E-14 1.13158359417225E-04 + cg2d: Sum(rhs),rhsMax = -6.10622663543836E-14 7.72291365607167E+00 + cg2d: Sum(rhs),rhsMax = -2.31759056390501E-14 1.22972071427356E-04 + cg2d: Sum(rhs),rhsMax = -1.39888101102770E-13 8.03387068208567E+00 + cg2d: Sum(rhs),rhsMax = -6.16035000788884E-14 1.30879659129394E-04 + cg2d: Sum(rhs),rhsMax = -2.31370478331883E-13 8.11896831221679E+00 + cg2d: Sum(rhs),rhsMax = -8.23230372759554E-14 1.37457340491194E-04 + cg2d: Sum(rhs),rhsMax = -3.35731442646647E-13 8.04727754553627E+00 + cg2d: Sum(rhs),rhsMax = -8.23785484271866E-14 1.43276036579811E-04 + cg2d: Sum(rhs),rhsMax = -7.89590615113411E-13 7.88895797898157E+00 + cg2d: Sum(rhs),rhsMax = -4.10504963355152E-14 1.48706237741845E-04 + cg2d: Sum(rhs),rhsMax = -6.32383034826489E-13 8.31754379147368E+00 + cg2d: Sum(rhs),rhsMax = 9.27036225562006E-14 1.53889829731870E-04 + cg2d: Sum(rhs),rhsMax = -8.41993141875719E-13 8.97048397340150E+00 + cg2d: Sum(rhs),rhsMax = 2.06751282760820E-13 1.58802399180280E-04 + cg2d: Sum(rhs),rhsMax = -8.40216785036318E-13 9.43480072446724E+00 + cg2d: Sum(rhs),rhsMax = 3.16274784140091E-13 1.63326808356828E-04 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.69891950271938E+00 + cg2d: Sum(rhs),rhsMax = 4.12919698433711E-13 1.67301116629174E-04 + cg2d: Sum(rhs),rhsMax = -7.65609797781508E-13 9.76269586763473E+00 + cg2d: Sum(rhs),rhsMax = 5.22443199812983E-13 1.70539355318431E-04 + cg2d: Sum(rhs),rhsMax = -5.86197757002083E-13 9.63804624662820E+00 + cg2d: Sum(rhs),rhsMax = 6.80927536578224E-13 1.72838928523667E-04 + cg2d: Sum(rhs),rhsMax = -8.27782287160517E-13 9.34829007243765E+00 + cg2d: Sum(rhs),rhsMax = 7.70716823694784E-13 1.73989220420214E-04 + cg2d: Sum(rhs),rhsMax = -7.67386154620908E-13 9.12167905632682E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075229D+06 +(PID.TID 0000.0001) local fc = 0.798704765435374D+06 +(PID.TID 0000.0001) global fc = 0.798704765435374D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.53321016677688E-14 6.28993178194151E+00 + cg2d: Sum(rhs),rhsMax = 4.27713420236842E-14 6.70007859134346E+00 + cg2d: Sum(rhs),rhsMax = 6.41708908233340E-14 6.82703161609865E+00 + cg2d: Sum(rhs),rhsMax = 7.14983627858601E-14 6.85801094470190E+00 + cg2d: Sum(rhs),rhsMax = 8.34887714518118E-14 7.14243599155058E+00 + cg2d: Sum(rhs),rhsMax = -1.56097357262297E-13 7.72291365609697E+00 + cg2d: Sum(rhs),rhsMax = -9.59232693276135E-14 8.03387068212535E+00 + cg2d: Sum(rhs),rhsMax = -3.07753822426093E-13 8.11896831227152E+00 + cg2d: Sum(rhs),rhsMax = -5.01820807130571E-13 8.04727754560105E+00 + cg2d: Sum(rhs),rhsMax = -7.05213665241899E-13 7.88895797900659E+00 + cg2d: Sum(rhs),rhsMax = -8.19788681383216E-13 8.31754379149280E+00 + cg2d: Sum(rhs),rhsMax = -9.13047415451729E-13 8.97048397342872E+00 + cg2d: Sum(rhs),rhsMax = -8.45545855554519E-13 9.43480072450346E+00 + cg2d: Sum(rhs),rhsMax = -8.22453216642316E-13 9.69891950276479E+00 + cg2d: Sum(rhs),rhsMax = -8.38440428196918E-13 9.76269586768807E+00 + cg2d: Sum(rhs),rhsMax = -7.54951656745106E-13 9.63804624668725E+00 + cg2d: Sum(rhs),rhsMax = -7.56728013584507E-13 9.34829007249910E+00 + cg2d: Sum(rhs),rhsMax = -8.73967564984923E-13 9.12167905635334E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358160D+06 + --> objf_test(bi,bj) = 0.444589534075216D+06 +(PID.TID 0000.0001) local fc = 0.798704765433376D+06 +(PID.TID 0000.0001) global fc = 0.798704765433376D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433376E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.07489622442381E-14 6.28993178193838E+00 + cg2d: Sum(rhs),rhsMax = 1.31589183993697E-13 6.70007859132745E+00 + cg2d: Sum(rhs),rhsMax = 3.99680288865056E-14 6.82703161605603E+00 + cg2d: Sum(rhs),rhsMax = 7.06101843661600E-14 6.85801094462227E+00 + cg2d: Sum(rhs),rhsMax = -1.06581410364015E-14 7.14243599152355E+00 + cg2d: Sum(rhs),rhsMax = -3.53050921830800E-14 7.72291365604630E+00 + cg2d: Sum(rhs),rhsMax = -1.00364161426114E-13 8.03387068204720E+00 + cg2d: Sum(rhs),rhsMax = -3.38395977905748E-13 8.11896831216451E+00 + cg2d: Sum(rhs),rhsMax = -3.97903932025656E-13 8.04727754547043E+00 + cg2d: Sum(rhs),rhsMax = -7.55839835164807E-13 7.88895797895663E+00 + cg2d: Sum(rhs),rhsMax = -9.37916411203332E-13 8.31754379145464E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 8.97048397337405E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.43480072443075E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.69891950267401E+00 + cg2d: Sum(rhs),rhsMax = -8.88178419700125E-13 9.76269586758171E+00 + cg2d: Sum(rhs),rhsMax = -8.02913291408913E-13 9.63804624656971E+00 + cg2d: Sum(rhs),rhsMax = -7.81597009336110E-13 9.34829007237633E+00 + cg2d: Sum(rhs),rhsMax = -8.84625706021325E-13 9.12167905630036E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362129D+06 + --> objf_test(bi,bj) = 0.444589534075239D+06 +(PID.TID 0000.0001) local fc = 0.798704765437369D+06 +(PID.TID 0000.0001) global fc = 0.798704765437369D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437369E+05 +grad-res ------------------------------- + grad-res 0 1 4 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 1 1 204 0 1 1 1 -1.99545934416E-02 -1.99623173103E-02 -3.87072215872E-04 +(PID.TID 0000.0001) TLM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -1.99545934415734E-02 +(PID.TID 0000.0001) TLM finite-diff_grad = -1.99623173102736E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 205 6945 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 204 2 + ph-grd -->hit<-- 5 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 5 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.38298311375729E-15 2.53662338005412E+00 + cg2d: Sum(rhs),rhsMax = 2.87964097012150E-16 2.00042303125918E-05 + cg2d: Sum(rhs),rhsMax = 3.31124017094453E-14 5.04305351695054E+00 + cg2d: Sum(rhs),rhsMax = -2.79507320066763E-16 4.42667546430142E-05 + cg2d: Sum(rhs),rhsMax = 7.71292751888808E-14 6.28993178193989E+00 + cg2d: Sum(rhs),rhsMax = -8.61073365387988E-15 6.59111057530669E-05 + cg2d: Sum(rhs),rhsMax = 6.81954492876002E-14 6.70007859133556E+00 + cg2d: Sum(rhs),rhsMax = -2.82881357227538E-14 8.46747253002304E-05 + cg2d: Sum(rhs),rhsMax = 5.61772850460329E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = -6.18463613655251E-14 1.01177821337245E-04 + cg2d: Sum(rhs),rhsMax = 5.95079541199084E-14 6.85801094466120E+00 + cg2d: Sum(rhs),rhsMax = -1.08989206548671E-13 1.15650808809629E-04 + cg2d: Sum(rhs),rhsMax = 1.08801856413265E-14 7.14243599153858E+00 + cg2d: Sum(rhs),rhsMax = -1.66693048253563E-13 1.28221623613676E-04 + cg2d: Sum(rhs),rhsMax = -6.10622663543836E-14 7.72291365607167E+00 + cg2d: Sum(rhs),rhsMax = -2.25673646436775E-13 1.39095708465301E-04 + cg2d: Sum(rhs),rhsMax = -1.39888101102770E-13 8.03387068208567E+00 + cg2d: Sum(rhs),rhsMax = -2.86756729472870E-13 1.48545108611235E-04 + cg2d: Sum(rhs),rhsMax = -2.31370478331883E-13 8.11896831221679E+00 + cg2d: Sum(rhs),rhsMax = -3.54730134155545E-13 1.56853905402881E-04 + cg2d: Sum(rhs),rhsMax = -3.35731442646647E-13 8.04727754553627E+00 + cg2d: Sum(rhs),rhsMax = -4.24354995587350E-13 1.64268018114495E-04 + cg2d: Sum(rhs),rhsMax = -7.89590615113411E-13 7.88895797898157E+00 + cg2d: Sum(rhs),rhsMax = -4.77271000498547E-13 1.70965040024246E-04 + cg2d: Sum(rhs),rhsMax = -6.32383034826489E-13 8.31754379147368E+00 + cg2d: Sum(rhs),rhsMax = -4.81226170023774E-13 1.77050260995352E-04 + cg2d: Sum(rhs),rhsMax = -8.41993141875719E-13 8.97048397340150E+00 + cg2d: Sum(rhs),rhsMax = -3.86010667874359E-13 1.82568450911982E-04 + cg2d: Sum(rhs),rhsMax = -8.40216785036318E-13 9.43480072446724E+00 + cg2d: Sum(rhs),rhsMax = -2.69687050469258E-13 1.87513278600464E-04 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.69891950271938E+00 + cg2d: Sum(rhs),rhsMax = -1.72764580419482E-13 1.91824035433445E-04 + cg2d: Sum(rhs),rhsMax = -7.65609797781508E-13 9.76269586763473E+00 + cg2d: Sum(rhs),rhsMax = -9.86155601623295E-14 1.95373746957579E-04 + cg2d: Sum(rhs),rhsMax = -5.86197757002083E-13 9.63804624662820E+00 + cg2d: Sum(rhs),rhsMax = 1.94289029309402E-15 1.97962635147647E-04 + cg2d: Sum(rhs),rhsMax = -8.27782287160517E-13 9.34829007243765E+00 + cg2d: Sum(rhs),rhsMax = 1.92262872289461E-13 1.99330826707895E-04 + cg2d: Sum(rhs),rhsMax = -7.67386154620908E-13 9.12167905632682E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075229D+06 +(PID.TID 0000.0001) local fc = 0.798704765435374D+06 +(PID.TID 0000.0001) global fc = 0.798704765435374D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 3.57942842033054E-14 6.28993178194343E+00 + cg2d: Sum(rhs),rhsMax = 1.03556052621911E-13 6.70007859135132E+00 + cg2d: Sum(rhs),rhsMax = 6.43929354282591E-14 6.82703161611199E+00 + cg2d: Sum(rhs),rhsMax = 1.01474384450739E-13 6.85801094471951E+00 + cg2d: Sum(rhs),rhsMax = -2.99760216648792E-14 7.14243599156130E+00 + cg2d: Sum(rhs),rhsMax = 2.26485497023532E-14 7.72291365611195E+00 + cg2d: Sum(rhs),rhsMax = -1.95843341543878E-13 8.03387068214442E+00 + cg2d: Sum(rhs),rhsMax = -3.59268170768701E-13 8.11896831229113E+00 + cg2d: Sum(rhs),rhsMax = -4.87609952415369E-13 8.04727754561625E+00 + cg2d: Sum(rhs),rhsMax = -8.03801469828613E-13 7.88895797901699E+00 + cg2d: Sum(rhs),rhsMax = -6.74127420552395E-13 8.31754379150284E+00 + cg2d: Sum(rhs),rhsMax = -8.36664071357518E-13 8.97048397344084E+00 + cg2d: Sum(rhs),rhsMax = -9.14823772291129E-13 9.43480072451688E+00 + cg2d: Sum(rhs),rhsMax = -8.17124146124115E-13 9.69891950277832E+00 + cg2d: Sum(rhs),rhsMax = -6.05737682235485E-13 9.76269586770022E+00 + cg2d: Sum(rhs),rhsMax = -5.79092329644482E-13 9.63804624669669E+00 + cg2d: Sum(rhs),rhsMax = -9.41469124882133E-13 9.34829007250513E+00 + cg2d: Sum(rhs),rhsMax = -9.05941988094128E-13 9.12167905636224E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358193D+06 + --> objf_test(bi,bj) = 0.444589534075217D+06 +(PID.TID 0000.0001) local fc = 0.798704765433409D+06 +(PID.TID 0000.0001) global fc = 0.798704765433409D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433409E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 6.10084899266283E-14 6.28993178193646E+00 + cg2d: Sum(rhs),rhsMax = 7.47457651328887E-14 6.70007859132015E+00 + cg2d: Sum(rhs),rhsMax = 6.96109836439973E-14 6.82703161604287E+00 + cg2d: Sum(rhs),rhsMax = 9.82547376793264E-14 6.85801094460573E+00 + cg2d: Sum(rhs),rhsMax = -6.26165785888588E-14 7.14243599151192E+00 + cg2d: Sum(rhs),rhsMax = 3.33066907387547E-15 7.72291365602942E+00 + cg2d: Sum(rhs),rhsMax = -1.18127729820117E-13 8.03387068202681E+00 + cg2d: Sum(rhs),rhsMax = -2.93542967710891E-13 8.11896831214697E+00 + cg2d: Sum(rhs),rhsMax = -3.32178728967847E-13 8.04727754545894E+00 + cg2d: Sum(rhs),rhsMax = -5.14255305006373E-13 7.88895797894649E+00 + cg2d: Sum(rhs),rhsMax = -8.28670465580217E-13 8.31754379144449E+00 + cg2d: Sum(rhs),rhsMax = -7.63833440942108E-13 8.97048397336176E+00 + cg2d: Sum(rhs),rhsMax = -8.11795075605914E-13 9.43480072441719E+00 + cg2d: Sum(rhs),rhsMax = -8.45545855554519E-13 9.69891950266048E+00 + cg2d: Sum(rhs),rhsMax = -6.66133814775094E-13 9.76269586756972E+00 + cg2d: Sum(rhs),rhsMax = -8.79296635503124E-13 9.63804624656059E+00 + cg2d: Sum(rhs),rhsMax = -7.95807864051312E-13 9.34829007237082E+00 + cg2d: Sum(rhs),rhsMax = -8.63309423948522E-13 9.12167905629137E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362097D+06 + --> objf_test(bi,bj) = 0.444589534075237D+06 +(PID.TID 0000.0001) local fc = 0.798704765437333D+06 +(PID.TID 0000.0001) global fc = 0.798704765437333D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437333E+05 +grad-res ------------------------------- + grad-res 0 2 5 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 2 2 205 0 1 1 1 -1.96210731004E-02 -1.96188921109E-02 1.11155467511E-04 +(PID.TID 0000.0001) TLM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -1.96210731004377E-02 +(PID.TID 0000.0001) TLM finite-diff_grad = -1.96188921108842E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 206 6945 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 205 3 + ph-grd -->hit<-- 6 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 6 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.38298311375729E-15 2.53662338005412E+00 + cg2d: Sum(rhs),rhsMax = -5.52617847315862E-16 2.39372425846711E-05 + cg2d: Sum(rhs),rhsMax = 3.31124017094453E-14 5.04305351695054E+00 + cg2d: Sum(rhs),rhsMax = -1.22892147846887E-14 5.15939979861760E-05 + cg2d: Sum(rhs),rhsMax = 7.71292751888808E-14 6.28993178193989E+00 + cg2d: Sum(rhs),rhsMax = -3.97236497168274E-14 7.56516014827281E-05 + cg2d: Sum(rhs),rhsMax = 6.81954492876002E-14 6.70007859133556E+00 + cg2d: Sum(rhs),rhsMax = -8.36648458846234E-14 9.64539894950632E-05 + cg2d: Sum(rhs),rhsMax = 5.61772850460329E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = -1.43626430193500E-13 1.14816024689501E-04 + cg2d: Sum(rhs),rhsMax = 5.95079541199084E-14 6.85801094466120E+00 + cg2d: Sum(rhs),rhsMax = -2.14543660614908E-13 1.31109259475675E-04 + cg2d: Sum(rhs),rhsMax = 1.08801856413265E-14 7.14243599153858E+00 + cg2d: Sum(rhs),rhsMax = -2.90611285036491E-13 1.45598957968405E-04 + cg2d: Sum(rhs),rhsMax = -6.10622663543836E-14 7.72291365607167E+00 + cg2d: Sum(rhs),rhsMax = -3.71126740450478E-13 1.58485751454855E-04 + cg2d: Sum(rhs),rhsMax = -1.39888101102770E-13 8.03387068208567E+00 + cg2d: Sum(rhs),rhsMax = -4.63226679237039E-13 1.69925419349199E-04 + cg2d: Sum(rhs),rhsMax = -2.31370478331883E-13 8.11896831221679E+00 + cg2d: Sum(rhs),rhsMax = -5.62841440121531E-13 1.80092517869657E-04 + cg2d: Sum(rhs),rhsMax = -3.35731442646647E-13 8.04727754553627E+00 + cg2d: Sum(rhs),rhsMax = -6.59861054685962E-13 1.89186655358802E-04 + cg2d: Sum(rhs),rhsMax = -7.89590615113411E-13 7.88895797898157E+00 + cg2d: Sum(rhs),rhsMax = -7.37632177560954E-13 1.97386918154117E-04 + cg2d: Sum(rhs),rhsMax = -6.32383034826489E-13 8.31754379147368E+00 + cg2d: Sum(rhs),rhsMax = -7.77808373264577E-13 2.04819414506089E-04 + cg2d: Sum(rhs),rhsMax = -8.41993141875719E-13 8.97048397340150E+00 + cg2d: Sum(rhs),rhsMax = -7.52981010876397E-13 2.11558110413598E-04 + cg2d: Sum(rhs),rhsMax = -8.40216785036318E-13 9.43480072446724E+00 + cg2d: Sum(rhs),rhsMax = -6.38308850220426E-13 2.17631293524408E-04 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.69891950271938E+00 + cg2d: Sum(rhs),rhsMax = -5.48672218769752E-13 2.23007999726329E-04 + cg2d: Sum(rhs),rhsMax = -7.65609797781508E-13 9.76269586763473E+00 + cg2d: Sum(rhs),rhsMax = -4.87471174537291E-13 2.27568991374378E-04 + cg2d: Sum(rhs),rhsMax = -5.86197757002083E-13 9.63804624662820E+00 + cg2d: Sum(rhs),rhsMax = -4.31640834186453E-13 2.31088084250991E-04 + cg2d: Sum(rhs),rhsMax = -8.27782287160517E-13 9.34829007243765E+00 + cg2d: Sum(rhs),rhsMax = -3.11750625314744E-13 2.33247157001862E-04 + cg2d: Sum(rhs),rhsMax = -7.67386154620908E-13 9.12167905632682E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075229D+06 +(PID.TID 0000.0001) local fc = 0.798704765435374D+06 +(PID.TID 0000.0001) global fc = 0.798704765435374D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 8.73016936520088E-14 6.28993178194434E+00 + cg2d: Sum(rhs),rhsMax = 1.09412479076809E-13 6.70007859135251E+00 + cg2d: Sum(rhs),rhsMax = 9.65894031423886E-14 6.82703161611302E+00 + cg2d: Sum(rhs),rhsMax = 1.31339383813156E-13 6.85801094471969E+00 + cg2d: Sum(rhs),rhsMax = -3.88578058618805E-14 7.14243599156986E+00 + cg2d: Sum(rhs),rhsMax = 2.04281036531029E-14 7.72291365612118E+00 + cg2d: Sum(rhs),rhsMax = 6.66133814775094E-15 8.03387068215144E+00 + cg2d: Sum(rhs),rhsMax = -3.09086090055644E-13 8.11896831229601E+00 + cg2d: Sum(rhs),rhsMax = -4.71622740860766E-13 8.04727754561628E+00 + cg2d: Sum(rhs),rhsMax = -7.73603403558809E-13 7.88895797902048E+00 + cg2d: Sum(rhs),rhsMax = -7.71827046719409E-13 8.31754379150922E+00 + cg2d: Sum(rhs),rhsMax = -9.25481913327530E-13 8.97048397344763E+00 + cg2d: Sum(rhs),rhsMax = -7.99360577730113E-13 9.43480072452314E+00 + cg2d: Sum(rhs),rhsMax = -7.88702436693711E-13 9.69891950278317E+00 + cg2d: Sum(rhs),rhsMax = -6.99884594723699E-13 9.76269586770301E+00 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.63804624669697E+00 + cg2d: Sum(rhs),rhsMax = -6.39488462184090E-13 9.34829007250261E+00 + cg2d: Sum(rhs),rhsMax = -8.02913291408913E-13 9.12167905636661E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358188D+06 + --> objf_test(bi,bj) = 0.444589534075218D+06 +(PID.TID 0000.0001) local fc = 0.798704765433406D+06 +(PID.TID 0000.0001) global fc = 0.798704765433406D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433406E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.51305659510126E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 8.44515429809789E-14 6.28993178193555E+00 + cg2d: Sum(rhs),rhsMax = 9.50350909079134E-14 6.70007859131807E+00 + cg2d: Sum(rhs),rhsMax = 4.11892742135933E-14 6.82703161604091E+00 + cg2d: Sum(rhs),rhsMax = 2.47579734491410E-14 6.85801094460644E+00 + cg2d: Sum(rhs),rhsMax = 3.10862446895044E-14 7.14243599150492E+00 + cg2d: Sum(rhs),rhsMax = -4.24105195406810E-14 7.72291365601962E+00 + cg2d: Sum(rhs),rhsMax = -9.14823772291129E-14 8.03387068201762E+00 + cg2d: Sum(rhs),rhsMax = -3.78364006792253E-13 8.11896831214093E+00 + cg2d: Sum(rhs),rhsMax = -4.92050844513869E-13 8.04727754545728E+00 + cg2d: Sum(rhs),rhsMax = -7.41628980449605E-13 7.88895797893960E+00 + cg2d: Sum(rhs),rhsMax = -7.42517158869305E-13 8.31754379143805E+00 + cg2d: Sum(rhs),rhsMax = -8.20676859802916E-13 8.97048397335496E+00 + cg2d: Sum(rhs),rhsMax = -7.85149723014911E-13 9.43480072441083E+00 + cg2d: Sum(rhs),rhsMax = -7.62057084102707E-13 9.69891950265567E+00 + cg2d: Sum(rhs),rhsMax = -6.27053964308288E-13 9.76269586756700E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 9.63804624656036E+00 + cg2d: Sum(rhs),rhsMax = -8.38440428196918E-13 9.34829007237321E+00 + cg2d: Sum(rhs),rhsMax = -8.81072992342524E-13 9.12167905628693E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362102D+06 + --> objf_test(bi,bj) = 0.444589534075236D+06 +(PID.TID 0000.0001) local fc = 0.798704765437337D+06 +(PID.TID 0000.0001) global fc = 0.798704765437337D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437337E+05 +grad-res ------------------------------- + grad-res 0 3 6 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 3 3 206 0 1 1 1 -1.96590888574E-02 -1.96584733203E-02 3.13105597297E-05 +(PID.TID 0000.0001) TLM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -1.96590888573812E-02 +(PID.TID 0000.0001) TLM finite-diff_grad = -1.96584733203053E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 207 6945 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 206 4 + ph-grd -->hit<-- 7 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 7 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.38298311375729E-15 2.53662338005412E+00 + cg2d: Sum(rhs),rhsMax = -7.68916180726720E-16 2.48654595302752E-05 + cg2d: Sum(rhs),rhsMax = 3.31124017094453E-14 5.04305351695054E+00 + cg2d: Sum(rhs),rhsMax = -2.45507553089247E-14 5.34495849821462E-05 + cg2d: Sum(rhs),rhsMax = 7.71292751888808E-14 6.28993178193989E+00 + cg2d: Sum(rhs),rhsMax = -6.94187545988156E-14 7.80471678816466E-05 + cg2d: Sum(rhs),rhsMax = 6.81954492876002E-14 6.70007859133556E+00 + cg2d: Sum(rhs),rhsMax = -1.28001775845377E-13 9.94918004400135E-05 + cg2d: Sum(rhs),rhsMax = 5.61772850460329E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = -1.96812184605211E-13 1.18992008367055E-04 + cg2d: Sum(rhs),rhsMax = 5.95079541199084E-14 6.85801094466120E+00 + cg2d: Sum(rhs),rhsMax = -2.73900693792406E-13 1.36846564806146E-04 + cg2d: Sum(rhs),rhsMax = 1.08801856413265E-14 7.14243599153858E+00 + cg2d: Sum(rhs),rhsMax = -3.58549995249646E-13 1.53001872142935E-04 + cg2d: Sum(rhs),rhsMax = -6.10622663543836E-14 7.72291365607167E+00 + cg2d: Sum(rhs),rhsMax = -4.58442311890295E-13 1.67375372327618E-04 + cg2d: Sum(rhs),rhsMax = -1.39888101102770E-13 8.03387068208567E+00 + cg2d: Sum(rhs),rhsMax = -5.77711489757604E-13 1.79997715422031E-04 + cg2d: Sum(rhs),rhsMax = -2.31370478331883E-13 8.11896831221679E+00 + cg2d: Sum(rhs),rhsMax = -7.08530456527967E-13 1.91057832144923E-04 + cg2d: Sum(rhs),rhsMax = -3.35731442646647E-13 8.04727754553627E+00 + cg2d: Sum(rhs),rhsMax = -8.34679547701001E-13 2.00840710031965E-04 + cg2d: Sum(rhs),rhsMax = -7.89590615113411E-13 7.88895797898157E+00 + cg2d: Sum(rhs),rhsMax = -9.39137656530420E-13 2.09626466326815E-04 + cg2d: Sum(rhs),rhsMax = -6.32383034826489E-13 8.31754379147368E+00 + cg2d: Sum(rhs),rhsMax = -1.00634778288367E-12 2.17629094935684E-04 + cg2d: Sum(rhs),rhsMax = -8.41993141875719E-13 8.97048397340150E+00 + cg2d: Sum(rhs),rhsMax = -1.01646469019556E-12 2.24983842825499E-04 + cg2d: Sum(rhs),rhsMax = -8.40216785036318E-13 9.43480072446724E+00 + cg2d: Sum(rhs),rhsMax = -9.47880662849343E-13 2.31746335118747E-04 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.69891950271938E+00 + cg2d: Sum(rhs),rhsMax = -8.36955504901482E-13 2.37877277880037E-04 + cg2d: Sum(rhs),rhsMax = -7.65609797781508E-13 9.76269586763473E+00 + cg2d: Sum(rhs),rhsMax = -7.39658334580895E-13 2.43219685648431E-04 + cg2d: Sum(rhs),rhsMax = -5.86197757002083E-13 9.63804624662820E+00 + cg2d: Sum(rhs),rhsMax = -6.52602971662475E-13 2.47494076440268E-04 + cg2d: Sum(rhs),rhsMax = -8.27782287160517E-13 9.34829007243765E+00 + cg2d: Sum(rhs),rhsMax = -5.54070678226992E-13 2.50330943202699E-04 + cg2d: Sum(rhs),rhsMax = -7.67386154620908E-13 9.12167905632682E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075229D+06 +(PID.TID 0000.0001) local fc = 0.798704765435374D+06 +(PID.TID 0000.0001) global fc = 0.798704765435374D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 4.50004616903144E-14 6.28993178194315E+00 + cg2d: Sum(rhs),rhsMax = 1.31367139388772E-13 6.70007859135030E+00 + cg2d: Sum(rhs),rhsMax = 5.96189764223709E-14 6.82703161610809E+00 + cg2d: Sum(rhs),rhsMax = 1.65423230669148E-14 6.85801094471197E+00 + cg2d: Sum(rhs),rhsMax = -3.41948691584548E-14 7.14243599157407E+00 + cg2d: Sum(rhs),rhsMax = -3.88578058618805E-14 7.72291365612505E+00 + cg2d: Sum(rhs),rhsMax = -1.19904086659517E-14 8.03387068215321E+00 + cg2d: Sum(rhs),rhsMax = -2.95319324550292E-13 8.11896831229459E+00 + cg2d: Sum(rhs),rhsMax = -3.99680288865056E-13 8.04727754561298E+00 + cg2d: Sum(rhs),rhsMax = -7.30082660993503E-13 7.88895797902488E+00 + cg2d: Sum(rhs),rhsMax = -7.96696042471012E-13 8.31754379151353E+00 + cg2d: Sum(rhs),rhsMax = -8.34887714518118E-13 8.97048397345162E+00 + cg2d: Sum(rhs),rhsMax = -8.89954776539525E-13 9.43480072452627E+00 + cg2d: Sum(rhs),rhsMax = -7.88702436693711E-13 9.69891950278502E+00 + cg2d: Sum(rhs),rhsMax = -6.69686528453894E-13 9.76269586770318E+00 + cg2d: Sum(rhs),rhsMax = -7.22977233635902E-13 9.63804624669534E+00 + cg2d: Sum(rhs),rhsMax = -6.64357457935694E-13 9.34829007249936E+00 + cg2d: Sum(rhs),rhsMax = -6.85673740008497E-13 9.12167905636955E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231357987D+06 + --> objf_test(bi,bj) = 0.444589534075221D+06 +(PID.TID 0000.0001) local fc = 0.798704765433208D+06 +(PID.TID 0000.0001) global fc = 0.798704765433208D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433208E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 4.15778522722121E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 6.52446846549637E-14 6.28993178193674E+00 + cg2d: Sum(rhs),rhsMax = 7.80209230555329E-14 6.70007859132161E+00 + cg2d: Sum(rhs),rhsMax = 9.50350909079134E-14 6.82703161604641E+00 + cg2d: Sum(rhs),rhsMax = 5.58442181386454E-14 6.85801094461299E+00 + cg2d: Sum(rhs),rhsMax = 1.55431223447522E-14 7.14243599149923E+00 + cg2d: Sum(rhs),rhsMax = -9.19264664389630E-14 7.72291365601715E+00 + cg2d: Sum(rhs),rhsMax = -9.90318937965640E-14 8.03387068201753E+00 + cg2d: Sum(rhs),rhsMax = -3.86357612569554E-13 8.11896831214255E+00 + cg2d: Sum(rhs),rhsMax = -5.12478948166972E-13 8.04727754546010E+00 + cg2d: Sum(rhs),rhsMax = -7.68274333040608E-13 7.88895797893527E+00 + cg2d: Sum(rhs),rhsMax = -7.74491581978509E-13 8.31754379143366E+00 + cg2d: Sum(rhs),rhsMax = -9.84101689027739E-13 8.97048397335084E+00 + cg2d: Sum(rhs),rhsMax = -8.52651282912120E-13 9.43480072440763E+00 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.69891950265375E+00 + cg2d: Sum(rhs),rhsMax = -7.24753590475302E-13 9.76269586756687E+00 + cg2d: Sum(rhs),rhsMax = -8.75743921824323E-13 9.63804624656203E+00 + cg2d: Sum(rhs),rhsMax = -7.24753590475302E-13 9.34829007237654E+00 + cg2d: Sum(rhs),rhsMax = -7.49622586226906E-13 9.12167905628407E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362302D+06 + --> objf_test(bi,bj) = 0.444589534075234D+06 +(PID.TID 0000.0001) local fc = 0.798704765437537D+06 +(PID.TID 0000.0001) global fc = 0.798704765437537D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437537E+05 +grad-res ------------------------------- + grad-res 0 4 7 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765438E+05 + grad-res 0 4 4 207 0 1 1 1 -2.16533768328E-02 -2.16439366341E-02 4.35968892537E-04 +(PID.TID 0000.0001) TLM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -2.16533768327812E-02 +(PID.TID 0000.0001) TLM finite-diff_grad = -2.16439366340637E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 208 6945 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 207 5 + ph-grd -->hit<-- 8 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 8 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.38298311375729E-15 2.53662338005412E+00 + cg2d: Sum(rhs),rhsMax = 4.99112470103702E-16 2.16878819856821E-05 + cg2d: Sum(rhs),rhsMax = 3.31124017094453E-14 5.04305351695054E+00 + cg2d: Sum(rhs),rhsMax = -2.92870315130554E-14 4.61737320200926E-05 + cg2d: Sum(rhs),rhsMax = 7.71292751888808E-14 6.28993178193989E+00 + cg2d: Sum(rhs),rhsMax = -6.84402621381475E-14 6.69370050741224E-05 + cg2d: Sum(rhs),rhsMax = 6.81954492876002E-14 6.70007859133556E+00 + cg2d: Sum(rhs),rhsMax = -1.13175311136637E-13 8.59991672941572E-05 + cg2d: Sum(rhs),rhsMax = 5.61772850460329E-14 6.82703161607703E+00 + cg2d: Sum(rhs),rhsMax = -1.69681109440933E-13 1.04652972315553E-04 + cg2d: Sum(rhs),rhsMax = 5.95079541199084E-14 6.85801094466120E+00 + cg2d: Sum(rhs),rhsMax = -2.42581128795383E-13 1.22414452062614E-04 + cg2d: Sum(rhs),rhsMax = 1.08801856413265E-14 7.14243599153858E+00 + cg2d: Sum(rhs),rhsMax = -2.46467776743309E-13 1.38520225764455E-04 + cg2d: Sum(rhs),rhsMax = -6.10622663543836E-14 7.72291365607167E+00 + cg2d: Sum(rhs),rhsMax = -3.67865460315642E-13 1.52571720954917E-04 + cg2d: Sum(rhs),rhsMax = -1.39888101102770E-13 8.03387068208567E+00 + cg2d: Sum(rhs),rhsMax = -5.11535258596041E-13 1.64501342637034E-04 + cg2d: Sum(rhs),rhsMax = -2.31370478331883E-13 8.11896831221679E+00 + cg2d: Sum(rhs),rhsMax = -6.72788214028941E-13 1.74486723774908E-04 + cg2d: Sum(rhs),rhsMax = -3.35731442646647E-13 8.04727754553627E+00 + cg2d: Sum(rhs),rhsMax = -8.40938430002325E-13 1.82903452457947E-04 + cg2d: Sum(rhs),rhsMax = -7.89590615113411E-13 7.88895797898157E+00 + cg2d: Sum(rhs),rhsMax = -9.96827620447505E-13 1.90228158775813E-04 + cg2d: Sum(rhs),rhsMax = -6.32383034826489E-13 8.31754379147368E+00 + cg2d: Sum(rhs),rhsMax = -1.12075626557129E-12 1.96900724055660E-04 + cg2d: Sum(rhs),rhsMax = -8.41993141875719E-13 8.97048397340150E+00 + cg2d: Sum(rhs),rhsMax = -1.18863252573931E-12 2.03213649663772E-04 + cg2d: Sum(rhs),rhsMax = -8.40216785036318E-13 9.43480072446724E+00 + cg2d: Sum(rhs),rhsMax = -1.17160448009912E-12 2.09263788593003E-04 + cg2d: Sum(rhs),rhsMax = -7.33635374672303E-13 9.69891950271938E+00 + cg2d: Sum(rhs),rhsMax = -1.03234087944770E-12 2.14956575614733E-04 + cg2d: Sum(rhs),rhsMax = -7.65609797781508E-13 9.76269586763473E+00 + cg2d: Sum(rhs),rhsMax = -8.79463168956818E-13 2.20040688534459E-04 + cg2d: Sum(rhs),rhsMax = -5.86197757002083E-13 9.63804624662820E+00 + cg2d: Sum(rhs),rhsMax = -7.31817384469480E-13 2.24160747113010E-04 + cg2d: Sum(rhs),rhsMax = -8.27782287160517E-13 9.34829007243765E+00 + cg2d: Sum(rhs),rhsMax = -5.74915115514330E-13 2.26923584315097E-04 + cg2d: Sum(rhs),rhsMax = -7.67386154620908E-13 9.12167905632682E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231360145D+06 + --> objf_test(bi,bj) = 0.444589534075229D+06 +(PID.TID 0000.0001) local fc = 0.798704765435374D+06 +(PID.TID 0000.0001) global fc = 0.798704765435374D+06 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 7.74033614980851E-14 6.28993178194144E+00 + cg2d: Sum(rhs),rhsMax = 1.02529096324133E-13 6.70007859134291E+00 + cg2d: Sum(rhs),rhsMax = 7.28306304154103E-14 6.82703161609566E+00 + cg2d: Sum(rhs),rhsMax = 2.02060590481778E-14 6.85801094469373E+00 + cg2d: Sum(rhs),rhsMax = -2.42028619368284E-14 7.14243599156807E+00 + cg2d: Sum(rhs),rhsMax = -1.07913677993565E-13 7.72291365611494E+00 + cg2d: Sum(rhs),rhsMax = -4.57411886145564E-14 8.03387068214167E+00 + cg2d: Sum(rhs),rhsMax = -3.00648395068492E-13 8.11896831228110E+00 + cg2d: Sum(rhs),rhsMax = -4.68070027181966E-13 8.04727754560106E+00 + cg2d: Sum(rhs),rhsMax = -8.65085780787922E-13 7.88895797902036E+00 + cg2d: Sum(rhs),rhsMax = -7.03437308402499E-13 8.31754379151048E+00 + cg2d: Sum(rhs),rhsMax = -9.76996261670138E-13 8.97048397344724E+00 + cg2d: Sum(rhs),rhsMax = -7.60280727263307E-13 9.43480072452051E+00 + cg2d: Sum(rhs),rhsMax = -7.08766378920700E-13 9.69891950277805E+00 + cg2d: Sum(rhs),rhsMax = -7.65609797781508E-13 9.76269586769535E+00 + cg2d: Sum(rhs),rhsMax = -6.34159391665889E-13 9.63804624668709E+00 + cg2d: Sum(rhs),rhsMax = -8.59756710269721E-13 9.34829007249099E+00 + cg2d: Sum(rhs),rhsMax = -8.52651282912120E-13 9.12167905636606E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231358061D+06 + --> objf_test(bi,bj) = 0.444589534075221D+06 +(PID.TID 0000.0001) local fc = 0.798704765433282D+06 +(PID.TID 0000.0001) global fc = 0.798704765433282D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.98704765433282E+05 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsst", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sst.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sst.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "climsss", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "lev_sss.bin" +(PID.TID 0000.0001) EXF_INTERP: file="lev_sss.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 12 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_UV: fields "ustress" & "vstress", it= 0 +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_taux.bin" +(PID.TID 0000.0001) EXF_SET_UV: loading rec= 1 from file: "trenberth_tauy.bin" +(PID.TID 0000.0001) EXF_INTERP_UV: fileU="trenberth_taux.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 12 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 12 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) EXF_SET_FLD: field "hflux", it= 0, loading rec= 1 +(PID.TID 0000.0001) EXF_SET_FLD: from file: "ncep_qnet.bin" +(PID.TID 0000.0001) EXF_INTERP: file="ncep_qnet.bin", rec= 1 , x-Per,P.Sym= T T +(PID.TID 0000.0001) S.edge (j=-1,0,1) : proc= 0.0 0.0 0.0, yIn= -86.000000 -82.000000 -78.000000 +(PID.TID 0000.0001) N.edge (j=+0,+1,+2) proc= 0.0 0.0 0.0, yIn= 78.000000 82.000000 86.000000 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.77555756156289E-16 2.53662338005399E+00 + cg2d: Sum(rhs),rhsMax = 3.80251385934116E-14 5.04305351695056E+00 + cg2d: Sum(rhs),rhsMax = 6.42142589102335E-14 6.28993178193845E+00 + cg2d: Sum(rhs),rhsMax = 8.10185252220208E-14 6.70007859132800E+00 + cg2d: Sum(rhs),rhsMax = 8.01581023779363E-14 6.82703161605798E+00 + cg2d: Sum(rhs),rhsMax = 9.58122470251510E-14 6.85801094462948E+00 + cg2d: Sum(rhs),rhsMax = -5.66213742558830E-14 7.14243599150587E+00 + cg2d: Sum(rhs),rhsMax = -3.44169137633799E-14 7.72291365602575E+00 + cg2d: Sum(rhs),rhsMax = -1.59872115546023E-13 8.03387068202880E+00 + cg2d: Sum(rhs),rhsMax = -3.77919917582403E-13 8.11896831215564E+00 + cg2d: Sum(rhs),rhsMax = -4.13891143580258E-13 8.04727754547380E+00 + cg2d: Sum(rhs),rhsMax = -6.10178574333986E-13 7.88895797893939E+00 + cg2d: Sum(rhs),rhsMax = -8.75743921824323E-13 8.31754379143682E+00 + cg2d: Sum(rhs),rhsMax = -7.76267938817909E-13 8.97048397335530E+00 + cg2d: Sum(rhs),rhsMax = -7.31859017832903E-13 9.43480072441335E+00 + cg2d: Sum(rhs),rhsMax = -8.45545855554519E-13 9.69891950266066E+00 + cg2d: Sum(rhs),rhsMax = -7.47846229387505E-13 9.76269586757459E+00 + cg2d: Sum(rhs),rhsMax = -5.20472553944273E-13 9.63804624657024E+00 + cg2d: Sum(rhs),rhsMax = -8.81072992342524E-13 9.34829007238485E+00 + cg2d: Sum(rhs),rhsMax = -8.10018718766514E-13 9.12167905628749E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.354115231362228D+06 + --> objf_test(bi,bj) = 0.444589534075233D+06 +(PID.TID 0000.0001) local fc = 0.798704765437461D+06 +(PID.TID 0000.0001) global fc = 0.798704765437461D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.98704765437461E+05 +grad-res ------------------------------- + grad-res 0 5 8 8 1 1 1 1 7.98704765435E+05 7.98704765433E+05 7.98704765437E+05 + grad-res 0 5 5 208 0 1 1 1 -2.08952615873E-02 -2.08965502679E-02 -6.16733426411E-05 +(PID.TID 0000.0001) TLM ref_cost_function = 7.98704765435371E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -2.08952615873074E-02 +(PID.TID 0000.0001) TLM finite-diff_grad = -2.08965502679348E-02 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) TLM GRAD(FC) 1-FDGRD/TLMGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 4 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 1 7.9870476543537E+05 7.9870476543338E+05 7.9870476543737E+05 +(PID.TID 0000.0001) grdchk output (g): 1 -1.9962317310274E-02 -1.9954593441573E-02 -3.8707221587209E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 5 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 2 7.9870476543537E+05 7.9870476543341E+05 7.9870476543733E+05 +(PID.TID 0000.0001) grdchk output (g): 2 -1.9618892110884E-02 -1.9621073100438E-02 1.1115546751139E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 6 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 3 7.9870476543537E+05 7.9870476543341E+05 7.9870476543734E+05 +(PID.TID 0000.0001) grdchk output (g): 3 -1.9658473320305E-02 -1.9659088857381E-02 3.1310559729714E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 7 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 4 7.9870476543537E+05 7.9870476543321E+05 7.9870476543754E+05 +(PID.TID 0000.0001) grdchk output (g): 4 -2.1643936634064E-02 -2.1653376832781E-02 4.3596889253705E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 8 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 5 7.9870476543537E+05 7.9870476543328E+05 7.9870476543746E+05 +(PID.TID 0000.0001) grdchk output (g): 5 -2.0896550267935E-02 -2.0895261587307E-02 -6.1673342641066E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 2.6722023346330E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 58.749678415944800 +(PID.TID 0000.0001) System time: 9.4549998408183455E-002 +(PID.TID 0000.0001) Wall clock time: 59.074519157409668 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 5.4750999435782433E-002 +(PID.TID 0000.0001) System time: 1.4396000653505325E-002 +(PID.TID 0000.0001) Wall clock time: 7.1352958679199219E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.3158001005649567E-002 +(PID.TID 0000.0001) System time: 1.0110009461641312E-003 +(PID.TID 0000.0001) Wall clock time: 1.4249086380004883E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 1.2795001268386841E-002 +(PID.TID 0000.0001) System time: 9.2700123786926270E-004 +(PID.TID 0000.0001) Wall clock time: 1.3795137405395508E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 58.668929785490036 +(PID.TID 0000.0001) System time: 7.8192997723817825E-002 +(PID.TID 0000.0001) Wall clock time: 58.975079059600830 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.54466933012008667 +(PID.TID 0000.0001) System time: 4.7329984605312347E-002 +(PID.TID 0000.0001) Wall clock time: 0.60314440727233887 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 58.109876364469528 +(PID.TID 0000.0001) System time: 2.7426009997725487E-002 +(PID.TID 0000.0001) Wall clock time: 58.316330194473267 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 58.080507107079029 +(PID.TID 0000.0001) System time: 2.4443011730909348E-002 +(PID.TID 0000.0001) Wall clock time: 58.283643484115601 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 58.076905041933060 +(PID.TID 0000.0001) System time: 2.4388018995523453E-002 +(PID.TID 0000.0001) Wall clock time: 58.279982089996338 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.83333698660135269 +(PID.TID 0000.0001) System time: 1.0552007704973221E-002 +(PID.TID 0000.0001) Wall clock time: 0.85294151306152344 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "EXF_GETFORCING [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 0.65205334872007370 +(PID.TID 0000.0001) System time: 4.4449996203184128E-003 +(PID.TID 0000.0001) Wall clock time: 0.66482520103454590 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 1.8990635871887207E-003 +(PID.TID 0000.0001) System time: 9.9837779998779297E-007 +(PID.TID 0000.0001) Wall clock time: 1.8925666809082031E-003 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.33420011401176453 +(PID.TID 0000.0001) System time: 9.0300664305686951E-004 +(PID.TID 0000.0001) Wall clock time: 0.33623743057250977 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.2323173284530640E-002 +(PID.TID 0000.0001) System time: 4.0100887417793274E-004 +(PID.TID 0000.0001) Wall clock time: 7.3005914688110352E-002 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 10.033455684781075 +(PID.TID 0000.0001) System time: 2.6209950447082520E-003 +(PID.TID 0000.0001) Wall clock time: 10.067435503005981 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 17.731657221913338 +(PID.TID 0000.0001) System time: 4.7440063208341599E-003 +(PID.TID 0000.0001) Wall clock time: 17.791957616806030 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 22.743497431278229 +(PID.TID 0000.0001) System time: 1.9579995423555374E-003 +(PID.TID 0000.0001) Wall clock time: 22.811164379119873 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.3976371288299561 +(PID.TID 0000.0001) System time: 1.0559968650341034E-003 +(PID.TID 0000.0001) Wall clock time: 3.4076416492462158 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.65554198622703552 +(PID.TID 0000.0001) System time: 7.0035457611083984E-006 +(PID.TID 0000.0001) Wall clock time: 0.65753698348999023 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.80678898096084595 +(PID.TID 0000.0001) System time: 2.9988586902618408E-006 +(PID.TID 0000.0001) Wall clock time: 0.80919241905212402 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.8150210380554199E-003 +(PID.TID 0000.0001) System time: 8.0019235610961914E-006 +(PID.TID 0000.0001) Wall clock time: 1.8262863159179688E-003 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.44399887323379517 +(PID.TID 0000.0001) System time: 9.6599757671356201E-004 +(PID.TID 0000.0001) Wall clock time: 0.44679570198059082 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.8759071826934814E-003 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.8949508666992188E-003 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.98505985736846924 +(PID.TID 0000.0001) System time: 9.9599361419677734E-004 +(PID.TID 0000.0001) Wall clock time: 0.98891472816467285 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.9984841346740723E-003 +(PID.TID 0000.0001) System time: 5.9977173805236816E-006 +(PID.TID 0000.0001) Wall clock time: 2.0098686218261719E-003 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.1598339080810547E-003 +(PID.TID 0000.0001) System time: 6.0051679611206055E-006 +(PID.TID 0000.0001) Wall clock time: 2.1610260009765625E-003 +(PID.TID 0000.0001) No. starts: 320 +(PID.TID 0000.0001) No. stops: 320 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 9.4914436340332031E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 9.6893310546875000E-004 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 67108 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 67108 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/halfpipe_streamice/code_oad/ctrl_map_ini_gentim2d.F b/verification/halfpipe_streamice/code_oad/ctrl_map_ini_gentim2d.F new file mode 100644 index 0000000000..ac5f8e7cf6 --- /dev/null +++ b/verification/halfpipe_streamice/code_oad/ctrl_map_ini_gentim2d.F @@ -0,0 +1,490 @@ +#include "CTRL_OPTIONS.h" +#ifdef ALLOW_AUTODIFF +# include "AUTODIFF_OPTIONS.h" +#endif + +CBOP +C !ROUTINE: CTRL_MAP_INI_GENTIM2D +C !INTERFACE: + SUBROUTINE CTRL_MAP_INI_GENTIM2D( myThid ) + +C !DESCRIPTION: \bv +C *================================================================ +C | SUBROUTINE CTRL_MAP_INI_GENTIM2D +C | Dimensionalize and preprocess time variable controls. +C *================================================================ +C | Older version (from before Tapenade changes, PR 685) for OpenAD, +C | used in OpenAD test exp. hs94.1x64x5 & halfpipe_streamice +C *================================================================= +C \ev + +C !USES: + IMPLICIT NONE + +C == global variables == +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "GRID.h" +#include "DYNVARS.h" +#include "FFIELDS.h" +#include "CTRL_SIZE.h" +#include "ctrl.h" +#include "optim.h" +#include "ctrl_dummy.h" +#include "CTRL_GENARR.h" +#ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_FIELDS.h" +#endif +#ifdef ALLOW_AUTODIFF_TAMC +# include "tamc.h" +#endif + +C !INPUT/OUTPUT PARAMETERS: +C == routine arguments == + INTEGER myThid + +#ifdef ALLOW_GENTIM2D_CONTROL +C !FUNCTIONS: + INTEGER ILNBLNK + EXTERNAL ILNBLNK + +C !LOCAL VARIABLES: +C == local variables == + integer iarr + integer numsmo + CHARACTER*(80) fnamegenIn + CHARACTER*(80) fnamegenOut + CHARACTER*(80) fnamegenTmp + CHARACTER*(80) fnamebase + integer startrec + integer endrec + integer diffrec + integer iRec, jrec, kRec, lRec + integer replicated_nrec + integer replicated_ntimes + logical doglobalread + logical ladinit + logical dowc01 + logical dosmooth + logical doscaling + _RL xx_gen(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + _RS mask2D(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) +#ifdef ALLOW_ECCO + _RL xx_gen_tmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + integer nyearsINT + _RL recip_nyearsRL +#endif + integer bi,bj + integer i,j,k2 + integer ilgen + integer ilDir +CEOP + +#ifdef ALLOW_DEBUG + IF (debugMode) CALL DEBUG_ENTER('CTRL_MAP_INI_GENTIM2D',myThid) +#endif /* ALLOW_DEBUG */ + +C-- Now, read the control vector. + doglobalread = .false. + ladinit = .false. + +C Find ctrlDir (w/o trailing blanks) length + ilDir = ilnblnk(ctrlDir) + + DO bj=myByLo(myThid), myByHi(myThid) + DO bi=myBxLo(myThid), myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + xx_gen(i,j,bi,bj)=0. _d 0 +#ifdef ALLOW_ECCO + xx_gen_tmp(i,j,bi,bj)=0. _d 0 +#endif + ENDDO + ENDDO + ENDDO + ENDDO + +C-- generic 2D control variables + DO iarr = 1, maxCtrlTim2D + + diffrec=0 + startrec=0 + endrec=0 + +#ifndef ALLOW_OPENAD + if (xx_gentim2d_weight(iarr).NE.' ') then +#endif + + ilgen=ilnblnk( xx_gentim2d_file(iarr) ) + fnamebase = xx_gentim2d_file(iarr)(1:ilgen) + call ctrl_init_rec ( fnamebase, + I xx_gentim2d_startdate1(iarr), + I xx_gentim2d_startdate2(iarr), + I xx_gentim2d_period(iarr), + I 1, + O xx_gentim2d_startdate(1,iarr), + O diffrec, startrec, endrec, + I myThid ) + +C From CTRL_INIT_REC one gets [start,end,diff]rec. +C Below, file xx_*.$iter.data is read in from records startrec to endrec, +C followed by a write to file xx_*.effective.$iter.data of record 1 to diffrec +C (see TAF-generated S/R ctrl_map_ini_gentim2dmd). + +#ifdef ALLOW_CTRL_DEBUG +C Note: In the "md" (i.e. TAF modified) version of this fwd S/R, DEBUG calls and +C print statements are removed. See "Automatic Differentiation" chap. in the doc + write(*,*) 'AA: iarr,xx_gentim2d_startdate(1,iarr): ', + & iarr,xx_gentim2d_startdate(1,iarr) +#endif + dosmooth=.false. + dowc01 = .false. + doscaling=.true. + + numsmo=1 + do k2 = 1, maxCtrlProc + if (xx_gentim2d_preproc(k2,iarr).EQ.'WC01') then + dowc01=.TRUE. + if (xx_gentim2d_preproc_i(k2,iarr).NE.0) + & numsmo=xx_gentim2d_preproc_i(k2,iarr) + endif + if ((.NOT.dowc01).AND. + & (xx_gentim2d_preproc(k2,iarr).EQ.'smooth')) then + dosmooth=.TRUE. + if (xx_gentim2d_preproc_i(k2,iarr).NE.0) + & numsmo=xx_gentim2d_preproc_i(k2,iarr) + endif + if (xx_gentim2d_preproc(k2,iarr).EQ.'noscaling') then + doscaling=.FALSE. + endif + enddo + + ilgen=ilnblnk( xx_gentim2d_file(iarr) ) + fnamebase = xx_gentim2d_file(iarr)(1:ilgen) + write(fnamegenIn(1:80),'(2a,i10.10)') + & ctrlDir(1:ilDir)//fnamebase(1:ilgen),'.',optimcycle + write(fnamegenOut(1:80),'(2a,i10.10)') + & ctrlDir(1:ilDir)//fnamebase(1:ilgen),'.effective.',optimcycle + write(fnamegenTmp(1:80),'(2a,i10.10)') + & ctrlDir(1:ilDir)//fnamebase(1:ilgen),'.tmp.',optimcycle + +C-- docycle + + replicated_nrec=diffrec + replicated_ntimes=0 + do k2 = 1, maxCtrlProc + if (xx_gentim2d_preproc(k2,iarr).EQ.'docycle') then + if (xx_gentim2d_preproc_i(k2,iarr).NE.0) then + replicated_nrec=min(diffrec,xx_gentim2d_preproc_i(k2,iarr)) + replicated_ntimes= + & int(float(diffrec)/float(replicated_nrec)) + if (replicated_ntimes*replicated_nrec.LT.diffrec) + & replicated_ntimes=replicated_ntimes+1 + if (replicated_ntimes*replicated_nrec.GT.diffrec) + & replicated_ntimes=replicated_ntimes-1 + endif + endif + enddo + +#ifdef ALLOW_CTRL_DEBUG + write(*,'(A,1x,5I6)') + & 'AD:[start,end,diff]rec, replicated_[nrec,ntimes]: ', + & startrec, endrec, diffrec, + & replicated_nrec,replicated_ntimes +#endif + DO jrec = 1, replicated_ntimes+1 + DO iRec = 1, replicated_nrec +#ifdef ALLOW_AUTODIFF_TAMC +CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte +#endif + kRec=replicated_nrec*(jrec-1)+iRec + lRec=startrec+iRec-1 + IF (kRec.LE.endrec) THEN +#ifdef ALLOW_CTRL_DEBUG + ilgen=ilnblnk( fnamegenIn ) + write(*,*) 'AE: iarr,[i,j,k,l]rec: ',iarr,iRec,jrec,lRec + write(*,*) 'AF: fnamegenIn: ', fnamegenIn(1:ilgen) +#endif +C fnamegenIn is xx_*.$iter.data, so the required access records starts at +C startrec+iRec-1 instead of iRec in the read call below. In adjoint mode, S/R +C ADACTIVE_READ_XY reads adxx_*.$iter.data in reverse order, with required +C access from endrec back to startrec. This requires creating adxx_*.$iter.data +C file of size endrec, with valid gradients from records startrec to endrec +C but all zeros from 1 to startrec-1. See documentation: +C https://mitgcm.readthedocs.io/en/latest/ocean_state_est/ocean_state_est.html#ctrl-model-parameter-adjustment-capability +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_READ_XY( fnamegenIn, xx_gen, lRec, + & doglobalread, ladinit, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL READ_REC_XY_RL( fnamegenIn, xx_gen, lRec, 1, myThid ) +#endif +C Here, we write record kRec (from 1 to diffrec) to file xx_*.effective.$iter +#ifdef ALLOW_AUTODIFF +#ifdef ALLOW_CTRL_DEBUG + ilgen=ilnblnk( fnamegenOut ) + write(*,*) 'AG: iarr,[i,j,k]rec: ',iarr,iRec,jrec,kRec + write(*,*) 'AH: fnamegenOut: ', fnamegenOut(1:ilgen) +#endif + CALL ACTIVE_WRITE_XY( fnamegenOut, xx_gen, kRec, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL WRITE_REC_XY_RL( fnamegenOut, xx_gen, kRec, 1, myThid ) +#endif + ENDIF + ENDDO + ENDDO + +C-- rmcycle +#ifdef ALLOW_ECCO + replicated_nrec=diffrec + replicated_ntimes=0 + do k2 = 1, maxCtrlProc + if (xx_gentim2d_preproc(k2,iarr).EQ.'rmcycle') then + if (xx_gentim2d_preproc_i(k2,iarr).NE.0) then + replicated_nrec=min(diffrec,xx_gentim2d_preproc_i(k2,iarr)) + replicated_ntimes= + & int(float(diffrec)/float(replicated_nrec)) + if (replicated_ntimes*replicated_nrec.LT.diffrec) + & replicated_ntimes=replicated_ntimes+1 + if (replicated_ntimes*replicated_nrec.GT.diffrec) + & replicated_ntimes=replicated_ntimes-1 + endif + endif + enddo + +#ifdef ALLOW_CTRL_DEBUG + write(*,'(A,1x,5I6)') + & 'AI:[start,end,diff]rec, replicated_[nrec,ntimes]: ', + & startrec,endrec,diffrec,replicated_nrec,replicated_ntimes +#endif + + IF (replicated_ntimes.GT.0) THEN + +C create cyclic average + + nyearsINT=1+int((diffrec-replicated_nrec)/replicated_nrec) + recip_nyearsRL=1. _d 0/float(nyearsINT) + +#ifdef ALLOW_CTRL_DEBUG + write(*,*) 'AJ: nyears[INT,RL]: ',nyearsINT,recip_nyearsRL +#endif + + DO iRec = 1, replicated_nrec + + DO bj=myByLo(myThid),myByHi(myThid) + DO bi=myBxLo(myThid),myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + xx_gen(i,j,bi,bj) = zeroRL + ENDDO + ENDDO + ENDDO + ENDDO + + DO jrec=1,nyearsINT +#ifdef ALLOW_AUTODIFF_TAMC +CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte +#endif + kRec=iRec+(jrec-1)*replicated_nrec +#ifdef ALLOW_CTRL_DEBUG + write(*,*) 'AK: iarr,[i,j,k]rec: ',iarr,iRec,jrec,kRec + ilgen=ilnblnk( fnamegenOut ) + write(*,*) 'AL: fnamegenOut: ',fnamegenOut(1:ilgen) +#endif +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_READ_XY( fnamegenOut, xx_gen_tmp, kRec, + & doglobalread, ladinit, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL READ_REC_XY_RL( fnamegenOut, xx_gen_tmp, kRec, + & 1, myThid ) +#endif + DO bj=myByLo(myThid),myByHi(myThid) + DO bi=myBxLo(myThid),myBxHi(myThid) + DO j = 1,sNy + DO i = 1,sNx + xx_gen(i,j,bi,bj) = xx_gen(i,j,bi,bj) + & +xx_gen_tmp(i,j,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO +C end jrec + ENDDO + + DO bj=myByLo(myThid),myByHi(myThid) + DO bi=myBxLo(myThid),myBxHi(myThid) + DO j = 1,sNy + DO i = 1,sNx + xx_gen(i,j,bi,bj) = xx_gen(i,j,bi,bj) * recip_nyearsRL + ENDDO + ENDDO + ENDDO + ENDDO + +#ifdef ALLOW_AUTODIFF_TAMC +CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte +#endif + +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_WRITE_XY( fnamegenTmp, xx_gen, iRec, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL WRITE_REC_XY_RL( fnamegenTmp, xx_gen, iRec, 1, myThid ) +#endif + + ENDDO + +C subtract cyclic average + DO jrec = 1, replicated_ntimes+1 + DO iRec = 1, replicated_nrec +#ifdef ALLOW_AUTODIFF_TAMC +CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte +#endif + kRec=replicated_nrec*(jrec-1)+iRec +#ifdef ALLOW_CTRL_DEBUG + write(*,*) 'AM: iarr,[i,j,k]rec: ',iarr,iRec,jrec,kRec + ilgen=ilnblnk( fnamegenOut ) + write(*,*) 'AN: fnamegenOut: ',fnamegenOut(1:ilgen) +#endif + IF (kRec.LE.diffrec) THEN +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_READ_XY( fnamegenOut, xx_gen, kRec, + & doglobalread, ladinit, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL READ_REC_XY_RL( fnamegenOut, xx_gen, kRec, 1, myThid ) +#endif +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_READ_XY( fnamegenTmp, xx_gen_tmp, iRec, + & doglobalread, ladinit, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL READ_REC_XY_RL( fnamegenTmp, xx_gen_tmp, iRec, 1, + & myThid ) +#endif + DO bj=myByLo(myThid),myByHi(myThid) + DO bi=myBxLo(myThid),myBxHi(myThid) + DO j = 1,sNy + DO i = 1,sNx + xx_gen(i,j,bi,bj)=xx_gen(i,j,bi,bj) + & -xx_gen_tmp(i,j,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_WRITE_XY( fnamegenOut, xx_gen, kRec, + & optimcycle, myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL WRITE_REC_XY_RL( fnamegenOut, xx_gen, kRec, 1, + & myThid ) +#endif + ENDIF + ENDDO + ENDDO + + ENDIF +#endif /* ifdef ALLOW_ECCO */ + +C-- scaling and smoothing + +C The access of records startrec to endrec in xx_*.*iter was already +C done correctly above. From here, we read in xx_*.effective.$iter.data +C of size diffrec, so no more fix of record is needed from here on out. + DO iRec = 1, diffrec +#ifdef ALLOW_AUTODIFF_TAMC +CADJ STORE xx_gentim2d_dummy = dummytape, key = 1 , kind = isbyte +#endif + +#ifdef ALLOW_CTRL_DEBUG + ilgen=ilnblnk( fnamegenOut ) + lRec=startrec+iRec-1 + write(*,'(A,1x,A,1x,2I6)') 'AO: fnamegenOut, iRec,lRec ', + & fnamegenOut(1:ilgen),iRec,lRec +#endif +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_READ_XY( fnamegenOut, xx_gen, iRec, + & doglobalread, ladinit, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL READ_REC_XY_RL( fnamegenOut, xx_gen, iRec, 1, myThid ) +#endif + +#ifndef ALLOW_OPENAD + jrec=1 +C Not clear which record to use for timevariable weights ; +C For now, just assumes records from startrec to endrec are available in file + do k2 = 1, maxCtrlProc + if (xx_gentim2d_preproc(k2,iarr).EQ.'variaweight') then + jrec=startrec+iRec-1 + endif + enddo + CALL READ_REC_3D_RL( xx_gentim2d_weight(iarr), ctrlprec, 1, + & wgentim2d(1-OLx,1-OLy,1,1,iarr), jrec, 1, myThid ) + +C-- Get appropriate mask + call ctrl_get_mask2D(xx_gentim2d_file(iarr), mask2D, myThid) + +#ifdef ALLOW_SMOOTH + IF (useSMOOTH) THEN + IF (dowc01) call smooth_correl2d(xx_gen,mask2D,numsmo,myThid) + IF (dosmooth) call smooth2d(xx_gen,mask2D,numsmo,myThid) + ENDIF +#endif /* ALLOW_SMOOTH */ + + DO bj=myByLo(myThid), myByHi(myThid) + DO bi=myBxLo(myThid), myBxHi(myThid) + DO j = 1,sNy + DO i = 1,sNx + if ((mask2D(i,j,bi,bj).NE.0.).AND. + & (wgentim2d(i,j,bi,bj,iarr).GT.0.)) then + IF (doscaling) then + xx_gen(i,j,bi,bj)=xx_gen(i,j,bi,bj) + & /sqrt(wgentim2d(i,j,bi,bj,iarr)) + ENDIF ! IF (doscaling) then + else + xx_gen(i,j,bi,bj)=0. _d 0 + endif + ENDDO + ENDDO + ENDDO + ENDDO +#endif /* ALLOW_OPENAD */ + + CALL CTRL_BOUND_2D(xx_gen,mask2D, + & xx_gentim2d_bounds(1,iarr),myThid) + + CALL EXCH_XY_RL ( xx_gen , myThid ) + +#ifdef ALLOW_CTRL_DEBUG + ilgen=ilnblnk( fnamegenOut ) + write(*,'(A,1x,I6,1x,A)') + & 'AQ: iRec,fnamegenOut: ',iRec,fnamegenOut(1:ilgen) +#endif +#ifdef ALLOW_AUTODIFF + CALL ACTIVE_WRITE_XY( fnamegenOut, xx_gen, iRec, optimcycle, + & myThid, xx_gentim2d_dummy(iarr) ) +#else + CALL WRITE_REC_XY_RL( fnamegenOut, xx_gen, iRec, 1, myThid ) +#endif +C-- end iRec loop + ENDDO + +#ifndef ALLOW_OPENAD + endif +#endif + +C-- end iarr loop + ENDDO + +#ifdef ALLOW_DEBUG + IF (debugMode) CALL DEBUG_LEAVE('CTRL_MAP_INI_GENTIM2D',myThid) +#endif /* ALLOW_DEBUG */ +#endif /* ALLOW_GENTIM2D_CONTROL */ + + RETURN + END diff --git a/verification/halfpipe_streamice/code_tap/AUTODIFF_OPTIONS.h b/verification/halfpipe_streamice/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..25929397b4 --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,83 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o allow using viscFacInAd to recompute viscosities in AD +#undef AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/halfpipe_streamice/code_tap/COST_OPTIONS.h b/verification/halfpipe_streamice/code_tap/COST_OPTIONS.h new file mode 100644 index 0000000000..05e9db3b40 --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/COST_OPTIONS.h @@ -0,0 +1,77 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT + +#define ALLOW_COST_TEST +#undef ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/halfpipe_streamice/code_tap/CTRL_OPTIONS.h b/verification/halfpipe_streamice/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..ca82a962bf --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,106 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +#undef ECCO_CTRL_DEPRECATED + +#undef EXCLUDE_CTRL_PACK +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO + +C >>> Initial values. +#undef ALLOW_THETA0_CONTROL +#undef ALLOW_SALT0_CONTROL +#undef ALLOW_UVEL0_CONTROL +#undef ALLOW_VVEL0_CONTROL +#undef ALLOW_TR10_CONTROL +#undef ALLOW_TAUU0_CONTROL +#undef ALLOW_TAUV0_CONTROL +#undef ALLOW_SFLUX0_CONTROL +#undef ALLOW_HFLUX0_CONTROL +#undef ALLOW_SSS0_CONTROL +#undef ALLOW_SST0_CONTROL + +C >>> Surface fluxes. +#undef ALLOW_HFLUX_CONTROL +#undef ALLOW_SFLUX_CONTROL +#undef ALLOW_USTRESS_CONTROL +#undef ALLOW_VSTRESS_CONTROL +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> Atmospheric state. +#undef ALLOW_ATEMP_CONTROL +#undef ALLOW_AQH_CONTROL +#undef ALLOW_UWIND_CONTROL +#undef ALLOW_VWIND_CONTROL +#undef ALLOW_PRECIP_CONTROL + +C >>> Other Control. +#undef ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#define ALLOW_GENARR2D_CONTROL +#undef ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/halfpipe_streamice/code_tap/CTRL_SIZE.h b/verification/halfpipe_streamice/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..2d9b2500ed --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/CTRL_SIZE.h @@ -0,0 +1,27 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 2 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 1 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 1 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/halfpipe_streamice/code_tap/DIAGNOSTICS_SIZE.h b/verification/halfpipe_streamice/code_tap/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..7c3476af5e --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/DIAGNOSTICS_SIZE.h @@ -0,0 +1,28 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numDiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C sizRegMsk :: maximum size of the regional-mask (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numDiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numDiags + INTEGER nRegions, sizRegMsk, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 10, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numDiags = 6*Nr ) + PARAMETER( nRegions = 0 , sizRegMsk = 1 , nStats = 4 ) + PARAMETER( diagSt_size = 5*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/halfpipe_streamice/code_tap/SIZE.h b/verification/halfpipe_streamice/code_tap/SIZE.h new file mode 100644 index 0000000000..f64c95fc31 --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 20, + & sNy = 20, + & OLx = 3, + & OLy = 3, + & nSx = 2, + & nSy = 1, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 1) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/halfpipe_streamice/code_tap/SIZE.h_mpi b/verification/halfpipe_streamice/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..bd429e6234 --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/SIZE.h_mpi @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 20, + & sNy = 20, + & OLx = 3, + & OLy = 3, + & nSx = 1, + & nSy = 1, + & nPx = 2, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 1) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/halfpipe_streamice/code_tap/STREAMICE_OPTIONS.h b/verification/halfpipe_streamice/code_tap/STREAMICE_OPTIONS.h new file mode 100644 index 0000000000..ed04be66bd --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/STREAMICE_OPTIONS.h @@ -0,0 +1,36 @@ +C CPP options file for STREAMICE +C Use this file for selecting options within package "streamice" +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +#ifndef STREAMICE_OPTIONS_H +#define STREAMICE_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_STREAMICE + +C Place CPP define/undef flag here + +#define STREAMICE_CONSTRUCT_MATRIX +#define STREAMICE_HYBRID_STRESS +#undef STREAMICE_FLOWLINE_BUTTRESS +#define USE_ALT_RLOW +#undef STREAMICE_GEOM_FILE_SETUP +C The following will taper basal stress in a cell based +C on height above floatation, and option (2) will also +C smooth surface elevation across grounding line; +C only one should be defined +#define STREAMICE_SMOOTH_FLOATATION +#undef STREAMICE_SMOOTH_FLOATATION2 + +#undef ALLOW_PETSC +#undef ALLOW_STREAMICE_2DTRACER +#undef STREAMICE_TRACER_AB +#undef STREAMICE_SERIAL_TRISOLVE + +#endif /* ALLOW_STREAMICE */ +#endif /* STREAMICE_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/halfpipe_streamice/code_tap/cost_test.F b/verification/halfpipe_streamice/code_tap/cost_test.F new file mode 100644 index 0000000000..e9cc0bb76b --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/cost_test.F @@ -0,0 +1,82 @@ +#include "COST_OPTIONS.h" +#ifdef ALLOW_STREAMICE +# include "STREAMICE_OPTIONS.h" +#endif + + subroutine cost_test( myThid ) +C *==========================================================* +C | subroutine cost_test | +C | o this routine computes the cost function for the tiles | +C | of this processor | +C *==========================================================* +C | Notes | +C *==========================================================* + IMPLICIT NONE + +C == Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "DYNVARS.h" +#include "GRID.h" +#include "cost.h" +#ifdef ALLOW_STREAMICE +# include "STREAMICE.h" +#endif + +C == Routine arguments == +C myThid - Thread number for this instance of the routine. + integer bi, bj + integer myThid + +#ifdef ALLOW_COST_TEST +C == Local variables + integer i, j +c _RL i_numcells + INTEGER ILNBLNK + EXTERNAL ILNBLNK +c CHARACTER*(MAX_LEN_FNAM) STREAMICExvelOptimFile +c CHARACTER*(MAX_LEN_FNAM) STREAMICEyvelOptimFile +c _RL U_obs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) +c _RL V_obs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + +c i_numcells = 1.0/(Nx*Ny) + +c STREAMICExvelOptimFile= +c & STREAMICEvelOptimFile(1: +c & ILNBLNK(STREAMICEvelOptimFile))//"u.bin" +c STREAMICEyvelOptimFile= +c & STREAMICEvelOptimFile(1: +c & ILNBLNK(STREAMICEvelOptimFile))//"v.bin" + +c _BARRIER + +c CALL READ_FLD_XY_RS( STREAMICExvelOptimFile, ' ', +c & U_obs, 0, myThid ) +c CALL READ_FLD_XY_RS( STREAMICEyvelOptimFile, ' ', +c & V_obs, 0, myThid ) + +C-- Calculate mask for tracer cells (0 => land, 1 => water) +c k=1 + +C-- Calculate cost function on tile of this instance + do bj = myByLo(myThid),myByHi(myThid) + do bi = myBxLo(myThid),myBxHi(myThid) + do j=1,sNy + do i=1,sNx + + if (streamice_hmask(i,j,bi,bj).eq.1.0) then + objf_test (bi,bj) = objf_test (bi,bj) + + & u_streamice(i,j,bi,bj)**2+v_streamice(i,j,bi,bj)**2+ + & h_streamice(i,j,bi,bj)**2 + endif + + enddo + enddo + enddo + enddo + +#endif /* ALLOW_COST_TEST */ + + RETURN + END diff --git a/verification/halfpipe_streamice/code_tap/ctrl_map_gentim2d.F b/verification/halfpipe_streamice/code_tap/ctrl_map_gentim2d.F new file mode 100644 index 0000000000..ca57d7b4a5 --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/ctrl_map_gentim2d.F @@ -0,0 +1,173 @@ +#include "CTRL_OPTIONS.h" +#ifdef ALLOW_STREAMICE +# include "STREAMICE_OPTIONS.h" +#endif + +CBOP +C !ROUTINE: CTRL_MAP_GENTIM2D +C !INTERFACE: + SUBROUTINE CTRL_MAP_GENTIM2D( + I myTime, myIter, myThid ) +C !DESCRIPTION: \bv +C *=============================================================* +C | S/R CTRL_MAP_GENTIM2D +C *=============================================================* +C \ev + +C !USES: + IMPLICIT NONE + +C === Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "GRID.h" +#include "CTRL_SIZE.h" +#include "ctrl.h" +#include "CTRL_GENARR.h" +#include "ctrl_dummy.h" +#ifdef ALLOW_AUTODIFF +#include "AUTODIFF_MYFIELDS.h" +#endif +#ifdef ALLOW_STREAMICE +# include "STREAMICE.h" +#endif + +C !INPUT/OUTPUT PARAMETERS: +C === Routine arguments === +C myTime :: Current time in simulation +C myIter :: Current iteration number +C myThid :: my Thread Id number + _RL myTime + INTEGER myIter + INTEGER myThid + +#ifdef ALLOW_GENTIM2D_CONTROL +C !LOCAL VARIABLES: +C == Local variables == + INTEGER bi, bj + INTEGER i, j + INTEGER iarr + _RL xx_gentim2d_loc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + _RS mask2D (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + CHARACTER*(MAX_LEN_MBUF) msgBuf + _RL LOCsumTile(nSx,nSy), LOCsumGlob +CEOP + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +C-- generic - user-defined control vars + DO iarr = 1, maxCtrlTim2D + + IF (xx_gentim2d_weight(iarr).NE.' ') THEN + + DO bj = myByLo(myThid),myByHi(myThid) + DO bi = myBxLo(myThid),myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + xx_gentim2d_loc(i,j,bi,bj) = 0. _d 0 + ENDDO + ENDDO + ENDDO + ENDDO + + CALL CTRL_GET_MASK2D( xx_gentim2d_file(iarr), mask2D, myThid ) + CALL CTRL_GET_GEN ( + I xx_gentim2d_file(iarr), + I xx_gentim2d_startdate(1,iarr), + I xx_gentim2d_period(iarr), + I mask2D, + O xx_gentim2d_loc, + I xx_gentim2d0(1-OLx,1-OLy,1,1,iarr), + I xx_gentim2d1(1-OLx,1-OLy,1,1,iarr), + I xx_gentim2d_dummy(iarr), + I zeroRL, zeroRL, + I wgentim2d(1-OLx,1-OLy,1,1,iarr), + I myTime, myIter, myThid ) + + IF (xx_gentim2d_cumsum(iarr)) THEN + DO bj=myByLo(myThid),myByHi(myThid) + DO bi=myBxLo(myThid),myBxHi(myThid) + DO j = 1,sNy + DO i = 1,sNx + xx_gentim2d(i,j,bi,bj,iarr)=xx_gentim2d(i,j,bi,bj,iarr) + & + xx_gentim2d_loc(i,j,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO + ELSE + DO bj=myByLo(myThid),myByHi(myThid) + DO bi=myBxLo(myThid),myBxHi(myThid) + DO j = 1,sNy + DO i = 1,sNx + xx_gentim2d(i,j,bi,bj,iarr)=xx_gentim2d_loc(i,j,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO + ENDIF + + IF (xx_gentim2d_glosum(iarr)) THEN + + DO bj=myByLo(myThid),myByHi(myThid) + DO bi=myBxLo(myThid),myBxHi(myThid) + LOCsumTile(bi,bj)=0. _d 0 + DO j = 1,sNy + DO i = 1,sNx + LOCsumTile(bi,bj) = LOCsumTile(bi,bj) + & + xx_gentim2d(i,j,bi,bj,iarr)*rA(i,j,bi,bj) + & *maskC(i,j,1,bi,bj)*maskInC(i,j,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO + + CALL GLOBAL_SUM_TILE_RL( LOCsumTile, LOCsumGlob, myThid ) + + LOCsumGlob = LOCsumGlob/globalArea + DO bj = myByLo(myThid),myByHi(myThid) + DO bi = myBxLo(myThid),myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + xx_gentim2d(i,j,bi,bj,iarr) = + & LOCsumGlob*maskC(i,j,1,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO + + IF (xx_gentim2d_file(iarr).EQ.'xx_gen_precip') THEN + + WRITE(msgBuf,'(A,I6,A,1PE21.14)') + & ' iter=', myIter, ' ; genprecipGloH= ', + & LOCsumGlob*rhoConstFresh*recip_rhoConst*deltaTClock + CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, + & SQUEEZE_RIGHT, myThid ) + + ENDIF !IF (xx_gentim2d_file(iarr).EQ.'xx_gen_precip') THEN + + ENDIF !IF (xx_gentim2d_glosum(iarr)) THEN + +C--- begin customized code for experiment halfpipe_streamice: + IF ( iarr .EQ. 1 ) THEN + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + bdot_streamice(i,j,bi,bj) = xx_gentim2d(i,j,bi,bj,iarr) + ENDDO + ENDDO + ENDDO + ENDDO + ENDIF +C--- end customized code + + ENDIF !IF (xx_gentim2d_weight(iarr).NE.' ') THEN + + ENDDO !DO iarr = 1, maxCtrlTim2D + +#endif /* ALLOW_GENTIM2D_CONTROL */ + + RETURN + END diff --git a/verification/halfpipe_streamice/code_tap/ctrl_map_ini_genarr.F b/verification/halfpipe_streamice/code_tap/ctrl_map_ini_genarr.F new file mode 100644 index 0000000000..07bcc6e89c --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/ctrl_map_ini_genarr.F @@ -0,0 +1,305 @@ +#include "CTRL_OPTIONS.h" +#ifdef ALLOW_SHELFICE +# include "SHELFICE_OPTIONS.h" +#endif +#ifdef ALLOW_STREAMICE +# include "STREAMICE_OPTIONS.h" +#endif + +CBOP +C !ROUTINE: CTRL_MAP_INI_GENARR +C !INTERFACE: + SUBROUTINE CTRL_MAP_INI_GENARR( myThid ) + +C !DESCRIPTION: \bv +C *================================================================= +C | SUBROUTINE CTRL_MAP_INI_GENARR +C | Add the generic arrays of the +C | control vector to the model state and update the tile halos. +C | The control vector is defined in the header file "ctrl.h". +C *================================================================= +C \ev + +C !USES: + IMPLICIT NONE + +C == global variables == +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "GRID.h" +#include "DYNVARS.h" +#include "FFIELDS.h" +#include "CTRL_SIZE.h" +#include "ctrl.h" +#include "optim.h" +#include "ctrl_dummy.h" +#include "CTRL_FIELDS.h" +#include "CTRL_GENARR.h" +#ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_PARAMS.h" +# include "PTRACERS_FIELDS.h" +#endif +#ifdef ALLOW_SHELFICE +# include "SHELFICE.h" +#endif +#ifdef ALLOW_STREAMICE +# include "STREAMICE.h" +#endif + +C !INPUT/OUTPUT PARAMETERS: +C == routine arguments == + INTEGER myThid + +#if (defined (ALLOW_GENARR3D_CONTROL) && defined(ALLOW_PTRACERS)) +C !FUNCTIONS: + INTEGER ILNBLNK + EXTERNAL ILNBLNK +#endif + +C !LOCAL VARIABLES: +C == local variables == +#if (defined (ALLOW_GENARR2D_CONTROL) || defined(ALLOW_GENARR3D_CONTROL)) + INTEGER iarr +cdg temporary string declared, required for oad compilation + CHARACTER(MAX_LEN_FNAM) temp_genarr_fnam +#endif +#ifdef ALLOW_GENARR2D_CONTROL + INTEGER igen_etan,igen_bdrag,igen_geoth +# ifdef ALLOW_SHELFICE + INTEGER igen_shiCoeffT, igen_shiCoeffS, igen_shiCDrag + INTEGER i, j, bi, bj +# ifdef SHI_ALLOW_GAMMAFRICT + INTEGER k2 + LOGICAL dragThermoEqualMom +# endif +# endif +#endif /* ALLOW_GENARR2D_CONTROL */ +#ifdef ALLOW_GENARR3D_CONTROL + INTEGER igen_theta0, igen_salt0 + INTEGER igen_kapgm, igen_kapredi, igen_diffkr +# if (defined (ALLOW_UVEL0_CONTROL) && defined (ALLOW_VVEL0_CONTROL)) + INTEGER igen_uvel0, igen_vvel0 +# endif +# ifdef ALLOW_PTRACERS + INTEGER iPtr, iLen + INTEGER igen_ptr(PTRACERS_num) +# endif +#endif /* ALLOW_GENARR3D_CONTROL */ +CEOP + +#ifdef ALLOW_GENARR2D_CONTROL +C-- generic 2D control variables + + igen_etan=0 + igen_bdrag=0 + igen_geoth=0 +#ifdef ALLOW_SHELFICE + igen_shiCoeffT=0 + igen_shiCoeffS=0 + igen_shiCDrag=0 +#endif + DO iarr = 1, maxCtrlArr2D + IF (xx_genarr2d_weight(iarr).NE.' ') THEN +cdg temp_genarr_fnam used below instead of xx_genarr2d_file(iarr) + temp_genarr_fnam = xx_genarr2d_file(iarr) + IF (temp_genarr_fnam(1:7).EQ.'xx_etan') + & igen_etan=iarr + IF (temp_genarr_fnam(1:13).EQ.'xx_bottomdrag') + & igen_bdrag=iarr + IF (temp_genarr_fnam(1:13).EQ.'xx_geothermal') + & igen_geoth=iarr +#ifdef ALLOW_SHELFICE +# ifndef SHI_ALLOW_GAMMAFRICT + IF (xx_genarr2d_file(iarr)(1:12).EQ.'xx_shicoefft') + & igen_shiCoeffT=iarr + IF (xx_genarr2d_file(iarr)(1:12).EQ.'xx_shicoeffs') + & igen_shiCoeffS=iarr +# else + IF (xx_genarr2d_file(iarr)(1:11).EQ.'xx_shicdrag') + & igen_shiCDrag=iarr +# endif +#endif + ENDIF + ENDDO + + IF (igen_etan.GT.0) THEN + CALL CTRL_MAP_GENARR2D( etaN, igen_etan, myThid ) + ENDIF +#ifdef ALLOW_BOTTOMDRAG_CONTROL + IF (igen_bdrag.GT.0) + & CALL CTRL_MAP_GENARR2D( bottomDragFld, igen_bdrag, myThid ) +#endif +#ifdef ALLOW_GEOTHERMAL_FLUX + IF (igen_geoth.GT.0) + & CALL CTRL_MAP_GENARR2D( geothermalFlux, igen_geoth, myThid ) +#endif +#ifdef ALLOW_SHELFICE +# ifndef SHI_ALLOW_GAMMAFRICT + IF (igen_shiCoeffT.GT.0) + & CALL CTRL_MAP_GENARR2D(shiTransCoeffT,igen_shiCoeffT,myThid) + + IF (igen_shiCoeffS.GT.0) + & CALL CTRL_MAP_GENARR2D(shiTransCoeffS,igen_shiCoeffS,myThid) + +C-- xx_shiCoeffS not used, but shiCoeffT is adjusted by xx_shicoefft + IF ((igen_shiCoeffS.EQ.0).AND.(igen_shiCoeffT.GT.0)) THEN + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + shiTransCoeffS(i,j,bi,bj) = + & SHELFICEsaltToHeatRatio*shiTransCoeffT(i,j,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO +C-- xx_shiCoeffT not used, but shiCoeffS is adjusted by xx_shicoeffs + ELSEIF ((igen_shiCoeffT.EQ.0).AND.(igen_shiCoeffS.GT.0)) THEN + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + shiTransCoeffT(i,j,bi,bj) = + & shiTransCoeffS(i,j,bi,bj)/SHELFICEsaltToHeatRatio + ENDDO + ENDDO + ENDDO + ENDDO + ENDIF +# else + dragThermoEqualMom = .FALSE. + IF (igen_shiCDrag.GT.0) + & CALL CTRL_MAP_GENARR2D(shiCDragFld,igen_shiCDrag,myThid) +C-- Set drag coefficient used in momentum equal to thermodynamic, +C-- u* drag coefficient + DO k2 = 1, maxCtrlProc + + IF (xx_genarr2d_preproc_c(k2,igen_shiCDrag)(1:3).EQ.'mom') + & dragThermoEqualMom = .TRUE. + ENDDO + IF (dragThermoEqualMom) THEN + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + DO j = 1-OLy,sNy+OLy + DO i = 1-OLx,sNx+OLx + shiDragQuadFld(i,j,bi,bj) = shiCDragFld(i,j,bi,bj) + ENDDO + ENDDO + ENDDO + ENDDO + ENDIF +# endif /* SHI_ALLOW_GAMMAFRICT */ +#endif /* ALLOW_SHELFICE */ +C-- begin customized code for experiment halfpipe_streamice +C-- An example of connecting specific fields +C-- to 3 generic 2D control arrays + iarr = 1 +cdg need to force openad to recognise fields as active +cdg as cannot seem to trace dependency thru CTRL_MAP_GENARR +#ifdef ALLOW_OPENAD + B_glen(1,1,1,1) = B_glen(1,1,1,1) + + & 0.0 * xx_genarr2d_dummy(iarr) +#endif + CALL CTRL_MAP_GENARR2D( B_glen, iarr, myThid ) + iarr = 2 +#ifdef ALLOW_OPENAD + H_streamice(1,1,1,1) = H_streamice(1,1,1,1) + + & 0.0 * xx_genarr2d_dummy(iarr) +#endif + CALL CTRL_MAP_GENARR2D( H_streamice, iarr, myThid ) +C iarr = 5 +C CALL CTRL_MAP_GENARR2D( BDOT_streamice, iarr, myThid ) +C--- end customized code + +#endif /* ALLOW_GENARR2D_CONTROL */ + +#ifdef ALLOW_GENARR3D_CONTROL +C-- generic 3D control variables + + igen_theta0=0 + igen_salt0=0 + igen_kapgm=0 + igen_kapredi=0 + igen_diffkr=0 +# if (defined (ALLOW_UVEL0_CONTROL) && defined (ALLOW_VVEL0_CONTROL)) + igen_uvel0=0 + igen_vvel0=0 +# endif +# ifdef ALLOW_PTRACERS + DO iPtr = 1, PTRACERS_num + igen_ptr(iPtr) = 0 + ENDDO +# endif /* ALLOW_PTRACERS */ + DO iarr = 1, maxCtrlArr3D + IF (xx_genarr3d_weight(iarr).NE.' ') THEN + IF (xx_genarr3d_file(iarr)(1:8).EQ.'xx_theta') + & igen_theta0=iarr + IF (xx_genarr3d_file(iarr)(1:7).EQ.'xx_salt') + & igen_salt0=iarr + IF (xx_genarr3d_file(iarr)(1:8).EQ.'xx_kapgm') + & igen_kapgm=iarr + IF (xx_genarr3d_file(iarr)(1:10).EQ.'xx_kapredi') + & igen_kapredi=iarr + IF (xx_genarr3d_file(iarr)(1:9).EQ.'xx_diffkr') + & igen_diffkr=iarr +# if (defined (ALLOW_UVEL0_CONTROL) && defined (ALLOW_VVEL0_CONTROL)) + IF (xx_genarr3d_file(iarr)(1:7).EQ.'xx_uvel') + & igen_uvel0=iarr + IF (xx_genarr3d_file(iarr)(1:7).EQ.'xx_vvel') + & igen_vvel0=iarr +# endif +# ifdef ALLOW_PTRACERS + IF ( usePTRACERS ) THEN + iLen = ILNBLNK(xx_genarr3d_file(iarr)) + IF ( iLen.EQ.7 .AND. + & xx_genarr3d_file(iarr)(1:6).EQ.'xx_ptr' ) THEN + READ(xx_genarr3d_file(iarr)(7:7),*) iPtr + IF ( iPtr.GE.1 .AND. iPtr.LE.PTRACERS_numInUse ) + & igen_ptr(iPtr) = iarr + ENDIF + ENDIF +# endif /* ALLOW_PTRACERS */ + ENDIF + ENDDO + + IF (igen_theta0.GT.0) + & CALL CTRL_MAP_GENARR3D( theta, igen_theta0, myThid ) + IF (igen_salt0.GT.0) + & CALL CTRL_MAP_GENARR3D( salt, igen_salt0, myThid ) +# ifdef ALLOW_KAPGM_CONTROL + IF (igen_kapgm.GT.0) + & CALL CTRL_MAP_GENARR3D( kapGM, igen_kapgm, myThid ) +# endif +# ifdef ALLOW_KAPREDI_CONTROL + IF (igen_kapredi.GT.0) + & CALL CTRL_MAP_GENARR3D( kapRedi, igen_kapredi, myThid ) +# endif +# if ( defined ALLOW_DIFFKR_CONTROL && defined ALLOW_3D_DIFFKR ) + IF (igen_diffkr.GT.0) + & CALL CTRL_MAP_GENARR3D( diffKr, igen_diffkr, myThid ) +# endif + +# ifdef ALLOW_PTRACERS +CADJ loop = parallel + DO iPtr = 1, PTRACERS_num + IF ( igen_ptr(iPtr).GT.0 ) THEN + CALL CTRL_MAP_GENARR3D( pTracer(1-OLx,1-OLy,1,1,1,iPtr), + & igen_ptr(iPtr), myThid ) + ENDIF + ENDDO +# endif /* ALLOW_PTRACERS */ + +# if (defined (ALLOW_UVEL0_CONTROL) && defined (ALLOW_VVEL0_CONTROL)) + IF (igen_uvel0.GT.0 .AND. igen_vvel0.GT.0) THEN + CALL CTRL_MAP_GENARR3D( uVel, igen_uvel0, myThid ) + CALL CTRL_MAP_GENARR3D( vVel, igen_vvel0, myThid ) + CALL EXCH_UV_XYZ_RL( uVel, vVel, .TRUE., myThid ) + ENDIF +# endif + +#endif /* ALLOW_GENARR3D_CONTROL */ + + RETURN + END diff --git a/verification/halfpipe_streamice/code_tap/packages.conf b/verification/halfpipe_streamice/code_tap/packages.conf new file mode 100644 index 0000000000..c6eb188773 --- /dev/null +++ b/verification/halfpipe_streamice/code_tap/packages.conf @@ -0,0 +1,11 @@ +#-- list of packages (or group of packages) to compile for this experiment: +gfd +-mom_common +-mom_fluxform +-mom_vecinv +-generic_advdiff +streamice +diagnostics + +tapenade +adjoint diff --git a/verification/halfpipe_streamice/input_tap/data b/verification/halfpipe_streamice/input_tap/data new file mode 100644 index 0000000000..b47e868df3 --- /dev/null +++ b/verification/halfpipe_streamice/input_tap/data @@ -0,0 +1,46 @@ +# Model parameters +# Continuous equation parameters + &PARM01 + tRef=20., + sRef=10., + gravity=9.81, + hFacMin=.05, + hFacMindz=50., + momStepping=.FALSE., + tempStepping=.FALSE., + saltStepping=.FALSE., + readBinaryPrec=64, + writeBinaryPrec=64, + globalFiles=.FALSE., +#debugLevel=4, + & + +# Elliptic solver parameters + &PARM02 + & + +# Time stepping parameters + &PARM03 + startTime=0., + nTimeSteps = 3, +# endTime=6307200000., +# endTime=8640000000., + deltaT=6307200., +# pChkptFreq=2592000., +# chkptFreq=120000., +# dumpFreq=2592000., + monitorFreq=0., + externForcingCycle=18921600. + & + +# Gridding parameters + &PARM04 + usingCartesianGrid=.TRUE., + delX=40*2.e3, + delY=20*2.e3, + delZ=1800., + & + + &PARM05 + bathyFile='topog.box', + & diff --git a/verification/halfpipe_streamice/input_tap/data.autodiff b/verification/halfpipe_streamice/input_tap/data.autodiff new file mode 100644 index 0000000000..831cf26207 --- /dev/null +++ b/verification/halfpipe_streamice/input_tap/data.autodiff @@ -0,0 +1,5 @@ +# ========================= +# pkg AUTODIFF parameters : +# ========================= + &AUTODIFF_PARM01 + & diff --git a/verification/halfpipe_streamice/input_tap/data.cost b/verification/halfpipe_streamice/input_tap/data.cost new file mode 100644 index 0000000000..9e4e70d74a --- /dev/null +++ b/verification/halfpipe_streamice/input_tap/data.cost @@ -0,0 +1,8 @@ +# ****************** +# cost function +# ****************** + &COST_NML +#revert to default 1 month + lastinterval=320000000., + mult_test=1., + & diff --git a/verification/halfpipe_streamice/input_tap/data.ctrl b/verification/halfpipe_streamice/input_tap/data.ctrl new file mode 100644 index 0000000000..c2027f5e85 --- /dev/null +++ b/verification/halfpipe_streamice/input_tap/data.ctrl @@ -0,0 +1,17 @@ + &CTRL_NML + doPackDiag = .FALSE., + & + + &CTRL_PACKNAMES + & + + &CTRL_NML_GENARR + xx_genarr2d_file(1) = 'xx_b_glen', + xx_genarr2d_weight(1) = 'wunit', + xx_genarr2d_file(2) = 'xx_h_streamice', + xx_genarr2d_weight(2) = 'wunit', + xx_gentim2d_file(1) = 'xx_bdot_streamice', + xx_gentim2d_period(1) = 6307200., + xx_gentim2d_weight(1) = 'wunit', +# genarr2dPrecond = 5 200 + & diff --git a/verification/halfpipe_streamice/input_tap/data.diagnostics b/verification/halfpipe_streamice/input_tap/data.diagnostics new file mode 100644 index 0000000000..bb3943940a --- /dev/null +++ b/verification/halfpipe_streamice/input_tap/data.diagnostics @@ -0,0 +1,66 @@ +# Diagnostic Package Choices +#----------------- +# for each output-stream: +# filename(n) : prefix of the output file name (only 8.c long) for outp.stream n +# frequency(n):< 0 : write snap-shot output every |frequency| seconds +# > 0 : write time-average output every frequency seconds +# timePhase(n) : write at time = timePhase + multiple of |frequency| +# averagingFreq(n) : frequency (in s) for periodic averaging interval +# averagingPhase(n): phase (in s) for periodic averaging interval +# repeatCycle(n) : number of averaging intervals in 1 cycle +# levels(:,n) : list of levels to write to file (Notes: declared as REAL) +# when this entry is missing, select all common levels of this list +# fields(:,n) : list of diagnostics fields (8.c) (see "available_diagnostics.log" +# file for the list of all available diag. in this particular config) +#----------------- + &DIAGNOSTICS_LIST +# diag_mnc = .FALSE., +# dumpAtLast = .TRUE., + fields(1:6,1) = 'SI_Uvel ','SI_Vvel ','SI_Thick', + 'SI_area ','SI_float','SI_selev' +# 'SIheff ','SIarea ','SIhsnow ','SIatmFW ', +# 'SHIForcT','SHIForcS', +# 'surForcT','surForcS','TFLUX ','SFLUX ','oceFreez', +# 'TRELAX ','SRELAX ', +# 'GM_VisbK', + filename(1) = 'land_ice', + frequency(1) = 63072000, +# 'GM_PsiX ','GM_PsiY ', +# 'GM_Kwx ','GM_Kwy ','GM_Kwz ', +# 'GM_Kux ','GM_Kvy ', +# 'GM_Kuz ','GM_Kvz ', +#- disable this output list by commenting out the file name +# filename(3) = 'diagsEXF', +# frequency(3) = 1., +# fields(1,4) = 'ADVx_TH ','ADVy_TH ','ADVr_TH ', +# 'DIFx_TH ','DIFy_TH ','DFrE_TH ', +# 'DFrI_TH ', +# 'ADVx_SLT', +# filename(4) = 'flxDiag', +# frequency(4) = 2592000., + & + +# Parameter for Diagnostics of per level statistics: +#----------------- +# for each output-stream: +# stat_fname(n) : prefix of the output file name (only 8.c long) for outp.stream n +# stat_freq(n):< 0 : write snap-shot output every |stat_freq| seconds +# > 0 : write time-average output every stat_freq seconds +# stat_phase(n) : write at time = stat_phase + multiple of |stat_freq| +# stat_region(:,n) : list of "regions" (default: 1 region only=global) +# stat_fields(:,n) : list of diagnostics fields (8.c) (see "available_diagnostics.log" +# file for the list of all available diag. in this particular config) +#----------------- + &DIAG_STATIS_PARMS +#- regional mask: 3 lat. band: 1 : y <= -24 ; 2 : -24>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o write separate tape files for each ptracer (has no effect, to be removed) +#undef AUTODIFF_PTRACERS_SPLIT_FILES + +C o allow using viscFacInAd to recompute viscosities in AD +#undef AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/isomip/code_tap/COST_OPTIONS.h b/verification/isomip/code_tap/COST_OPTIONS.h new file mode 100644 index 0000000000..41c6475da2 --- /dev/null +++ b/verification/isomip/code_tap/COST_OPTIONS.h @@ -0,0 +1,77 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT + +#define ALLOW_COST_TEST +#define ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/isomip/code_tap/CPP_OPTIONS.h b/verification/isomip/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..a0c5dadcab --- /dev/null +++ b/verification/isomip/code_tap/CPP_OPTIONS.h @@ -0,0 +1,141 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#undef SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#define ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#undef INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#undef NONLIN_FRSURF +#define DISABLE_RSTAR_CODE +#define DISABLE_SIGMA_CODE + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +c#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +c#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/isomip/code_tap/CTRL_OPTIONS.h b/verification/isomip/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..245662d54a --- /dev/null +++ b/verification/isomip/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,111 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +C o In this experiment, this option and the corresponding necessary flags +C to reproduce this experiment are commented by CTRL +CTRL#define ECCO_CTRL_DEPRECATED + +#define EXCLUDE_CTRL_PACK +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO + +CTRLC >>> Initial values. +CTRL#define ALLOW_THETA0_CONTROL +CTRL#define ALLOW_SALT0_CONTROL +CTRL#undef ALLOW_UVEL0_CONTROL +CTRL#undef ALLOW_VVEL0_CONTROL +CTRL#undef ALLOW_TR10_CONTROL +CTRL#undef ALLOW_TAUU0_CONTROL +CTRL#undef ALLOW_TAUV0_CONTROL +CTRL#undef ALLOW_SFLUX0_CONTROL +CTRL#undef ALLOW_HFLUX0_CONTROL +CTRL#undef ALLOW_SSS0_CONTROL +CTRL#undef ALLOW_SST0_CONTROL +CTRL +CTRLC >>> Surface fluxes. +CTRL#undef ALLOW_HFLUX_CONTROL +CTRL#undef ALLOW_SFLUX_CONTROL +CTRL#undef ALLOW_USTRESS_CONTROL +CTRL#undef ALLOW_VSTRESS_CONTROL +CTRL#undef ALLOW_SWFLUX_CONTROL +CTRL#undef ALLOW_LWFLUX_CONTROL +CTRL +CTRLC >>> Atmospheric state. +CTRL#undef ALLOW_ATEMP_CONTROL +CTRL#undef ALLOW_AQH_CONTROL +CTRL#undef ALLOW_UWIND_CONTROL +CTRL#undef ALLOW_VWIND_CONTROL +CTRL#undef ALLOW_PRECIP_CONTROL +CTRL +CTRLC >>> Other Control. +CTRL#define ALLOW_DIFFKR_CONTROL +CTRL#undef ALLOW_KAPGM_CONTROL +CTRL#undef ALLOW_KAPREDI_CONTROL +CTRL#undef ALLOW_BOTTOMDRAG_CONTROL +CTRL +CTRLC >>> Backward compatibility option (before checkpoint 65p) +CTRL#undef ALLOW_KAPGM_CONTROL_OLD +CTRL#undef ALLOW_KAPREDI_CONTROL_OLD +CTRL +CTRLC >>> pkg/shelfice fluxes. +CTRL#define ALLOW_SHIFWFLX_CONTROL + +C >>> Generic Control. +#define ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/isomip/code_tap/CTRL_SIZE.h b/verification/isomip/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..cdf66fb688 --- /dev/null +++ b/verification/isomip/code_tap/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 1 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 3 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 1 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/isomip/code_tap/DIAGNOSTICS_SIZE.h b/verification/isomip/code_tap/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..a12c6db784 --- /dev/null +++ b/verification/isomip/code_tap/DIAGNOSTICS_SIZE.h @@ -0,0 +1,28 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numDiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C sizRegMsk :: maximum size of the regional-mask (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numDiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numDiags + INTEGER nRegions, sizRegMsk, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 10, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numDiags = 2*Nr+2 ) + PARAMETER( nRegions = 0 , sizRegMsk = 1 , nStats = 4 ) + PARAMETER( diagSt_size = 10*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/isomip/code_tap/GMREDI_OPTIONS.h b/verification/isomip/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..4a06b7494b --- /dev/null +++ b/verification/isomip/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,47 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#undef GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#define GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#undef GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#undef GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#undef GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/isomip/code_tap/README_TAP_HACKS.txt b/verification/isomip/code_tap/README_TAP_HACKS.txt new file mode 100644 index 0000000000..00e0b8f492 --- /dev/null +++ b/verification/isomip/code_tap/README_TAP_HACKS.txt @@ -0,0 +1 @@ +Non-linear free surface is turned off to prevent NaNs in the simulation. diff --git a/verification/isomip/code_tap/SHELFICE_OPTIONS.h b/verification/isomip/code_tap/SHELFICE_OPTIONS.h new file mode 100644 index 0000000000..0781d144cc --- /dev/null +++ b/verification/isomip/code_tap/SHELFICE_OPTIONS.h @@ -0,0 +1,25 @@ +C *==========================================================* +C | SHELFICE_OPTIONS.h +C | o CPP options file for SHELFICE package. +C *==========================================================* +C | Use this file for selecting options within the SHELFICE +C | package. +C *==========================================================* + +#ifndef SHELFICE_OPTIONS_H +#define SHELFICE_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_SHELFICE +C Package-specific Options & Macros go here + +C allow code for simple ISOMIP thermodynamics +#define ALLOW_ISOMIP_TD + +C allow friction velocity-dependent transfer coefficient +C following Holland and Jenkins, JPO, 1999 +#undef SHI_ALLOW_GAMMAFRICT + +#endif /* ALLOW_SHELFICE */ +#endif /* SHELFICE_OPTIONS_H */ diff --git a/verification/isomip/code_tap/SIZE.h b/verification/isomip/code_tap/SIZE.h new file mode 100644 index 0000000000..c3070e06b7 --- /dev/null +++ b/verification/isomip/code_tap/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 25, + & sNy = 25, + & OLx = 3, + & OLy = 3, + & nSx = 2, + & nSy = 4, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 30) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/isomip/code_tap/SIZE.h_mpi b/verification/isomip/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..173dc8a3e3 --- /dev/null +++ b/verification/isomip/code_tap/SIZE.h_mpi @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 25, + & sNy = 25, + & OLx = 3, + & OLy = 3, + & nSx = 1, + & nSy = 2, + & nPx = 2, + & nPy = 2, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 30) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/isomip/code_tap/cost_test.F b/verification/isomip/code_tap/cost_test.F new file mode 100644 index 0000000000..3e561a9a09 --- /dev/null +++ b/verification/isomip/code_tap/cost_test.F @@ -0,0 +1,94 @@ +#include "COST_OPTIONS.h" + + subroutine cost_test( myThid ) +C *==========================================================* +C | subroutine cost_test +C | o this routine computes the cost function for the tiles +C | of this processor +C *==========================================================* +C | Notes +C *==========================================================* + IMPLICIT NONE + +C == Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "DYNVARS.h" +#include "GRID.h" + +#include "cost.h" + +C == Routine arguments == +C myThid - Thread number for this instance of the routine. + integer myThid + +#ifdef ALLOW_COST_TEST +C == Local variables + integer bi, bj + _RL thetaRef + integer i, j, k + integer ig, jg + integer itlo,ithi + integer jtlo,jthi +c _RL thetaLev(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) + + jtlo = mybylo(mythid) + jthi = mybyhi(mythid) + itlo = mybxlo(mythid) + ithi = mybxhi(mythid) + + if ( useCubedSphereExchange) then + iLocOut = 7 + jLocOut = 28 + kLocOut = 1 + else + iLocOut = 80 + jLocOut = 30 + kLocOut = 1 + endif + +c CALL READ_FLD_XYZ_RL( hydrogThetaFile, ' ', thetaLev, 0, myThid ) + +ce some reference temperature + thetaRef = 24.0 _d 0 + +C-- Calculate mask for tracer cells (0 => land, 1 => water) + k=1 + +C-- Calculate cost function on tile of this instance + do bj = jtlo,jthi + do bi = itlo,ithi + do j=1,sNy + jg = myYGlobalLo-1+(bj-1)*sNy+j + do i=1,sNx + ig = myXGlobalLo-1+(bi-1)*sNx+i + +#ifndef ALLOW_COST_TSQUARED + if ((ig .eq. iLocOut) .and. (jg .eq. jLocOut)) then + write(*,'(a,3(x,i4),a,4(x,i4))') + & 'COST ',ig,jg,kLocOut,' TILE ',i,j,bi,bj + objf_test(bi,bj) = theta(i,j,kLocOut,bi,bj) +cph( + print *, 'ph-cost ', ig, jg, kLocOut, + & theta(i,j,kLocOut,bi,bj) +cph) + endif +#else + do k=1,nr + if (maskC(i,j,k,bi,bj).NE.0.) then + objf_test(bi,bj) = objf_test(bi,bj) + + & ( theta(i,j,k,bi,bj) )**2 + endif + enddo +#endif + + enddo + enddo + enddo + enddo + +#endif /* ALLOW_COST_TEST */ + + RETURN + END diff --git a/verification/isomip/code_tap/packages.conf b/verification/isomip/code_tap/packages.conf new file mode 100644 index 0000000000..2a361a8e6f --- /dev/null +++ b/verification/isomip/code_tap/packages.conf @@ -0,0 +1,11 @@ +#-- list of packages (or group of packages) to compile for this experiment: +gfd +monitor +cd_code +gmredi +shelfice +#diagnostics +#mnc + +tapenade +adjoint diff --git a/verification/isomip/input_tap/data b/verification/isomip/input_tap/data new file mode 100644 index 0000000000..caa23e1144 --- /dev/null +++ b/verification/isomip/input_tap/data @@ -0,0 +1,77 @@ +# ==================== +# | Model parameters | +# ==================== +# +# Continuous equation parameters + &PARM01 + Tref = 30*-1.9, + Sref = 30*34.4, + viscAz=1.E-3, + viscAh=600.0, + no_slip_sides=.FALSE., + no_slip_bottom=.FALSE., + diffKhT=100.0, +#- diffKzT unused when compiled with ALLOW_3D_DIFFKR +#diffKzT=5.E-5, + diffKhS=100.0, + diffKzS=5.E-5, + bottomDragQuadratic=2.5E-3, + eosType='JMD95Z', + HeatCapacity_Cp = 3974.0, + rhoConst=1030., + gravity=9.81, + convertFW2Salt = 33.4, + implicitFreeSurface=.TRUE., + exactConserv=.TRUE., + hFacMin=0.10, + nonHydrostatic=.FALSE., + useCDScheme = .TRUE., +#ph( + implicitDiffusion=.TRUE., +# ivdc_kappa = 7200., + staggerTimeStep=.TRUE., + vectorInvariantMomentum=.TRUE., + nonlinFreeSurf=0, + hFacInf=0.05, + hFacSup=2.0, +#ph) + readBinaryPrec=64, + useSingleCpuIO=.TRUE., + & + +# Elliptic solver parameters + &PARM02 + cg2dMaxIters=1000, + cg2dTargetResidual=1.E-13, + & + +# Time stepping parameters + &PARM03 + nIter0=8640, + nTimeSteps=5, + deltaT=1800.0, + abEps=0.1, + cAdjFreq = 1., + tauCD = 400000., + pChkptFreq=0.0, + chkptFreq=0.0, + dumpFreq=0.0, + taveFreq=0.0, + monitorFreq=1., + monitorSelect=2, + adjMonitorFreq=1800., + & + +# Gridding parameters + &PARM04 + usingSphericalPolarGrid=.TRUE., + ygOrigin = -80.0, + delX=50*0.3, + delY=100*0.1, + delZ=30*30.0, + & + +# Input datasets + &PARM05 + bathyFile='bathy.box', + & diff --git a/verification/isomip/input_tap/data.autodiff b/verification/isomip/input_tap/data.autodiff new file mode 100644 index 0000000000..4585444d65 --- /dev/null +++ b/verification/isomip/input_tap/data.autodiff @@ -0,0 +1,8 @@ +# ========================= +# pkg AUTODIFF parameters : +# ========================= +# inAdExact :: get an exact adjoint (no approximation) (def=.True.) +# + &AUTODIFF_PARM01 +# inAdExact = .FALSE., + & diff --git a/verification/isomip/input_tap/data.cost b/verification/isomip/input_tap/data.cost new file mode 100644 index 0000000000..7204cbebf9 --- /dev/null +++ b/verification/isomip/input_tap/data.cost @@ -0,0 +1,10 @@ +# +# +# ****************** +# cost function +# ****************** + &COST_NML +#revert to default 1 month +# lastinterval=7776000., + mult_test=1., + & diff --git a/verification/isomip/input_tap/data.ctrl b/verification/isomip/input_tap/data.ctrl new file mode 100644 index 0000000000..59967e16a5 --- /dev/null +++ b/verification/isomip/input_tap/data.ctrl @@ -0,0 +1,37 @@ +# ********************* +# ECCO controlvariables +# ********************* + &CTRL_NML + & +# +# ********************* +# names for ctrl_pack/unpack +# ********************* + &CTRL_PACKNAMES + & +# +# ********************* +# names for CTRL_GENARR, CTRL_GENTIM +# ********************* + &CTRL_NML_GENARR + xx_genarr3d_file(1) = 'xx_theta', + xx_genarr3d_weight(1) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +# + xx_genarr3d_file(2) = 'xx_salt', + xx_genarr3d_weight(2) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +# + xx_genarr3d_file(3) = 'xx_diffkr', + xx_genarr3d_weight(3) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,3) = 1.E-6,2.E-6,4.E-4,5.E-4,0., +# + xx_gentim2d_file(1) = 'xx_shifwflx', + xx_gentim2d_weight(1) = 'ones_64b.bin', +# + xx_genarr2d_file(1) = 'xx_shicoefft', + xx_genarr2d_weight(1) = 'ones_64b.bin', + xx_genarr2d_preproc_c(1,1)= 'log10ctrl', + xx_genarr2d_preproc_r(1,1)= -4., +# + & diff --git a/verification/isomip/input_tap/data.grdchk b/verification/isomip/input_tap/data.grdchk new file mode 100644 index 0000000000..b35c58d4b4 --- /dev/null +++ b/verification/isomip/input_tap/data.grdchk @@ -0,0 +1,13 @@ +# ******************* +# ECCO gradient check +# ******************* + &GRDCHK_NML + grdchk_eps = 1.d-2, + iglopos = 20, + jglopos = 24, + kglopos = 20, +# nbeg = 1, + nstep = 1, + nend = 4, + grdchkvarindex = 201, + & diff --git a/verification/isomip/input_tap/data.mnc b/verification/isomip/input_tap/data.mnc new file mode 100644 index 0000000000..e2fd8ac35d --- /dev/null +++ b/verification/isomip/input_tap/data.mnc @@ -0,0 +1,17 @@ +# Example "data.mnc" file +# Lines beginning "#" are comments + &MNC_01 +# mnc_echo_gvtypes=.FALSE., +# mnc_use_indir=.FALSE., + mnc_use_outdir=.TRUE., + mnc_outdir_str='mnc_test_', +#mnc_outdir_date=.TRUE., + monitor_mnc=.FALSE., +#snapshot_mnc=.FALSE., +#timeave_mnc=.FALSE., + pickup_read_mnc=.FALSE., + pickup_write_mnc=.FALSE., + & +# Note: Some systems use & as the +# namelist terminator. Other systems +# use a / character (as shown here). diff --git a/verification/isomip/input_tap/data.optim b/verification/isomip/input_tap/data.optim new file mode 100644 index 0000000000..46dcb14fcd --- /dev/null +++ b/verification/isomip/input_tap/data.optim @@ -0,0 +1,3 @@ + &OPTIM + optimcycle=0, + / diff --git a/verification/isomip/input_tap/data.pkg b/verification/isomip/input_tap/data.pkg new file mode 100644 index 0000000000..4be52d6aeb --- /dev/null +++ b/verification/isomip/input_tap/data.pkg @@ -0,0 +1,5 @@ +# Packages + &PACKAGES + useShelfIce=.TRUE., + useGrdchk=.TRUE., + & diff --git a/verification/isomip/input_tap/data.shelfice b/verification/isomip/input_tap/data.shelfice new file mode 100644 index 0000000000..f071f2cb36 --- /dev/null +++ b/verification/isomip/input_tap/data.shelfice @@ -0,0 +1,11 @@ +# =================================== +# | Parameters for SHELFICE package | +# =================================== + &SHELFICE_PARM01 + SHELFICEboundaryLayer = .TRUE., + SHELFICEtopoFile='icetopo.exp1', + SHELFICEloadAnomalyFile = 'phi0surf.exp1.jmd95z', + useISOMIPTD = .TRUE., + no_slip_shelfice = .false., + SHELFICEwriteState = .TRUE., + & diff --git a/verification/isomip/input_tap/eedata b/verification/isomip/input_tap/eedata new file mode 100644 index 0000000000..818aacfa47 --- /dev/null +++ b/verification/isomip/input_tap/eedata @@ -0,0 +1,9 @@ +# Example "eedata" file +# Lines beginning "#" are comments +# nTx - No. threads per process in X +# nTy - No. threads per process in Y + &EEPARMS + & +# Note: Some systems use & as the +# namelist terminator. Other systems +# use a / character (as shown here). diff --git a/verification/isomip/input_tap/eedata.mth b/verification/isomip/input_tap/eedata.mth new file mode 100644 index 0000000000..599d20f601 --- /dev/null +++ b/verification/isomip/input_tap/eedata.mth @@ -0,0 +1,11 @@ +# Example "eedata" file for multi-threaded test +# (copy "eedata.mth" to "eedata" to use it) +# Lines beginning "#" are comments +# nTx - No. threads per process in X +# nTy - No. threads per process in Y + &EEPARMS + nTx=1, + nTy=2, + & +# Note: Some systems use & as the namelist terminator (as shown here). +# Other systems use a / character. diff --git a/verification/isomip/input_tap/gendata.m b/verification/isomip/input_tap/gendata.m new file mode 100644 index 0000000000..0a82150e75 --- /dev/null +++ b/verification/isomip/input_tap/gendata.m @@ -0,0 +1,117 @@ +% This is a matlab script that generates the input data + +% the configuation approximately the ISOMIP experiment no. 1 +% require matlab functions for equation of state + +% Dimensions of grid +nx=50; nxi=20; +ny=100; +nz=30; +deltaZ = 30; + +dlat = 0.1; dy=dlat; +dlon = 0.3; dx=dlon; + +%eos = 'linear'; +eos = 'jmd95z'; +%eos = 'mdjwf'; + +acc = 'real*8'; + +long = [0:dlon:10-dlon]; +lonc = long+dlon/2; +latg = [-80:dlat:-70-dlat]; +latc = latg+dlat/2; + +% Nominal depth of model (meters) +H = -900; +Hmin = -700; % deepest point of cavern +Hmax = -200; % shallowest point of cavern +dHdx = (Hmax-Hmin)/4; + +bathy = ones(nx,ny)*H; +bathy(1,:) = 0; +bathy(:,1) = 0; +fid=fopen('bathy.box','w','b'); fwrite(fid,bathy,acc);fclose(fid); + + +dz = deltaZ*ones(1,nz); +zgp1 = [0,cumsum(dz)]; +zc = .5*(zgp1(1:end-1)+zgp1(2:end)); +zg = zgp1(1:end-1); +dz = diff(zgp1); +sprintf('delZ = %d * %7.6g,',nz,dz) + +% Gravity +gravity=9.81; +rhoConst = 1030; +% compute potential field underneath ice shelf +talpha = 2e-4; +sbeta = 7.4e-4; +tref = -1.9*ones(nz,1); +t = tref; +sref = 34.4*ones(nz,1); +s = sref; +gravity = 9.81; +k=1; +dzm = abs([zg(1)-zc(1) .5*diff(zc)]); +dzp = abs([.5*diff(zc) zc(end)-zg(end)]); +p = abs(zc)*gravity*rhoConst*1e-4; +dp = p; +kp = 0; +while rms(dp) > 1e-13 + phiHydF(k) = 0; + p0 = p; + kp = kp+1 + for k = 1:nz + switch eos + case 'linear' + drho = rhoConst*(1-talpha*(t(k)-tref(k))+sbeta*(s(k)-sref(k)))-rhoConst; + case 'jmd95z' + drho = densjmd95(s(k),t(k),p(k))-rhoConst; + case 'mdjwf' + drho = densmdjwf(s(k),t(k),p(k))-rhoConst; + otherwise + error(sprintf('unknown EOS: %s',eos)) + end + phiHydC(k) = phiHydF(k) + dzm(k)*gravity*drho/rhoConst; + phiHydF(k+1) = phiHydC(k) + dzp(k)*gravity*drho/rhoConst; + end + switch eos + case 'mdjwf' + p = (gravity*rhoConst*abs(zc) + phiHydC*rhoConst)/gravity/rhoConst; + end + dp = p-p0; +end + +icetopo = ones(nx,1)*min(Hmax,Hmin + dHdx*(latc-latg(1))); +fid=fopen('icetopo.exp1','w','b'); fwrite(fid,icetopo,acc);fclose(fid); +fid=fopen('pload.exp1','w','b'); fwrite(fid,-icetopo,acc);fclose(fid); + +% After modifying the code in calc_phi_hyd.F on Apr26,2012 this is the +% consistent way of computing phi0surf. For this, we need the grid +% information (hFacC's). For convenience, it's taken from a previous model +% run. +% +% The way of computing phi0surf consistent with code prior to Apr26,2012 +% is recovered by setting drloc*dphi=0 +g=rdmnc('grid.*','HFacC'); +msk=sum(g.HFacC,3); msk(msk>0)=1; +phi0surf = zeros(nx,ny); +for ix=1:nx + for iy=1:ny + k=max(find(abs(zg)0 + kp1=min(k+1,nz); + drloc=1-g.HFacC(ix,iy,k); + %drloc=(abs(icetopo(ix,iy))-abs(zg(k)))/dz(k); + dphi = phiHydF(kp1)-phiHydF(k); + phi0surf(ix,iy) = (phiHydF(k)+drloc*dphi)*rhoConst*msk(ix,iy); + end + end +end +fid=fopen(['phi0surf.exp1.' eos],'w','b'); fwrite(fid,phi0surf,acc);fclose(fid); + diff --git a/verification/isomip/input_tap/prepare_run b/verification/isomip/input_tap/prepare_run new file mode 100755 index 0000000000..5674adb4e8 --- /dev/null +++ b/verification/isomip/input_tap/prepare_run @@ -0,0 +1,51 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take *.bin files from this dir: +fromDir="../input" + +fileList=`( cd $fromDir ; ls bathy.box icetopo.exp1 phi0surf.exp1.jmd95z )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- and take pickup files from this dir: +fromDir="../input_ad" + +fileList=`( cd $fromDir ; ls pickup* ones_64b.bin )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/isomip/results/output.obcs.txt b/verification/isomip/results/output.obcs.txt index cb9f2d1792..e969d650b5 100644 --- a/verification/isomip/results/output.obcs.txt +++ b/verification/isomip/results/output.obcs.txt @@ -5,10 +5,10 @@ (PID.TID 0000.0001) // ====================================================== (PID.TID 0000.0001) // execution environment starting up... (PID.TID 0000.0001) -(PID.TID 0000.0001) // MITgcmUV version: checkpoint68k +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68p (PID.TID 0000.0001) // Build user: jm_c (PID.TID 0000.0001) // Build host: villon -(PID.TID 0000.0001) // Build date: Fri Sep 23 13:11:53 EDT 2022 +(PID.TID 0000.0001) // Build date: Mon Jun 12 12:06:07 EDT 2023 (PID.TID 0000.0001) (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Execution Environment parameter file "eedata" @@ -896,7 +896,7 @@ (PID.TID 0000.0001) MDS_READ_FIELD: opening global file: iceShelf_MassTend.obcs (PID.TID 0000.0001) ------------------------------------------------------------ (PID.TID 0000.0001) DIAGNOSTICS_SET_LEVELS: done -(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 217 +(PID.TID 0000.0001) Total Nb of available Diagnostics: ndiagt= 219 (PID.TID 0000.0001) write list of available Diagnostics to file: available_diagnostics.log (PID.TID 0000.0001) SETDIAG: Allocate 30 x 1 Levels for Diagnostic # 30 UVEL (PID.TID 0000.0001) SETDIAG: Allocate 30 x 1 Levels for Diagnostic # 31 VVEL @@ -994,6 +994,61 @@ (PID.TID 0000.0001) 3.523005679000000E+01, /* K = 29 */ (PID.TID 0000.0001) 3.527374399000000E+01 /* K = 30 */ (PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.027768983359415E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.027915190977028E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.028061298013372E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.028207304511914E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.028353210516147E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.028499016069585E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028644721215765E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.028790325998246E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.028935830460613E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.029081234646470E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.029261959956916E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.029442561685720E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.029623039899847E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.029803394666453E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.029983626052885E+03, /* K = 15 */ +(PID.TID 0000.0001) 1.030163734126678E+03, /* K = 16 */ +(PID.TID 0000.0001) 1.030343718955557E+03, /* K = 17 */ +(PID.TID 0000.0001) 1.030523580607431E+03, /* K = 18 */ +(PID.TID 0000.0001) 1.030703319150400E+03, /* K = 19 */ +(PID.TID 0000.0001) 1.030882934652748E+03, /* K = 20 */ +(PID.TID 0000.0001) 1.031062427182941E+03, /* K = 21 */ +(PID.TID 0000.0001) 1.031241796809633E+03, /* K = 22 */ +(PID.TID 0000.0001) 1.031421043601659E+03, /* K = 23 */ +(PID.TID 0000.0001) 1.031600167628038E+03, /* K = 24 */ +(PID.TID 0000.0001) 1.031779168949895E+03, /* K = 25 */ +(PID.TID 0000.0001) 1.031958047652757E+03, /* K = 26 */ +(PID.TID 0000.0001) 1.032136803798109E+03, /* K = 27 */ +(PID.TID 0000.0001) 1.032315437455689E+03, /* K = 28 */ +(PID.TID 0000.0001) 1.032493948695412E+03, /* K = 29 */ +(PID.TID 0000.0001) 1.032672337587373E+03 /* K = 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 10 @ 0.000000000000000E+00, /* K = 1: 10 */ +(PID.TID 0000.0001) 1.124731220453894E-05, /* K = 11 */ +(PID.TID 0000.0001) 1.124366515896614E-05, /* K = 12 */ +(PID.TID 0000.0001) 1.124002146518838E-05, /* K = 13 */ +(PID.TID 0000.0001) 1.123638113569378E-05, /* K = 14 */ +(PID.TID 0000.0001) 1.123274418246514E-05, /* K = 15 */ +(PID.TID 0000.0001) 1.122911061777403E-05, /* K = 16 */ +(PID.TID 0000.0001) 1.122548045374762E-05, /* K = 17 */ +(PID.TID 0000.0001) 1.122185370222437E-05, /* K = 18 */ +(PID.TID 0000.0001) 1.121823037547582E-05, /* K = 19 */ +(PID.TID 0000.0001) 1.121461048512386E-05, /* K = 20 */ +(PID.TID 0000.0001) 1.121099404322349E-05, /* K = 21 */ +(PID.TID 0000.0001) 1.120738106139660E-05, /* K = 22 */ +(PID.TID 0000.0001) 1.120377155162599E-05, /* K = 23 */ +(PID.TID 0000.0001) 1.120016552538919E-05, /* K = 24 */ +(PID.TID 0000.0001) 1.119656043150190E-05, /* K = 25 */ +(PID.TID 0000.0001) 1.119296397022110E-05, /* K = 26 */ +(PID.TID 0000.0001) 1.118936846446139E-05, /* K = 27 */ +(PID.TID 0000.0001) 1.118577648836210E-05, /* K = 28 */ +(PID.TID 0000.0001) 1.118218805347293E-05, /* K = 29 */ +(PID.TID 0000.0001) 1.117860317127138E-05 /* K = 30 */ +(PID.TID 0000.0001) ; (PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -1749,35 +1804,6 @@ (PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ (PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ (PID.TID 0000.0001) ; -(PID.TID 0000.0001) rVel2wUnit = /* convert units: rVel -> wSpeed (=1 if z-coord)*/ -(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) wUnit2rVel = /* convert units: wSpeed -> rVel (=1 if z-coord)*/ -(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ -(PID.TID 0000.0001) ; -(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ -(PID.TID 0000.0001) 10 @ 0.000000000000000E+00, /* K = 1: 10 */ -(PID.TID 0000.0001) 1.124731220453894E-05, /* K = 11 */ -(PID.TID 0000.0001) 1.124366515896614E-05, /* K = 12 */ -(PID.TID 0000.0001) 1.124002146518838E-05, /* K = 13 */ -(PID.TID 0000.0001) 1.123638113569378E-05, /* K = 14 */ -(PID.TID 0000.0001) 1.123274418246514E-05, /* K = 15 */ -(PID.TID 0000.0001) 1.122911061777403E-05, /* K = 16 */ -(PID.TID 0000.0001) 1.122548045374762E-05, /* K = 17 */ -(PID.TID 0000.0001) 1.122185370222437E-05, /* K = 18 */ -(PID.TID 0000.0001) 1.121823037547582E-05, /* K = 19 */ -(PID.TID 0000.0001) 1.121461048512386E-05, /* K = 20 */ -(PID.TID 0000.0001) 1.121099404322349E-05, /* K = 21 */ -(PID.TID 0000.0001) 1.120738106139660E-05, /* K = 22 */ -(PID.TID 0000.0001) 1.120377155162599E-05, /* K = 23 */ -(PID.TID 0000.0001) 1.120016552538919E-05, /* K = 24 */ -(PID.TID 0000.0001) 1.119656043150190E-05, /* K = 25 */ -(PID.TID 0000.0001) 1.119296397022110E-05, /* K = 26 */ -(PID.TID 0000.0001) 1.118936846446139E-05, /* K = 27 */ -(PID.TID 0000.0001) 1.118577648836210E-05, /* K = 28 */ -(PID.TID 0000.0001) 1.118218805347293E-05, /* K = 29 */ -(PID.TID 0000.0001) 1.117860317127138E-05 /* K = 30 */ -(PID.TID 0000.0001) ; (PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; @@ -2055,7 +2081,10 @@ (PID.TID 0000.0001) == Packages configuration : Check & print summary == (PID.TID 0000.0001) (PID.TID 0000.0001) OBCS_CHECK: #define ALLOW_OBCS -(PID.TID 0000.0001) OBCS_CHECK: start summary: +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // OBCS_CHECK: OBCS configuration summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) (PID.TID 0000.0001) useOBCSprescribe = /* prescribe OB values */ (PID.TID 0000.0001) T (PID.TID 0000.0001) ; @@ -2077,6 +2106,9 @@ (PID.TID 0000.0001) OBCS_balanceFacW = /* Western OB Factor for balancing OB flow [-] */ (PID.TID 0000.0001) 1.000000000000000E+00 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) OBCSfixTopo = /* mod. topo to have zero gradient across boundaries. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) OBCS_uvApplyFac = /* Factor to apply to U,V 2nd column/row */ (PID.TID 0000.0001) 1.000000000000000E+00 (PID.TID 0000.0001) ; @@ -2092,12 +2124,54 @@ (PID.TID 0000.0001) OBCS_monSelect = /* select group of variables to monitor */ (PID.TID 0000.0001) 1 (PID.TID 0000.0001) ; +(PID.TID 0000.0001) OBCSprintDiags = /* print some OBCS diagnostics. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; (PID.TID 0000.0001) useOBCStides = /* apply tidal forcing through OB */ (PID.TID 0000.0001) F (PID.TID 0000.0001) ; (PID.TID 0000.0001) tidalPeriod = /* (s) */ (PID.TID 0000.0001) 10 @ 0.000000000000000E+00 /* I = 1: 10 */ (PID.TID 0000.0001) ; +(PID.TID 0000.0001) useOrlanskiNorth = /* use Orlanski for northern bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useOrlanskiSouth = /* use Orlanski for southern bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useOrlanskiEast = /* use Orlanski for eastern bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useOrlanskiWest = /* use Orlanski for western bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStevensNorth = /* use Stevens for northern bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStevensSouth = /* use Stevens for southern bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStevensEast = /* use Stevens for eastern bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStevensWest = /* use Stevens for western bound. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStevensPhaseVel = /* include phase vel. term. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStevensAdvection = /* include advection term. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) TrelaxStevens = /* relaxation time scale for theta ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SrelaxStevens = /* relaxation time scale for salinity ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useOBCSSponge = /* use sponge along boundaries */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; (PID.TID 0000.0001) OB_indexNone = /* null value for OB index (i.e. no OB) */ (PID.TID 0000.0001) -99 (PID.TID 0000.0001) ; @@ -2173,7 +2247,10 @@ (PID.TID 0000.0001) 31 @ -99 /* J = -2: 28 */ (PID.TID 0000.0001) OB_Iw = /* Western OB local indices */ (PID.TID 0000.0001) 31 @ -99 /* J = -2: 28 */ -(PID.TID 0000.0001) OBCS_CHECK: end summary. +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of OBCS config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) (PID.TID 0000.0001) OBCS_CHECK: #define ALLOW_ORLANSKI (PID.TID 0000.0001) OBCS_CHECK: set-up OK (PID.TID 0000.0001) OBCS_CHECK: check Inside Mask and OB locations: OK @@ -2589,42 +2666,42 @@ listId= 1 ; file name: dynStDiag cg2d: Sum(rhs),rhsMax = 1.46993233617767E+01 2.31146880222926E-02 (PID.TID 0000.0001) cg2d_init_res = 6.04841546085647E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 218 -(PID.TID 0000.0001) cg2d_last_res = 9.53548571897131E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.53548570649656E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 2 (PID.TID 0000.0001) %MON time_secondsf = 3.6000000000000E+03 (PID.TID 0000.0001) %MON dynstat_eta_max = 6.4613348439686E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -1.7890600431565E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.7890600431574E-02 (PID.TID 0000.0001) %MON dynstat_eta_mean = -2.7631199484407E-03 (PID.TID 0000.0001) %MON dynstat_eta_sd = 1.2864829988712E-02 (PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.0888425343025E-05 (PID.TID 0000.0001) %MON dynstat_uvel_max = 9.5053885322123E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -5.6056198185445E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -5.6056198185447E-04 (PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.6639876233233E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.7859761012137E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.4296073927019E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 7.5569353070363E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.7859758708285E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.4295537173854E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 7.5569353070365E-04 (PID.TID 0000.0001) %MON dynstat_vvel_min = -3.5556996213307E-03 (PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.6594416086965E-04 (PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.0079967931081E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.8406740762515E-08 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.8406740762514E-08 (PID.TID 0000.0001) %MON dynstat_wvel_max = 2.9925186734239E-08 (PID.TID 0000.0001) %MON dynstat_wvel_min = -4.3188903866910E-06 (PID.TID 0000.0001) %MON dynstat_wvel_mean = -2.2834238561998E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 5.9045581630661E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.4135018379998E-09 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 5.9045581569973E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.4135018562237E-09 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON dynstat_theta_min = -1.9000466753859E+00 (PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000003239046E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 2.8008791538371E-06 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 3.4700218365892E-09 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 2.8008790781648E-06 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 3.4700216507457E-09 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273735263639E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399996964882E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399996984163E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758300666624E+01 (PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908657157980E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.4603829799827E-08 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.4603827207096E-08 (PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.3589929622062E-05 (PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.4125830567095E-04 (PID.TID 0000.0001) %MON trAdv_CFL_w_max = 5.2044067852977E-04 @@ -2633,17 +2710,17 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) %MON advcfl_wvel_max = 2.5913342320146E-04 (PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2156015562871E-04 (PID.TID 0000.0001) %MON pe_b_mean = -1.4041611492085E-06 -(PID.TID 0000.0001) %MON ke_max = 6.4191385579873E-06 -(PID.TID 0000.0001) %MON ke_mean = 5.3734376444007E-07 +(PID.TID 0000.0001) %MON ke_max = 6.4191385579874E-06 +(PID.TID 0000.0001) %MON ke_mean = 5.3734376040942E-07 (PID.TID 0000.0001) %MON ke_vol = 3.4145723146476E+14 (PID.TID 0000.0001) %MON vort_r_min = -5.4406444321414E-07 (PID.TID 0000.0001) %MON vort_r_max = 5.5102487631526E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7367874689100E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7367874704550E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746688607077E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7975484531799E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4580169409162E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6396411068911E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7975493070851E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4580169409167E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6396411068920E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -2669,64 +2746,64 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) OBCS_balance (it= 3 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 (PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05473760E-04 -7.05473760E-04 (PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05473760E-04 -7.05473760E-04 - cg2d: Sum(rhs),rhsMax = 1.59775152127124E+01 3.18953526281116E-02 -(PID.TID 0000.0001) cg2d_init_res = 2.69554619610688E+00 + cg2d: Sum(rhs),rhsMax = 1.59775152127579E+01 3.18953526280206E-02 +(PID.TID 0000.0001) cg2d_init_res = 2.69554621218435E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 214 -(PID.TID 0000.0001) cg2d_last_res = 8.46965450680783E-14 +(PID.TID 0000.0001) cg2d_last_res = 8.46965466758224E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 3 (PID.TID 0000.0001) %MON time_secondsf = 5.4000000000000E+03 -(PID.TID 0000.0001) %MON dynstat_eta_max = 7.8716639698742E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3241774162246E-02 +(PID.TID 0000.0001) %MON dynstat_eta_max = 7.8716639719022E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3241774009361E-02 (PID.TID 0000.0001) %MON dynstat_eta_mean = -4.1442982840411E-03 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.6557748398911E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.4965247599042E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.0156613149965E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1518401606346E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 5.3005115892663E-06 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.0129844384922E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.0889354619782E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.0130326793155E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.6555190507876E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.9259629475105E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.6291146704013E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.7091273615273E-08 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0987244444288E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -8.4680680369359E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.6743054404761E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.5530437663571E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.8919650184444E-09 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.6557748403327E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.4965247624310E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.0156613150450E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1518401606180E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 5.3005115658936E-06 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.0129807887531E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.0883074943981E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.0130326772740E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.6555190590464E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -2.9259634013883E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.6291147134598E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.7091343960838E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.0987243536951E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -8.4680681267733E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.6743054614520E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.5530440138868E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.8919656213580E-09 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON dynstat_theta_min = -1.9000747554545E+00 (PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000005207468E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5031927105843E-06 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5355143265203E-09 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5031923637846E-06 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.5355132672029E-09 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273730917038E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399995475621E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399995547109E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758300625303E+01 (PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908610330120E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 2.2449391161112E-08 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 2.2449381422147E-08 (PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.7005193010572E-04 (PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.7317785692421E-04 (PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2156015562871E-04 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.5274200222022E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 4.2993730180234E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.0808408221615E-04 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.6770347585207E-04 -(PID.TID 0000.0001) %MON pe_b_mean = -2.9379203331260E-06 -(PID.TID 0000.0001) %MON ke_max = 3.5170377360384E-06 -(PID.TID 0000.0001) %MON ke_mean = 3.1017352483166E-07 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.5274200221513E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 4.2993730313947E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.0808408760640E-04 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.6770347687480E-04 +(PID.TID 0000.0001) %MON pe_b_mean = -2.9379204022040E-06 +(PID.TID 0000.0001) %MON ke_max = 3.5170377587686E-06 +(PID.TID 0000.0001) %MON ke_mean = 3.1017345629057E-07 (PID.TID 0000.0001) %MON ke_vol = 3.4145659565647E+14 -(PID.TID 0000.0001) %MON vort_r_min = -3.8933773166105E-07 -(PID.TID 0000.0001) %MON vort_r_max = 3.7233333131533E-07 +(PID.TID 0000.0001) %MON vort_r_min = -3.8933773287191E-07 +(PID.TID 0000.0001) %MON vort_r_max = 3.7233333177210E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7366223558897E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7366223613387E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746716694491E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7971057117129E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4579071042125E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6461736163639E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7971122218657E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4579071042132E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6461736161716E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -2738,7 +2815,7 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0547376012122E-04 (PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0547376012122E-04 (PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0547376012120E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.0840932682732E-10 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.1318733730953E-10 (PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5320022300741E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 @@ -2752,64 +2829,64 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) OBCS_balance (it= 4 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 (PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05687485E-04 -7.05687485E-04 (PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05687485E-04 -7.05687485E-04 - cg2d: Sum(rhs),rhsMax = 1.68410198901553E+01 4.03478024125270E-02 -(PID.TID 0000.0001) cg2d_init_res = 2.11068231819448E+00 + cg2d: Sum(rhs),rhsMax = 1.68410198936941E+01 4.03478024038659E-02 +(PID.TID 0000.0001) cg2d_init_res = 2.11068248659912E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 215 -(PID.TID 0000.0001) cg2d_last_res = 9.52796997596696E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.52796685692590E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 4 (PID.TID 0000.0001) %MON time_secondsf = 7.2000000000000E+03 -(PID.TID 0000.0001) %MON dynstat_eta_max = 7.8569108601224E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3529011040041E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -5.5258950513068E-03 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.7543478827969E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9041364020567E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 5.7467471614906E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.9084172956242E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.8023371554425E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.5880860018022E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.3274996962156E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.3290778121446E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.6286759282397E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.9524776318466E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.5333185199406E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9796362229800E-08 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.8732056638687E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0927531521864E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = -4.6355468146049E-08 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.2702015476910E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.0242229375783E-09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 7.8569108817798E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3529009385254E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -5.5258950512817E-03 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.7543478900998E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.9041364380236E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 5.7467472394850E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.9084172944753E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -3.8023373559462E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.5880694920844E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.3255394767625E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 8.3290777842402E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.6286760736919E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.9524772443766E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.5333188468994E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9790079410033E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.8732048394210E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0927532347926E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -4.6355485637614E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.2702039288904E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 2.0242268520417E-09 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999999994E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9000881825373E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000006255434E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 5.2522975807427E-06 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.3594098607884E-09 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9000881825374E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000006255435E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 5.2522966773155E-06 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.3594073788418E-09 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273726573531E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399993517290E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399993679602E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758300782114E+01 (PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908568577350E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.0311181753101E-08 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.5274190643674E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 4.2814971547290E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.6770347585207E-04 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.8443780737709E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.6368801002958E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.5565189131185E-04 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.5565793830408E-04 -(PID.TID 0000.0001) %MON pe_b_mean = -3.2796006265133E-06 -(PID.TID 0000.0001) %MON ke_max = 1.8202447752623E-06 -(PID.TID 0000.0001) %MON ke_mean = 1.3322158992064E-07 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.0311161361615E-08 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.5274190643164E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 4.2814971680446E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.6770347687480E-04 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.8443780702524E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.6368803357876E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 6.5565194087557E-04 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.5565798786828E-04 +(PID.TID 0000.0001) %MON pe_b_mean = -3.2796012610793E-06 +(PID.TID 0000.0001) %MON ke_max = 1.8202447730882E-06 +(PID.TID 0000.0001) %MON ke_mean = 1.3322134043810E-07 (PID.TID 0000.0001) %MON ke_vol = 3.4145595989607E+14 -(PID.TID 0000.0001) %MON vort_r_min = -2.2325941917731E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.1294290601751E-07 +(PID.TID 0000.0001) %MON vort_r_min = -2.2325943689710E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.1294290846293E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7364363996242E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7364363987753E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746744234984E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7966033899153E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4583511424144E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6592044490563E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7966201685783E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4583511423860E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6592044474051E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -2818,11 +2895,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 4 (PID.TID 0000.0001) %MON obc_time_secondsf = 7.2000000000000E+03 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0568748528086E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0568748528086E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0568748528084E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.1177538177971E-10 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5330722595821E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0568748526807E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0568748526807E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0568748526805E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 7.6310887246666E-11 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5330722595181E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -2835,64 +2912,64 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) OBCS_balance (it= 5 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 (PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05799753E-04 -7.05799753E-04 (PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05799753E-04 -7.05799753E-04 - cg2d: Sum(rhs),rhsMax = 1.72857774120176E+01 4.91395215568869E-02 -(PID.TID 0000.0001) cg2d_init_res = 1.73737921241027E+00 + cg2d: Sum(rhs),rhsMax = 1.72857774752251E+01 4.91395213769565E-02 +(PID.TID 0000.0001) cg2d_init_res = 1.73737946466836E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 213 -(PID.TID 0000.0001) cg2d_last_res = 9.68641051097680E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.68641556564450E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 5 (PID.TID 0000.0001) %MON time_secondsf = 9.0000000000000E+03 -(PID.TID 0000.0001) %MON dynstat_eta_max = 6.9458343938943E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.1183002056381E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -6.9077116163372E-03 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.6601661628817E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3138530330956E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.7236731052269E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.1861938023773E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -7.3237966814128E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.4443484966887E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2806146893554E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4641807941209E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -6.4857366932167E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 4.8456348384508E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.2152442794623E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 8.0512511165935E-08 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.2263513213694E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -8.3653353921624E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 9.6659728249348E-08 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 5.0742955830150E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.3188866128959E-09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 6.9458344855273E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.1182993710703E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -6.9077116163027E-03 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.6601661955955E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3138531274103E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.7236739259713E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.1861937844019E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -7.3238000137630E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.4443214236651E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2776131360458E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4641808612111E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -6.4857457856952E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 4.8456336730645E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 3.2152440627250E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 8.0477542379321E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.2263508998098E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -8.3653365073946E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 9.6659677766587E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 5.0742907276300E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.3188862906918E-09 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999999980E+00 (PID.TID 0000.0001) %MON dynstat_theta_min = -1.9000934512875E+00 (PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000007176964E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 5.8948807090068E-06 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 7.0607692184801E-09 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 5.8948789217522E-06 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 7.0607648450924E-09 (PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273722629686E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399986639141E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399986639139E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301023584E+01 (PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908525990592E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.7587163974113E-08 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.8443746834904E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.5964070802798E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.5565793830408E-04 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 6.6950468081188E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.3705570471748E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.3581079282163E-04 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.3581841363208E-04 -(PID.TID 0000.0001) %MON pe_b_mean = -6.2924735456349E-07 -(PID.TID 0000.0001) %MON ke_max = 2.3953038484908E-06 -(PID.TID 0000.0001) %MON ke_mean = 1.8042454132865E-07 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.7587141217439E-08 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.8443746799719E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.5964072994803E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 6.5565798786828E-04 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 6.6950467530708E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.3705571557960E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.3581053988586E-04 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.3581816069403E-04 +(PID.TID 0000.0001) %MON pe_b_mean = -6.2924959194213E-07 +(PID.TID 0000.0001) %MON ke_max = 2.3953038077821E-06 +(PID.TID 0000.0001) %MON ke_mean = 1.8042409704032E-07 (PID.TID 0000.0001) %MON ke_vol = 3.4145532394307E+14 -(PID.TID 0000.0001) %MON vort_r_min = -2.0389633421188E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.2111463987118E-07 +(PID.TID 0000.0001) %MON vort_r_min = -2.0389633789259E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.2111462561498E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7363525661777E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7363525594034E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746771373985E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7965267992820E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4585860819468E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6731982343968E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7965524586889E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4585860819352E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6731982298079E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -2901,11 +2978,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 5 (PID.TID 0000.0001) %MON obc_time_secondsf = 9.0000000000000E+03 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0579975286541E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0579975286541E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0579975286540E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.1082408463501E-10 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5336343348590E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0579975286056E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0579975286056E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0579975286056E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = -4.1292856178647E-21 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5336343348347E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -2918,64 +2995,64 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) OBCS_balance (it= 6 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 (PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05794516E-04 -7.05794516E-04 (PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05794516E-04 -7.05794516E-04 - cg2d: Sum(rhs),rhsMax = 1.75736729765060E+01 5.80032564213151E-02 -(PID.TID 0000.0001) cg2d_init_res = 1.47428204986039E+00 + cg2d: Sum(rhs),rhsMax = 1.75736730804443E+01 5.80032560783465E-02 +(PID.TID 0000.0001) cg2d_init_res = 1.47428230159192E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 211 -(PID.TID 0000.0001) cg2d_last_res = 9.78036607937475E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.78011021122377E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 6 (PID.TID 0000.0001) %MON time_secondsf = 1.0800000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 6.0753027715432E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3428108622218E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -8.2895179293060E-03 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.4581927484246E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.7245170290913E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.6509636553532E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.8986330467286E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -8.8770332353299E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3329364014969E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.0941051759156E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.3283848788600E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.4208559133511E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 8.0850698777446E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.2320387998455E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.2359368927470E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.8953636368620E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.1387155944158E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.3272630835715E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 9.3958109353265E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 6.1472755871658E-09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 6.0753030687201E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3428115522332E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -8.2895179293186E-03 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.4581928297948E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.7245171875355E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.6509668493159E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.8986329459597E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -8.8770430598618E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3329171651349E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.0916433935127E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.3283856487529E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.4208562606328E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 8.0850678028264E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.2320368348986E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.2352733212142E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.8953624035498E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.1387831628762E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.3272622335325E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 9.3957955230379E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 6.1472680462770E-09 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999999996E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001043558668E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001043558665E+00 (PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000008284986E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 6.7386193806029E-06 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 8.0141623881710E-09 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273719106035E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399983856096E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301277719E+01 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 6.7386163002539E-06 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 8.0141551657041E-09 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273719106034E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399983856093E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301277718E+01 (PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908481399609E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.4763529369175E-08 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 6.6950433784909E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.3799226704874E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.3581841363208E-04 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.8144145800190E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.7697319929885E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.1372181821172E-03 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.1372315397380E-03 -(PID.TID 0000.0001) %MON pe_b_mean = 5.9296422263594E-06 -(PID.TID 0000.0001) %MON ke_max = 2.7062531993518E-06 -(PID.TID 0000.0001) %MON ke_mean = 4.2820447354531E-07 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.4763531760402E-08 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 6.6950433234428E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.3799227795378E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.3581816069403E-04 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.8144142714221E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.7697332394705E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.1372174421299E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.1372307997441E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 5.9296373095767E-06 +(PID.TID 0000.0001) %MON ke_max = 2.7062548278439E-06 +(PID.TID 0000.0001) %MON ke_mean = 4.2820397922737E-07 (PID.TID 0000.0001) %MON ke_vol = 3.4145468788889E+14 -(PID.TID 0000.0001) %MON vort_r_min = -3.2878919213823E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.8269177102333E-07 +(PID.TID 0000.0001) %MON vort_r_min = -3.2878925047496E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.8269171830389E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7363844384288E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7363844449771E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746798283018E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7969793593768E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4585782979671E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6854514001091E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7970054261597E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4585782980171E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6854513925915E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -2984,11 +3061,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 6 (PID.TID 0000.0001) %MON obc_time_secondsf = 1.0800000000000E+04 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0579451635088E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0579451635088E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0579451635086E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.3376685318399E-10 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5336081178937E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0579451637491E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0579451637491E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0579451637490E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.1365409119617E-10 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5336081180141E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -3001,64 +3078,64 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) OBCS_balance (it= 7 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 (PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05733713E-04 -7.05733713E-04 (PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05733713E-04 -7.05733713E-04 - cg2d: Sum(rhs),rhsMax = 1.75390904968848E+01 6.78046019640395E-02 -(PID.TID 0000.0001) cg2d_init_res = 1.26214593352657E+00 + cg2d: Sum(rhs),rhsMax = 1.75390861805354E+01 6.78046186590638E-02 +(PID.TID 0000.0001) cg2d_init_res = 1.26214578766915E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 211 -(PID.TID 0000.0001) cg2d_last_res = 9.15388680389787E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.15390204926456E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 7 (PID.TID 0000.0001) %MON time_secondsf = 1.2600000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 5.1135222872163E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -2.8774910612965E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -9.6712052003997E-03 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.2277582146886E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.1356995077677E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 4.3005308242319E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.2891989408332E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -8.6901958201847E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2340092611705E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.8982786686111E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.9127399366223E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.0463117701631E-05 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.1213703385820E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.4247244140458E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.6941546126777E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.4686799570703E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.3290615727282E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.4291392003214E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.3984115704513E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 9.2265523381985E-09 +(PID.TID 0000.0001) %MON dynstat_eta_max = 5.1135228580370E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.8774923490057E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -9.6712052015961E-03 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.2277583430702E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.1356997131498E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 4.2875976500786E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.2891986246478E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -8.6902103027936E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2340023437191E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.8970309144977E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.9127421213842E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.0463136653209E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.1213701154109E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.4247222451206E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.6933858753460E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.4686775270961E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.3290616120045E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.4291383695188E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.3984095007443E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 9.2265421963154E-09 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999999785E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001238880267E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000009624706E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.7325851990283E-06 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.1901345958611E-09 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273715985411E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399988608836E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001238880247E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000009624704E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 7.7325785942410E-06 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.1901144937156E-09 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273715985410E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399988609011E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301504381E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908435755440E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.4761886551267E-08 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.8144140138316E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.7847493202183E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.1372315397380E-03 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.9480704978991E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 4.7158221246120E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.4812079742422E-03 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.4812255686854E-03 -(PID.TID 0000.0001) %MON pe_b_mean = 1.6250289446074E-05 -(PID.TID 0000.0001) %MON ke_max = 4.2410567220866E-06 -(PID.TID 0000.0001) %MON ke_mean = 7.8738678997355E-07 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908435755431E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 5.4761957136228E-08 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.8144137052348E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.7847505716656E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.1372307997441E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.9480695296062E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 4.7158256618137E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.4812065162577E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.4812241106905E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 1.6250281888769E-05 +(PID.TID 0000.0001) %MON ke_max = 4.2410635454518E-06 +(PID.TID 0000.0001) %MON ke_mean = 7.8738634963259E-07 (PID.TID 0000.0001) %MON ke_vol = 3.4145405183943E+14 -(PID.TID 0000.0001) %MON vort_r_min = -4.1429931079634E-07 -(PID.TID 0000.0001) %MON vort_r_max = 3.0745883509363E-07 +(PID.TID 0000.0001) %MON vort_r_min = -4.1429954904018E-07 +(PID.TID 0000.0001) %MON vort_r_max = 3.0745872426551E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7364992878701E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7364992920639E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746825109325E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7977955163592E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4584555303333E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6947578451520E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7978094538268E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4584555315805E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6947578401103E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3067,11 +3144,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 7 (PID.TID 0000.0001) %MON obc_time_secondsf = 1.2600000000000E+04 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0573371253060E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0573371253060E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0573371253059E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.1955618338219E-10 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5333036994434E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0573371313529E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0573371313529E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0573371313528E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 8.1672421658891E-11 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5333037024708E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -3080,68 +3157,68 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) OBCS_balance (it= 8 ) correct for netFreshWaterFlux: 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance (it= 8 ) correct for shelfIceNetMassFlux: 3.63872269E+08 +(PID.TID 0000.0001) OBCS_balance (it= 8 ) correct for shelfIceNetMassFlux: 3.63872271E+08 (PID.TID 0000.0001) OBCS_balance (it= 8 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05621217E-04 -7.05621217E-04 -(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05621217E-04 -7.05621217E-04 - cg2d: Sum(rhs),rhsMax = 1.75611480770929E+01 7.73927052683209E-02 -(PID.TID 0000.0001) cg2d_init_res = 1.10598111005996E+00 +(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05621219E-04 -7.05621219E-04 +(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05621219E-04 -7.05621219E-04 + cg2d: Sum(rhs),rhsMax = 1.75611400552670E+01 7.73927406591259E-02 +(PID.TID 0000.0001) cg2d_init_res = 1.10598067264528E+00 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 210 -(PID.TID 0000.0001) cg2d_last_res = 9.43328410800391E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.43305895951463E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 8 (PID.TID 0000.0001) %MON time_secondsf = 1.4400000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 3.9095265138503E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -3.4791158207139E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.1052672226519E-02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0695540539198E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.5471749498600E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 7.7913086614164E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -6.6377288649535E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -7.3559588954482E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3227032725027E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.8114193807295E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.2619949864798E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = 1.5782001839429E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.3717288095665E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.1020934797776E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.0817787281886E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.8905459050619E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.5620534800450E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.1707169566091E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.7582875659149E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.1607024056616E-08 +(PID.TID 0000.0001) %MON dynstat_eta_max = 3.9095272746836E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -3.4791176760556E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.1052672231984E-02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0695541803272E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.5471751717246E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 7.7914385926307E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -6.6377237198231E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -7.3559711238339E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3226674219012E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.8080569151022E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.2619990784551E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 1.5782008959938E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.3717287491162E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.1020938943114E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.0811421931623E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.8905425429616E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.5624779082446E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.1707168867140E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.7582858390885E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.1607014950068E-08 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999999341E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001341199086E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000011317619E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 8.9557161669463E-06 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.0661568884872E-08 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273712982039E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399985516866E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001341199012E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000011317609E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 8.9557016160915E-06 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.0661520962327E-08 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273712982036E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399985517262E+01 (PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301678096E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908390059807E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 7.0343670686056E-08 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.9480717809954E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 4.7347679446279E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4812255686854E-03 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.0327523297405E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.2812775813599E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.7343275430371E-03 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.7343470831553E-03 -(PID.TID 0000.0001) %MON pe_b_mean = 2.9441111833367E-05 -(PID.TID 0000.0001) %MON ke_max = 5.3189450240048E-06 -(PID.TID 0000.0001) %MON ke_mean = 1.1396528095117E-06 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908390059765E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 7.0343853776636E-08 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.9480708127025E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 4.7347714960383E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4812241106905E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.0327507540847E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.2812842064031E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.7343255257769E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.7343450658852E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 2.9441103945427E-05 +(PID.TID 0000.0001) %MON ke_max = 5.3189590850728E-06 +(PID.TID 0000.0001) %MON ke_mean = 1.1396522959940E-06 (PID.TID 0000.0001) %MON ke_vol = 3.4145341584476E+14 -(PID.TID 0000.0001) %MON vort_r_min = -4.6675229510020E-07 -(PID.TID 0000.0001) %MON vort_r_max = 3.0025169928798E-07 +(PID.TID 0000.0001) %MON vort_r_min = -4.6675273213243E-07 +(PID.TID 0000.0001) %MON vort_r_max = 3.0025152516024E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7366507010945E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7366506050965E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746851954104E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7987497528919E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4582256262151E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7005130513012E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7987383363657E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4582256307194E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7005130591431E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3150,11 +3227,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 8 (PID.TID 0000.0001) %MON obc_time_secondsf = 1.4400000000000E+04 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0562121652174E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0562121652174E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0562121652173E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = -2.6469779601697E-21 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5327404805448E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0562121870234E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0562121870234E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0562121870233E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.4551915228367E-11 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5327404914621E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -3163,68 +3240,68 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) OBCS_balance (it= 9 ) correct for netFreshWaterFlux: 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance (it= 9 ) correct for shelfIceNetMassFlux: 3.63826532E+08 +(PID.TID 0000.0001) OBCS_balance (it= 9 ) correct for shelfIceNetMassFlux: 3.63826534E+08 (PID.TID 0000.0001) OBCS_balance (it= 9 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05532523E-04 -7.05532523E-04 -(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05532523E-04 -7.05532523E-04 - cg2d: Sum(rhs),rhsMax = 1.76499798883755E+01 8.66265639917825E-02 -(PID.TID 0000.0001) cg2d_init_res = 9.87878677549485E-01 +(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05532527E-04 -7.05532527E-04 +(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05532527E-04 -7.05532527E-04 + cg2d: Sum(rhs),rhsMax = 1.76499679602024E+01 8.66266226247731E-02 +(PID.TID 0000.0001) cg2d_init_res = 9.87877784527314E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 210 -(PID.TID 0000.0001) cg2d_last_res = 7.91718356734052E-14 +(PID.TID 0000.0001) cg2d_last_res = 7.91711694587393E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 9 (PID.TID 0000.0001) %MON time_secondsf = 1.6200000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 2.6061302022184E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -4.1344837306970E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.2433965608121E-02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0947711669221E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.9588427692387E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.1588935855740E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -3.6030075625854E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -5.2917565301780E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.4977387494392E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.9357780521530E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4252405008634E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = 3.0357178801450E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.5196633774376E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.2732361256915E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.3510412256923E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.5433146524373E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.8752592327317E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.5209442160196E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9528454897968E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.2791145056824E-08 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.6061307924280E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -4.1344864224323E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.2433965620919E-02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0947713231084E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.9588428830602E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.1588978116179E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -3.6030070678344E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -5.2917585718916E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.4976124385996E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.9245728612166E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4252464955838E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 3.0357205115928E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.5196637198421E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.2732418562290E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.3506177156806E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 3.5433246458172E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.8759891832654E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.5209458121810E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9528449204715E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.2791131332404E-08 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999998619E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001467021776E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000013193665E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.0296090649154E-05 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.2262411362611E-08 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273709993170E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399982235704E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301796144E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908344423458E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.0841871042267E-08 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.0327533131530E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.3026743707236E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.7343470831553E-03 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.7854753768879E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5455774588720E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.1259887914624E-03 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.1259935785962E-03 -(PID.TID 0000.0001) %MON pe_b_mean = 4.4242192014210E-05 -(PID.TID 0000.0001) %MON ke_max = 5.8622977053462E-06 -(PID.TID 0000.0001) %MON ke_mean = 1.3659408864309E-06 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001467021887E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000013193643E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.0296064010746E-05 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.2262336083745E-08 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273709993164E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399982236677E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301796145E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908344423365E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 9.0842213992805E-08 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.0327517374967E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.3026810226028E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.7343450658852E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.7854805832443E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5455871645223E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.1259947874903E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.1259995746203E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 4.4242189013592E-05 +(PID.TID 0000.0001) %MON ke_max = 5.8623190532290E-06 +(PID.TID 0000.0001) %MON ke_mean = 1.3659399168825E-06 (PID.TID 0000.0001) %MON ke_vol = 3.4145277995147E+14 -(PID.TID 0000.0001) %MON vort_r_min = -4.9346439817418E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.7081133990176E-07 -(PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7367959846940E-06 +(PID.TID 0000.0001) %MON vort_r_min = -4.9346514288485E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.7073387738457E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969630E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7367956490535E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746878867396E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.7996748617383E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4580443691077E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7029289702176E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.7996291197954E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4580443768437E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7029289989237E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3233,11 +3310,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 9 (PID.TID 0000.0001) %MON obc_time_secondsf = 1.6200000000000E+04 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0553252294221E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0553252294221E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0553252294220E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.0134236273868E-10 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5322964301231E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0553252668759E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0553252668759E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0553252668757E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 7.4910568517131E-11 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5322964488745E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -3246,68 +3323,68 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) OBCS_balance (it= 10 ) correct for netFreshWaterFlux: 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance (it= 10 ) correct for shelfIceNetMassFlux: 3.63805586E+08 +(PID.TID 0000.0001) OBCS_balance (it= 10 ) correct for shelfIceNetMassFlux: 3.63805589E+08 (PID.TID 0000.0001) OBCS_balance (it= 10 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05491904E-04 -7.05491904E-04 -(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05491904E-04 -7.05491904E-04 - cg2d: Sum(rhs),rhsMax = 1.77818151069982E+01 9.55357863275391E-02 -(PID.TID 0000.0001) cg2d_init_res = 8.95134294511014E-01 +(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05491909E-04 -7.05491909E-04 +(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05491909E-04 -7.05491909E-04 + cg2d: Sum(rhs),rhsMax = 1.77817999647603E+01 9.55358678369698E-02 +(PID.TID 0000.0001) cg2d_init_res = 8.95132873945988E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 209 -(PID.TID 0000.0001) cg2d_last_res = 8.42640274995922E-14 +(PID.TID 0000.0001) cg2d_last_res = 8.42648494775133E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 10 (PID.TID 0000.0001) %MON time_secondsf = 1.8000000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3337664754038E-02 -(PID.TID 0000.0001) %MON dynstat_eta_min = -4.7824728186600E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.3815179466823E-02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.3066705357060E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 4.3706519032430E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.5259235471379E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -3.6565542710394E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.7837033340259E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.6766348878698E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2981924500968E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4392672260663E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = 2.6773327235982E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.5493398904083E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.0405104829020E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.5187554019826E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.3762556039645E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.2356030610798E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.5047079612621E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9694347880038E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.2710222175404E-08 -(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999997589E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001672792100E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000015098687E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.1663797350459E-05 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.3911985487968E-08 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273706837509E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399978950847E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301863179E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908298742674E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.1305746835647E-07 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.7854748234368E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.5682385164115E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.1259935785962E-03 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.7898713395025E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5682871900829E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.6257533623787E-03 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.6257544523033E-03 -(PID.TID 0000.0001) %MON pe_b_mean = 5.9307332711497E-05 -(PID.TID 0000.0001) %MON ke_max = 5.8941141895804E-06 -(PID.TID 0000.0001) %MON ke_mean = 1.3990366134654E-06 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.3337662651213E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -4.7824758094907E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.3815179489258E-02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.3066709901849E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 4.3706516892598E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.5259271547534E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -3.6563965031174E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.7836897867972E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.6763870170404E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2789443537961E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4392748359958E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 2.6773326449450E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.5493408405695E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.0405222390831E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.5183222156718E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.3762703653466E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.2367432590819E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.5047119010917E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.9694352462717E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.2710171784312E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999997588E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001672792468E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000015098651E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.1663754706564E-05 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.3911883754414E-08 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273706837502E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399978952898E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301863181E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908298742516E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.1305799665297E-07 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.7854800297908E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.5682482617146E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.1259995746203E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.7898802995833E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5682995108099E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.6257622192080E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.6257633090975E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 5.9307342248591E-05 +(PID.TID 0000.0001) %MON ke_max = 5.8941410119108E-06 +(PID.TID 0000.0001) %MON ke_mean = 1.3990347279349E-06 (PID.TID 0000.0001) %MON ke_vol = 3.4145214413811E+14 -(PID.TID 0000.0001) %MON vort_r_min = -4.9815768268027E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.8601782892789E-07 +(PID.TID 0000.0001) %MON vort_r_min = -4.9815867315275E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.8601889488741E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7369069688909E-06 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7369063429144E-06 (PID.TID 0000.0001) %MON vort_p_mean = -1.4746905857889E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.8004785512773E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4579616607467E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7024210501547E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 7.8004025202187E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4579616709219E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.7024211041708E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3316,11 +3393,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 10 (PID.TID 0000.0001) %MON obc_time_secondsf = 1.8000000000000E+04 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0549190449522E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0549190449522E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0549190449521E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 6.7474455103334E-11 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5320930711132E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0549190941762E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0549190941762E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0549190941761E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 5.9999083541591E-11 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5320930957576E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -3329,68 +3406,68 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) OBCS_balance (it= 11 ) correct for netFreshWaterFlux: 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance (it= 11 ) correct for shelfIceNetMassFlux: 3.63806580E+08 +(PID.TID 0000.0001) OBCS_balance (it= 11 ) correct for shelfIceNetMassFlux: 3.63806583E+08 (PID.TID 0000.0001) OBCS_balance (it= 11 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05493832E-04 -7.05493832E-04 -(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05493832E-04 -7.05493832E-04 - cg2d: Sum(rhs),rhsMax = 1.79318271263622E+01 1.04208161041800E-01 -(PID.TID 0000.0001) cg2d_init_res = 8.19787314537129E-01 +(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05493837E-04 -7.05493837E-04 +(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05493837E-04 -7.05493837E-04 + cg2d: Sum(rhs),rhsMax = 1.79318102147258E+01 1.04208259544934E-01 +(PID.TID 0000.0001) cg2d_init_res = 8.19785261805097E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 208 -(PID.TID 0000.0001) cg2d_last_res = 7.89543428542986E-14 +(PID.TID 0000.0001) cg2d_last_res = 7.89672923149026E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 11 (PID.TID 0000.0001) %MON time_secondsf = 1.9800000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.7428807111081E-03 -(PID.TID 0000.0001) %MON dynstat_eta_min = -5.3993932070992E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.5196397099374E-02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.6013357657741E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 4.7825718616544E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8885074402906E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.0868957237555E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.9034022610024E-06 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.8828772582559E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.8241996871914E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4346936176687E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = 1.6347176890638E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.4712751792743E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.5146398755407E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.6529650287316E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.8933246864132E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.6647817628826E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.1891207743276E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.8399804810699E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.1657805464955E-08 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.7428632643835E-03 +(PID.TID 0000.0001) %MON dynstat_eta_min = -5.3993964000236E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.5196397131976E-02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.6013368653463E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 4.7825709648663E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8885114789994E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.0866012437081E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.9031105186842E-06 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.8825144078422E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.8005664731288E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4347017452170E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 1.6347175670035E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.4712767764861E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 5.5146540432028E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.6520059448494E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.8933419799962E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.6647794484656E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.1891270261927E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.8399793711260E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.1657630047811E-08 (PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999996291E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001891383591E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000016936136E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.2994835667798E-05 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.5483700443735E-08 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273703476669E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399975821662E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301887501E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908252939045E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.3358490500779E-07 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.7898705278791E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.5910425441799E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.6257544523033E-03 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.6904055159375E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5608823670845E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.9359948118479E-03 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.9359945359447E-03 -(PID.TID 0000.0001) %MON pe_b_mean = 7.3422279144758E-05 -(PID.TID 0000.0001) %MON ke_max = 5.5304560673683E-06 -(PID.TID 0000.0001) %MON ke_mean = 1.2535143938147E-06 -(PID.TID 0000.0001) %MON ke_vol = 3.4145150836136E+14 -(PID.TID 0000.0001) %MON vort_r_min = -4.8898175623705E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.9817341806007E-07 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9001891384350E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000016936087E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.2994775597364E-05 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.5483593837991E-08 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273703476692E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399975825227E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301887503E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908252938821E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.3358554256605E-07 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.7898794879549E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.5910549152481E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.6257633090975E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 4.6904155467065E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5608955258536E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 2.9360051879977E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.9360049120338E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 7.3422309206742E-05 +(PID.TID 0000.0001) %MON ke_max = 5.5304798723756E-06 +(PID.TID 0000.0001) %MON ke_mean = 1.2535108421488E-06 +(PID.TID 0000.0001) %MON ke_vol = 3.4145150836135E+14 +(PID.TID 0000.0001) %MON vort_r_min = -4.8898272977475E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.9817397109983E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7369726661190E-06 -(PID.TID 0000.0001) %MON vort_p_mean = -1.4746932904861E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.8011264144048E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4579659311151E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6995841021458E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7369718040078E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.4746932904862E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.8010331793842E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4579659418558E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6995841774967E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3399,11 +3476,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 11 (PID.TID 0000.0001) %MON obc_time_secondsf = 1.9800000000000E+04 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0549383208936E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0549383208936E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0549383208934E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.5740302953625E-10 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5321027217440E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0549383728235E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0549383728235E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0549383728233E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.3337050608114E-10 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5321027477430E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -3412,68 +3489,68 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // End OBCS MONITOR field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) OBCS_balance (it= 12 ) correct for netFreshWaterFlux: 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance (it= 12 ) correct for shelfIceNetMassFlux: 3.63822463E+08 +(PID.TID 0000.0001) OBCS_balance (it= 12 ) correct for shelfIceNetMassFlux: 3.63822465E+08 (PID.TID 0000.0001) OBCS_balance (it= 12 ) correct for inFlow: 0.00000000E+00 0.00000000E+00 -(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05524632E-04 -7.05524632E-04 -(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05524632E-04 -7.05524632E-04 - cg2d: Sum(rhs),rhsMax = 1.80819341960821E+01 1.12736456298327E-01 -(PID.TID 0000.0001) cg2d_init_res = 7.56930469760583E-01 +(PID.TID 0000.0001) OBCS_balance correction to OBEu,OBWu: 7.05524636E-04 -7.05524636E-04 +(PID.TID 0000.0001) OBCS_balance correction to OBNv,OBSv: 7.05524636E-04 -7.05524636E-04 + cg2d: Sum(rhs),rhsMax = 1.80819180366572E+01 1.12736557325356E-01 +(PID.TID 0000.0001) cg2d_init_res = 7.56927757158014E-01 (PID.TID 0000.0001) cg2d_iters(min,last) = -1 208 -(PID.TID 0000.0001) cg2d_last_res = 9.91536356615835E-14 +(PID.TID 0000.0001) cg2d_last_res = 9.91549275318433E-14 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // Begin MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON time_tsnumber = 12 (PID.TID 0000.0001) %MON time_secondsf = 2.1600000000000E+04 -(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0690903378689E-03 -(PID.TID 0000.0001) %MON dynstat_eta_min = -5.9257149468679E-02 -(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.6577675032645E-02 -(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.8902524967697E-02 -(PID.TID 0000.0001) %MON dynstat_eta_del2 = 5.1945755204997E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.1871163792536E-03 -(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.8490411668834E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.0254443617597E-05 -(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.1208066549202E-04 -(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.4094644689724E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4188660740902E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_min = -9.1096294698757E-07 -(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.3157782190033E-03 -(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.8261297333297E-04 -(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.8356900739679E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.1291940834321E-05 -(PID.TID 0000.0001) %MON dynstat_wvel_min = -7.0381749410681E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.6687399575997E-07 -(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.6270923931612E-06 -(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.0192263814598E-08 -(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999993679E+00 -(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9002109052019E+00 -(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000018655155E+00 -(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4261200034635E-05 -(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.6955165366581E-08 -(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273701613151E+01 -(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399972980816E+01 -(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301879959E+01 -(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908206888257E-01 -(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.5002803270825E-07 -(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.6904045060837E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.5826806434009E-04 -(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.9359945359447E-03 -(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.4643290662571E-04 -(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5352570514677E-04 -(PID.TID 0000.0001) %MON advcfl_wvel_max = 3.0775164500593E-03 -(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.0775175489682E-03 -(PID.TID 0000.0001) %MON pe_b_mean = 8.5686865276114E-05 -(PID.TID 0000.0001) %MON ke_max = 5.2424181917254E-06 -(PID.TID 0000.0001) %MON ke_mean = 1.0053157336481E-06 -(PID.TID 0000.0001) %MON ke_vol = 3.4145087258287E+14 -(PID.TID 0000.0001) %MON vort_r_min = -4.7032811928276E-07 -(PID.TID 0000.0001) %MON vort_r_max = 2.9658115191886E-07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.0691037717434E-03 +(PID.TID 0000.0001) %MON dynstat_eta_min = -5.9257185105486E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.6577675073357E-02 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.8902545032061E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 5.1945734633687E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.1871199808441E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.8485431518568E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.0254803982395E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.1203570028243E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.3840119333433E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4188716897063E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -9.1101572509845E-07 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.3157802778240E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.8261369785773E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 2.8335676355458E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.1292076384797E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -7.0381011189940E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.6687476529828E-07 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.6270836089820E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.0191795379854E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8999999993678E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9002109053176E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9000018655097E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4261124534743E-05 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 1.6955097931063E-08 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5273701613185E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4399972986061E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4758301879962E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.9908206887982E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 1.5002847101395E-07 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 4.6904145368462E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 5.5826938537491E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.9360049120338E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.4643377751131E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 5.5352661433355E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 3.0775245830878E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.0775256819300E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 8.5686921431944E-05 +(PID.TID 0000.0001) %MON ke_max = 5.2424320113658E-06 +(PID.TID 0000.0001) %MON ke_mean = 1.0053094681518E-06 +(PID.TID 0000.0001) %MON ke_vol = 3.4145087258286E+14 +(PID.TID 0000.0001) %MON vort_r_min = -4.7032892846183E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.9658004808908E-07 (PID.TID 0000.0001) %MON vort_a_mean = -1.3992981969631E-04 -(PID.TID 0000.0001) %MON vort_a_sd = 1.7369950936080E-06 -(PID.TID 0000.0001) %MON vort_p_mean = -1.4746959975408E-04 -(PID.TID 0000.0001) %MON vort_p_sd = 7.8016116377324E-05 -(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4580289719577E-06 -(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6951689795969E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7369940862817E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.4746959975409E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.8015145595761E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.4580289805318E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.6951690633032E-05 (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) // End MONITOR dynamic field statistics (PID.TID 0000.0001) // ======================================================= @@ -3490,11 +3567,11 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) // ======================================================= (PID.TID 0000.0001) %MON obc_time_tsnumber = 12 (PID.TID 0000.0001) %MON obc_time_secondsf = 2.1600000000000E+04 -(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0552463229414E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0552463229414E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0552463229411E-04 -(PID.TID 0000.0001) %MON obc_N_vVel_sd = 1.7733047726439E-10 -(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5322569250583E+05 +(PID.TID 0000.0001) %MON obc_N_vVel_max = 7.0552463643626E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_min = 7.0552463643626E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_mean = 7.0552463643625E-04 +(PID.TID 0000.0001) %MON obc_N_vVel_sd = 9.9230831961801E-11 +(PID.TID 0000.0001) %MON obc_N_vVel_Int = 3.5322569457961E+05 (PID.TID 0000.0001) %MON obc_N_theta_max = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_min = -1.9000000000000E+00 (PID.TID 0000.0001) %MON obc_N_theta_mean = -1.9000000000000E+00 @@ -3518,165 +3595,165 @@ listId= 1 ; file name: dynStDiag (PID.TID 0000.0001) MDS_WRITE_FIELD: it,rec,kS,kL,kH= 12 -243 1 1 1 file=pickup.ckptA (PID.TID 0000.0001) %CHECKPOINT 12 ckptA (PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 22.305881379637867 -(PID.TID 0000.0001) System time: 0.27640899270772934 -(PID.TID 0000.0001) Wall clock time: 22.588723897933960 +(PID.TID 0000.0001) User time: 20.430542615940794 +(PID.TID 0000.0001) System time: 0.29274000599980354 +(PID.TID 0000.0001) Wall clock time: 20.750205993652344 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 0.17155500175431371 -(PID.TID 0000.0001) System time: 7.0135999470949173E-002 -(PID.TID 0000.0001) Wall clock time: 0.24349212646484375 +(PID.TID 0000.0001) User time: 0.19061200134456158 +(PID.TID 0000.0001) System time: 0.11969100590795279 +(PID.TID 0000.0001) Wall clock time: 0.33474111557006836 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "THE_MAIN_LOOP [THE_MODEL_MAIN]": -(PID.TID 0000.0001) User time: 22.134298652410507 -(PID.TID 0000.0001) System time: 0.20619299262762070 -(PID.TID 0000.0001) Wall clock time: 22.345144987106323 +(PID.TID 0000.0001) User time: 20.239894539117813 +(PID.TID 0000.0001) System time: 0.17300800979137421 +(PID.TID 0000.0001) Wall clock time: 20.415400028228760 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 0.45652697980403900 -(PID.TID 0000.0001) System time: 9.5386005938053131E-002 -(PID.TID 0000.0001) Wall clock time: 0.55198383331298828 +(PID.TID 0000.0001) User time: 0.39253699779510498 +(PID.TID 0000.0001) System time: 9.2684999108314514E-002 +(PID.TID 0000.0001) Wall clock time: 0.48529601097106934 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 21.677749931812286 -(PID.TID 0000.0001) System time: 0.11080199480056763 -(PID.TID 0000.0001) Wall clock time: 21.793135166168213 +(PID.TID 0000.0001) User time: 19.847336888313293 +(PID.TID 0000.0001) System time: 8.0316007137298584E-002 +(PID.TID 0000.0001) Wall clock time: 19.930078029632568 (PID.TID 0000.0001) No. starts: 1 (PID.TID 0000.0001) No. stops: 1 (PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": -(PID.TID 0000.0001) User time: 21.677628457546234 -(PID.TID 0000.0001) System time: 0.11079800128936768 -(PID.TID 0000.0001) Wall clock time: 21.793015003204346 +(PID.TID 0000.0001) User time: 19.847243726253510 +(PID.TID 0000.0001) System time: 8.0305993556976318E-002 +(PID.TID 0000.0001) Wall clock time: 19.929978609085083 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": -(PID.TID 0000.0001) User time: 21.677403509616852 -(PID.TID 0000.0001) System time: 0.11079399287700653 -(PID.TID 0000.0001) Wall clock time: 21.792782545089722 +(PID.TID 0000.0001) User time: 19.847043931484222 +(PID.TID 0000.0001) System time: 8.0286994576454163E-002 +(PID.TID 0000.0001) Wall clock time: 19.929756164550781 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "DO_STATEVARS_DIAGS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.9276812076568604 -(PID.TID 0000.0001) System time: 3.7799924612045288E-003 -(PID.TID 0000.0001) Wall clock time: 1.9317488670349121 +(PID.TID 0000.0001) User time: 1.6712189912796021 +(PID.TID 0000.0001) System time: 3.4759938716888428E-003 +(PID.TID 0000.0001) Wall clock time: 1.6747801303863525 (PID.TID 0000.0001) No. starts: 24 (PID.TID 0000.0001) No. stops: 24 (PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 3.7568807601928711E-004 -(PID.TID 0000.0001) System time: 1.2993812561035156E-005 -(PID.TID 0000.0001) Wall clock time: 3.8766860961914062E-004 +(PID.TID 0000.0001) User time: 2.9724836349487305E-004 +(PID.TID 0000.0001) System time: 3.0100345611572266E-006 +(PID.TID 0000.0001) Wall clock time: 3.0136108398437500E-004 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": -(PID.TID 0000.0001) User time: 1.4370679855346680E-004 -(PID.TID 0000.0001) System time: 9.9986791610717773E-006 -(PID.TID 0000.0001) Wall clock time: 1.5425682067871094E-004 +(PID.TID 0000.0001) User time: 1.0108947753906250E-004 +(PID.TID 0000.0001) System time: 1.0132789611816406E-006 +(PID.TID 0000.0001) Wall clock time: 1.0275840759277344E-004 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.2481212615966797E-004 -(PID.TID 0000.0001) System time: 1.9967555999755859E-006 -(PID.TID 0000.0001) Wall clock time: 1.2469291687011719E-004 +(PID.TID 0000.0001) User time: 9.6857547760009766E-005 +(PID.TID 0000.0001) System time: 1.9669532775878906E-006 +(PID.TID 0000.0001) Wall clock time: 9.7751617431640625E-005 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.7018725275993347 -(PID.TID 0000.0001) System time: 2.0191997289657593E-002 -(PID.TID 0000.0001) Wall clock time: 2.7221992015838623 +(PID.TID 0000.0001) User time: 2.4185063242912292 +(PID.TID 0000.0001) System time: 8.6869746446609497E-003 +(PID.TID 0000.0001) Wall clock time: 2.4274628162384033 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "SHELFICE_THERMODYNAMICS [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 4.9598932266235352E-002 -(PID.TID 0000.0001) System time: 3.3770054578781128E-003 -(PID.TID 0000.0001) Wall clock time: 5.2994012832641602E-002 +(PID.TID 0000.0001) User time: 4.9685597419738770E-002 +(PID.TID 0000.0001) System time: 4.2974948883056641E-005 +(PID.TID 0000.0001) Wall clock time: 4.9741506576538086E-002 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "GGL90_CALC [DO_OCEANIC_PHYS]": -(PID.TID 0000.0001) User time: 1.9516119360923767 -(PID.TID 0000.0001) System time: 1.2575000524520874E-002 -(PID.TID 0000.0001) Wall clock time: 1.9643447399139404 +(PID.TID 0000.0001) User time: 1.7348418235778809 +(PID.TID 0000.0001) System time: 8.5669904947280884E-003 +(PID.TID 0000.0001) Wall clock time: 1.7436072826385498 (PID.TID 0000.0001) No. starts: 96 (PID.TID 0000.0001) No. stops: 96 (PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 3.9831710457801819 -(PID.TID 0000.0001) System time: 7.3620080947875977E-003 -(PID.TID 0000.0001) Wall clock time: 3.9909987449645996 +(PID.TID 0000.0001) User time: 3.6860443353652954 +(PID.TID 0000.0001) System time: 3.7820041179656982E-003 +(PID.TID 0000.0001) Wall clock time: 3.6905562877655029 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 5.8568824529647827 -(PID.TID 0000.0001) System time: 7.6609998941421509E-003 -(PID.TID 0000.0001) Wall clock time: 5.8676676750183105 +(PID.TID 0000.0001) User time: 5.4587912559509277 +(PID.TID 0000.0001) System time: 7.8500062227249146E-003 +(PID.TID 0000.0001) Wall clock time: 5.4670460224151611 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "UPDATE_R_STAR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.35596692562103271 -(PID.TID 0000.0001) System time: 4.3004751205444336E-005 -(PID.TID 0000.0001) Wall clock time: 0.35605692863464355 +(PID.TID 0000.0001) User time: 0.31221950054168701 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.31248474121093750 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "UPDATE_CG2D [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.12523150444030762 -(PID.TID 0000.0001) System time: 1.0800361633300781E-004 -(PID.TID 0000.0001) Wall clock time: 0.12535667419433594 +(PID.TID 0000.0001) User time: 0.10789370536804199 +(PID.TID 0000.0001) System time: 2.7701258659362793E-004 +(PID.TID 0000.0001) Wall clock time: 0.10819196701049805 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 3.6023436784744263 -(PID.TID 0000.0001) System time: 7.6739937067031860E-003 -(PID.TID 0000.0001) Wall clock time: 3.6103491783142090 +(PID.TID 0000.0001) User time: 3.2281248569488525 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.2283775806427002 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.21998977661132812 -(PID.TID 0000.0001) System time: 7.0035457611083984E-006 -(PID.TID 0000.0001) Wall clock time: 0.22003459930419922 +(PID.TID 0000.0001) User time: 0.20166182518005371 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.20169138908386230 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.42021584510803223 -(PID.TID 0000.0001) System time: 2.8599798679351807E-004 -(PID.TID 0000.0001) Wall clock time: 0.42053937911987305 +(PID.TID 0000.0001) User time: 0.38754129409790039 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.38760781288146973 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "CALC_R_STAR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.8564214706420898E-002 -(PID.TID 0000.0001) System time: 1.9967555999755859E-006 -(PID.TID 0000.0001) Wall clock time: 2.8612375259399414E-002 +(PID.TID 0000.0001) User time: 2.6234865188598633E-002 +(PID.TID 0000.0001) System time: 3.6016106605529785E-005 +(PID.TID 0000.0001) Wall clock time: 2.6274681091308594E-002 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 1.1229515075683594E-004 -(PID.TID 0000.0001) System time: 0.0000000000000000 -(PID.TID 0000.0001) Wall clock time: 1.0800361633300781E-004 +(PID.TID 0000.0001) User time: 9.2506408691406250E-005 +(PID.TID 0000.0001) System time: 2.0116567611694336E-006 +(PID.TID 0000.0001) Wall clock time: 9.3221664428710938E-005 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 0.19509172439575195 -(PID.TID 0000.0001) System time: 1.1890009045600891E-002 -(PID.TID 0000.0001) Wall clock time: 0.20701670646667480 +(PID.TID 0000.0001) User time: 0.17615604400634766 +(PID.TID 0000.0001) System time: 1.1795014142990112E-002 +(PID.TID 0000.0001) Wall clock time: 0.18803286552429199 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 2.1648280620574951 -(PID.TID 0000.0001) System time: 3.7450045347213745E-003 -(PID.TID 0000.0001) Wall clock time: 2.1689815521240234 +(PID.TID 0000.0001) User time: 2.0195646286010742 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.0202021598815918 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.6464443206787109E-002 -(PID.TID 0000.0001) System time: 8.0250054597854614E-003 -(PID.TID 0000.0001) Wall clock time: 5.4497718811035156E-002 +(PID.TID 0000.0001) User time: 6.1946868896484375E-002 +(PID.TID 0000.0001) System time: 1.2321949005126953E-002 +(PID.TID 0000.0001) Wall clock time: 7.4272155761718750E-002 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": -(PID.TID 0000.0001) User time: 4.5903205871582031E-002 -(PID.TID 0000.0001) System time: 3.9974987506866455E-002 -(PID.TID 0000.0001) Wall clock time: 8.5878849029541016E-002 +(PID.TID 0000.0001) User time: 8.8255167007446289E-002 +(PID.TID 0000.0001) System time: 3.2001972198486328E-002 +(PID.TID 0000.0001) Wall clock time: 0.12026047706604004 (PID.TID 0000.0001) No. starts: 12 (PID.TID 0000.0001) No. stops: 12 (PID.TID 0000.0001) // ====================================================== diff --git a/verification/isomip/results/output_tap_adj.txt b/verification/isomip/results/output_tap_adj.txt new file mode 100644 index 0000000000..a9ed691940 --- /dev/null +++ b/verification/isomip/results/output_tap_adj.txt @@ -0,0 +1,3724 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 05:47:58 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 4 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 25 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 25 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 3 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 3 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 30 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 50 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 100 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 8 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 4) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // Tile number: 000005 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // EAST: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // Tile number: 000006 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // EAST: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // Tile number: 000007 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // EAST: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // SOUTH: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000008 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // EAST: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // SOUTH: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > Tref = 30*-1.9, +(PID.TID 0000.0001) > Sref = 30*34.4, +(PID.TID 0000.0001) > viscAz=1.E-3, +(PID.TID 0000.0001) > viscAh=600.0, +(PID.TID 0000.0001) > no_slip_sides=.FALSE., +(PID.TID 0000.0001) > no_slip_bottom=.FALSE., +(PID.TID 0000.0001) > diffKhT=100.0, +(PID.TID 0000.0001) >#- diffKzT unused when compiled with ALLOW_3D_DIFFKR +(PID.TID 0000.0001) >#diffKzT=5.E-5, +(PID.TID 0000.0001) > diffKhS=100.0, +(PID.TID 0000.0001) > diffKzS=5.E-5, +(PID.TID 0000.0001) > bottomDragQuadratic=2.5E-3, +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > HeatCapacity_Cp = 3974.0, +(PID.TID 0000.0001) > rhoConst=1030., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > convertFW2Salt = 33.4, +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > exactConserv=.TRUE., +(PID.TID 0000.0001) > hFacMin=0.10, +(PID.TID 0000.0001) > nonHydrostatic=.FALSE., +(PID.TID 0000.0001) > useCDScheme = .TRUE., +(PID.TID 0000.0001) >#ph( +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) ># ivdc_kappa = 7200., +(PID.TID 0000.0001) > staggerTimeStep=.TRUE., +(PID.TID 0000.0001) > vectorInvariantMomentum=.TRUE., +(PID.TID 0000.0001) > nonlinFreeSurf=0, +(PID.TID 0000.0001) > hFacInf=0.05, +(PID.TID 0000.0001) > hFacSup=2.0, +(PID.TID 0000.0001) >#ph) +(PID.TID 0000.0001) > readBinaryPrec=64, +(PID.TID 0000.0001) > useSingleCpuIO=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0=8640, +(PID.TID 0000.0001) > nTimeSteps=5, +(PID.TID 0000.0001) > deltaT=1800.0, +(PID.TID 0000.0001) > abEps=0.1, +(PID.TID 0000.0001) > cAdjFreq = 1., +(PID.TID 0000.0001) > tauCD = 400000., +(PID.TID 0000.0001) > pChkptFreq=0.0, +(PID.TID 0000.0001) > chkptFreq=0.0, +(PID.TID 0000.0001) > dumpFreq=0.0, +(PID.TID 0000.0001) > taveFreq=0.0, +(PID.TID 0000.0001) > monitorFreq=1., +(PID.TID 0000.0001) > monitorSelect=2, +(PID.TID 0000.0001) > adjMonitorFreq=1800., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > ygOrigin = -80.0, +(PID.TID 0000.0001) > delX=50*0.3, +(PID.TID 0000.0001) > delY=100*0.1, +(PID.TID 0000.0001) > delZ=30*30.0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile='bathy.box', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useShelfIce=.TRUE., +(PID.TID 0000.0001) > useGrdchk=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled but not used ( useGMRedi = F ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/shelfice compiled and used ( useShelfIce = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled and used ( +vectorInvariantMomentum = T ) + pkg/mom_fluxform compiled but not used ( & not vectorInvariantMom = F ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_READPARMS: opening data.shelfice +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.shelfice +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.shelfice" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># =================================== +(PID.TID 0000.0001) ># | Parameters for SHELFICE package | +(PID.TID 0000.0001) ># =================================== +(PID.TID 0000.0001) > &SHELFICE_PARM01 +(PID.TID 0000.0001) > SHELFICEboundaryLayer = .TRUE., +(PID.TID 0000.0001) > SHELFICEtopoFile='icetopo.exp1', +(PID.TID 0000.0001) > SHELFICEloadAnomalyFile = 'phi0surf.exp1.jmd95z', +(PID.TID 0000.0001) > useISOMIPTD = .TRUE., +(PID.TID 0000.0001) > no_slip_shelfice = .false., +(PID.TID 0000.0001) > SHELFICEwriteState = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_READPARMS: finished reading data.shelfice +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(3) = 'xx_diffkr', +(PID.TID 0000.0001) > xx_genarr3d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,3) = 1.E-6,2.E-6,4.E-4,5.E-4,0., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_shifwflx', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(1) = 'xx_shicoefft', +(PID.TID 0000.0001) > xx_genarr2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr2d_preproc_c(1,1)= 'log10ctrl', +(PID.TID 0000.0001) > xx_genarr2d_preproc_r(1,1)= -4., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) >#revert to default 1 month +(PID.TID 0000.0001) ># lastinterval=7776000., +(PID.TID 0000.0001) > mult_test=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-2, +(PID.TID 0000.0001) > iglopos = 20, +(PID.TID 0000.0001) > jglopos = 24, +(PID.TID 0000.0001) > kglopos = 20, +(PID.TID 0000.0001) ># nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-01 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 1.4850000000000E+01 +(PID.TID 0000.0001) %MON XC_min = 1.5000000000000E-01 +(PID.TID 0000.0001) %MON XC_mean = 7.5000000000000E+00 +(PID.TID 0000.0001) %MON XC_sd = 4.3292609068985E+00 +(PID.TID 0000.0001) %MON XG_max = 1.4700000000000E+01 +(PID.TID 0000.0001) %MON XG_min = 1.1102230246252E-16 +(PID.TID 0000.0001) %MON XG_mean = 7.3500000000000E+00 +(PID.TID 0000.0001) %MON XG_sd = 4.3292609068985E+00 +(PID.TID 0000.0001) %MON DXC_max = 1.1380125394806E+04 +(PID.TID 0000.0001) %MON DXC_min = 5.8203914905589E+03 +(PID.TID 0000.0001) %MON DXC_mean = 8.6215028627207E+03 +(PID.TID 0000.0001) %MON DXC_sd = 1.6219001271572E+03 +(PID.TID 0000.0001) %MON DXF_max = 1.1380125394806E+04 +(PID.TID 0000.0001) %MON DXF_min = 5.8203914905589E+03 +(PID.TID 0000.0001) %MON DXF_mean = 8.6215028627207E+03 +(PID.TID 0000.0001) %MON DXF_sd = 1.6219001271572E+03 +(PID.TID 0000.0001) %MON DXG_max = 1.1352761512017E+04 +(PID.TID 0000.0001) %MON DXG_min = 5.7917296935586E+03 +(PID.TID 0000.0001) %MON DXG_mean = 8.5934208253080E+03 +(PID.TID 0000.0001) %MON DXG_sd = 1.6222785520817E+03 +(PID.TID 0000.0001) %MON DXV_max = 1.1352761512017E+04 +(PID.TID 0000.0001) %MON DXV_min = 5.7917296935586E+03 +(PID.TID 0000.0001) %MON DXV_mean = 8.5934208253080E+03 +(PID.TID 0000.0001) %MON DXV_sd = 1.6222785520817E+03 +(PID.TID 0000.0001) %MON YC_max = -7.0050000000001E+01 +(PID.TID 0000.0001) %MON YC_min = -7.9950000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = -7.5000000000000E+01 +(PID.TID 0000.0001) %MON YC_sd = 2.8866070047720E+00 +(PID.TID 0000.0001) %MON YG_max = -7.0100000000001E+01 +(PID.TID 0000.0001) %MON YG_min = -8.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -7.5050000000000E+01 +(PID.TID 0000.0001) %MON YG_sd = 2.8866070047721E+00 +(PID.TID 0000.0001) %MON DYC_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYC_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYC_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYC_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON DYF_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYF_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYF_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYF_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON DYG_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYG_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYG_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYG_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON DYU_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYU_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYU_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYU_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON RA_max = 1.2652134272379E+08 +(PID.TID 0000.0001) %MON RA_min = 6.4709633770803E+07 +(PID.TID 0000.0001) %MON RA_mean = 9.5851678311587E+07 +(PID.TID 0000.0001) %MON RA_sd = 1.8031873527992E+07 +(PID.TID 0000.0001) %MON RAW_max = 1.2652134272379E+08 +(PID.TID 0000.0001) %MON RAW_min = 6.4709633770803E+07 +(PID.TID 0000.0001) %MON RAW_mean = 9.5851678311587E+07 +(PID.TID 0000.0001) %MON RAW_sd = 1.8031873527992E+07 +(PID.TID 0000.0001) %MON RAS_max = 1.2621711802744E+08 +(PID.TID 0000.0001) %MON RAS_min = 6.4390979194019E+07 +(PID.TID 0000.0001) %MON RAS_mean = 9.5539469354603E+07 +(PID.TID 0000.0001) %MON RAS_sd = 1.8036080760153E+07 +(PID.TID 0000.0001) %MON RAZ_max = 1.2621711802744E+08 +(PID.TID 0000.0001) %MON RAZ_min = 6.4390979194019E+07 +(PID.TID 0000.0001) %MON RAZ_mean = 9.5539469354603E+07 +(PID.TID 0000.0001) %MON RAZ_sd = 1.8036080760153E+07 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 311052 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 0 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 0 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 0 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 7200 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 14400 +(PID.TID 0000.0001) ctrl-wet 8: atmos 14400 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 30 311052 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2989 2940 2928 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 3087 3038 3024 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 3185 3136 3120 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 3332 3283 3264 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 3430 3381 3360 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 3577 3528 3504 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 3675 3626 3600 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 3773 3724 3696 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 3920 3871 3840 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 16 4018 3969 3936 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 17 4165 4116 4080 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 18 4263 4214 4176 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 19 4361 4312 4272 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 20 4508 4459 4416 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 21 4606 4557 4512 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 22 4753 4704 4656 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 23 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 24 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 25 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 26 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 27 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 28 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 29 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 30 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 17a:surface wet I = 576 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 1 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 2 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 3 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 4 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 5 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 6 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 7 2989 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 8 3087 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 9 3185 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 10 3332 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 11 3430 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 12 3577 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 13 3675 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 14 3773 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 15 3920 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 16 4018 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 17 4165 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 18 4263 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 19 4361 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 20 4508 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 21 4606 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 22 4753 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 23 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 24 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 25 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 26 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 27 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 28 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 29 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 30 4851 +(PID.TID 0000.0001) ctrl-wet 17c: global SUM(K) shelfice 4851 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 5 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 311052 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 18750 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 007200 006792 006900 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 007500 007075 007500 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 013200 013032 012650 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 013750 013575 013750 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0003 014400 014400 013800 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0003 015000 015000 015000 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0004 014400 014400 013800 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0004 015000 015000 015000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 2D control, genarr2d no. 1 is in use +(PID.TID 0000.0001) file = xx_shicoefft +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0101 +(PID.TID 0000.0001) ncvarindex = 0201 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 3 is in use +(PID.TID 0000.0001) file = xx_diffkr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0203 +(PID.TID 0000.0001) ncvarindex = 0303 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_shifwflx +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = -1.3709057042516E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4360464034757E-04 +(PID.TID 0000.0001) %MON fCori_mean = -1.4069429304698E-04 +(PID.TID 0000.0001) %MON fCori_sd = 1.9069739624987E-06 +(PID.TID 0000.0001) %MON fCoriG_max = -1.3713394327439E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4362679550910E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -1.4072713798624E-04 +(PID.TID 0000.0001) %MON fCoriG_sd = 1.9008093726821E-06 +(PID.TID 0000.0001) %MON fCoriCos_max = 4.9761447480159E-05 +(PID.TID 0000.0001) %MON fCoriCos_min = 2.5450607565678E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 3.7698922201606E-05 +(PID.TID 0000.0001) %MON fCoriCos_sd = 7.0920218535055E-06 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 1.0404366262810520E-03 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 30 @ -1.900000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 30 @ 3.440000000000000E+01 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.027768983359415E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.027915190977028E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.028061298013372E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.028207304511914E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.028353210516147E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.028499016069585E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028644721215765E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.028790325998246E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.028935830460613E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.029081234646470E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.029226538599445E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.029371742363190E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.029516845981377E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.029661849497701E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.029806752955880E+03, /* K = 15 */ +(PID.TID 0000.0001) 1.029951556399652E+03, /* K = 16 */ +(PID.TID 0000.0001) 1.030096259872781E+03, /* K = 17 */ +(PID.TID 0000.0001) 1.030240863419048E+03, /* K = 18 */ +(PID.TID 0000.0001) 1.030385367082259E+03, /* K = 19 */ +(PID.TID 0000.0001) 1.030529770906240E+03, /* K = 20 */ +(PID.TID 0000.0001) 1.030674074934840E+03, /* K = 21 */ +(PID.TID 0000.0001) 1.030818279211929E+03, /* K = 22 */ +(PID.TID 0000.0001) 1.030962383781397E+03, /* K = 23 */ +(PID.TID 0000.0001) 1.031106388687158E+03, /* K = 24 */ +(PID.TID 0000.0001) 1.031250293973144E+03, /* K = 25 */ +(PID.TID 0000.0001) 1.031394099683310E+03, /* K = 26 */ +(PID.TID 0000.0001) 1.031537805861633E+03, /* K = 27 */ +(PID.TID 0000.0001) 1.031681412552109E+03, /* K = 28 */ +(PID.TID 0000.0001) 1.031824919798755E+03, /* K = 29 */ +(PID.TID 0000.0001) 1.031968327645610E+03 /* K = 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 30 @ 0.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 6.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 30 @ 1.000000000000000E-03 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 2.500000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 30 @ 0.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 30 @ 5.000000000000000E-05 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.974000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.030000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 30 @ 1.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.030000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 30 @ 1.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.340000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : hFac weighted average (Angular Mom. conserving) +(PID.TID 0000.0001) = 3 : energy conserving scheme using hFac weighted average +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useAbsVorticity= /* V.I Works with f+zeta in Coriolis */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectVortScheme= /* V.I Scheme selector for Vorticity-Term */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) = 0 : enstrophy (Shallow-Water Eq.) conserving scheme by Sadourny, JAS 75 +(PID.TID 0000.0001) = 1 : same as 0 with modified hFac +(PID.TID 0000.0001) = 2 : energy conserving scheme (used by Sadourny in JAS 75 paper) +(PID.TID 0000.0001) = 3 : energy (general) and enstrophy (2D, nonDiv.) conserving scheme +(PID.TID 0000.0001) from Sadourny (Burridge & Haseler, ECMWF Rep.4, 1977) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useJamartMomAdv= /* V.I Non-linear terms Jamart flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindVorticity= /* V.I Upwind bias vorticity flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) highOrderVorticity= /* V.I High order vort. advect. flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindShear= /* V.I Upwind vertical Shear advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectKEscheme= /* V.I Kinetic Energy scheme selector */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 64 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.800000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 1.800000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 30 @ 1.800000000000000E+03 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 1.800000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 4.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.955000000000001E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 8640 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 5 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 8645 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 1.555200000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 1.556100000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.708737864077669E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.030000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 1.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 29 @ 3.000000000000000E+01, /* K = 2: 30 */ +(PID.TID 0000.0001) 1.500000000000000E+01 /* K = 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 30 @ 3.000000000000000E+01 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 50 @ 3.000000000000000E-01 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 100 @ 1.000000000000000E-01 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 1.500000000000001E-01, /* I = 1 */ +(PID.TID 0000.0001) 4.500000000000001E-01, /* I = 2 */ +(PID.TID 0000.0001) 7.500000000000002E-01, /* I = 3 */ +(PID.TID 0000.0001) 1.050000000000000E+00, /* I = 4 */ +(PID.TID 0000.0001) 1.350000000000000E+00, /* I = 5 */ +(PID.TID 0000.0001) 1.650000000000000E+00, /* I = 6 */ +(PID.TID 0000.0001) 1.950000000000000E+00, /* I = 7 */ +(PID.TID 0000.0001) 2.250000000000000E+00, /* I = 8 */ +(PID.TID 0000.0001) 2.550000000000000E+00, /* I = 9 */ +(PID.TID 0000.0001) 2.850000000000000E+00, /* I = 10 */ +(PID.TID 0000.0001) 3.149999999999999E+00, /* I = 11 */ +(PID.TID 0000.0001) 3.449999999999999E+00, /* I = 12 */ +(PID.TID 0000.0001) 3.749999999999999E+00, /* I = 13 */ +(PID.TID 0000.0001) 4.049999999999999E+00, /* I = 14 */ +(PID.TID 0000.0001) 4.350000000000000E+00, /* I = 15 */ +(PID.TID 0000.0001) 4.649999999999999E+00, /* I = 16 */ +(PID.TID 0000.0001) 4.949999999999999E+00, /* I = 17 */ +(PID.TID 0000.0001) 5.249999999999998E+00, /* I = 18 */ +(PID.TID 0000.0001) 5.549999999999999E+00, /* I = 19 */ +(PID.TID 0000.0001) 5.849999999999998E+00, /* I = 20 */ +(PID.TID 0000.0001) 6.149999999999999E+00, /* I = 21 */ +(PID.TID 0000.0001) 6.449999999999998E+00, /* I = 22 */ +(PID.TID 0000.0001) 6.749999999999998E+00, /* I = 23 */ +(PID.TID 0000.0001) 7.049999999999997E+00, /* I = 24 */ +(PID.TID 0000.0001) 7.349999999999997E+00, /* I = 25 */ +(PID.TID 0000.0001) 7.649999999999997E+00, /* I = 26 */ +(PID.TID 0000.0001) 7.949999999999998E+00, /* I = 27 */ +(PID.TID 0000.0001) 8.249999999999998E+00, /* I = 28 */ +(PID.TID 0000.0001) 8.549999999999999E+00, /* I = 29 */ +(PID.TID 0000.0001) 8.850000000000000E+00, /* I = 30 */ +(PID.TID 0000.0001) 9.150000000000000E+00, /* I = 31 */ +(PID.TID 0000.0001) 9.450000000000001E+00, /* I = 32 */ +(PID.TID 0000.0001) 9.750000000000002E+00, /* I = 33 */ +(PID.TID 0000.0001) 1.005000000000000E+01, /* I = 34 */ +(PID.TID 0000.0001) 1.035000000000000E+01, /* I = 35 */ +(PID.TID 0000.0001) 1.065000000000000E+01, /* I = 36 */ +(PID.TID 0000.0001) 1.095000000000001E+01, /* I = 37 */ +(PID.TID 0000.0001) 1.125000000000001E+01, /* I = 38 */ +(PID.TID 0000.0001) 1.155000000000000E+01, /* I = 39 */ +(PID.TID 0000.0001) 1.185000000000001E+01, /* I = 40 */ +(PID.TID 0000.0001) 1.215000000000001E+01, /* I = 41 */ +(PID.TID 0000.0001) 1.245000000000001E+01, /* I = 42 */ +(PID.TID 0000.0001) 1.275000000000001E+01, /* I = 43 */ +(PID.TID 0000.0001) 1.305000000000001E+01, /* I = 44 */ +(PID.TID 0000.0001) 1.335000000000001E+01, /* I = 45 */ +(PID.TID 0000.0001) 1.365000000000001E+01, /* I = 46 */ +(PID.TID 0000.0001) 1.395000000000001E+01, /* I = 47 */ +(PID.TID 0000.0001) 1.425000000000001E+01, /* I = 48 */ +(PID.TID 0000.0001) 1.455000000000001E+01, /* I = 49 */ +(PID.TID 0000.0001) 1.485000000000001E+01 /* I = 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.995000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.985000000000001E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.975000000000001E+01, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.775000000000013E+01, /* J = 23 */ +(PID.TID 0000.0001) -7.765000000000013E+01, /* J = 24 */ +(PID.TID 0000.0001) -7.755000000000014E+01, /* J = 25 */ +(PID.TID 0000.0001) -7.745000000000014E+01, /* J = 26 */ +(PID.TID 0000.0001) -7.735000000000015E+01, /* J = 27 */ +(PID.TID 0000.0001) -7.725000000000016E+01, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.525000000000027E+01, /* J = 48 */ +(PID.TID 0000.0001) -7.515000000000028E+01, /* J = 49 */ +(PID.TID 0000.0001) -7.505000000000028E+01, /* J = 50 */ +(PID.TID 0000.0001) -7.495000000000029E+01, /* J = 51 */ +(PID.TID 0000.0001) -7.485000000000029E+01, /* J = 52 */ +(PID.TID 0000.0001) -7.475000000000030E+01, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.275000000000041E+01, /* J = 73 */ +(PID.TID 0000.0001) -7.265000000000042E+01, /* J = 74 */ +(PID.TID 0000.0001) -7.255000000000042E+01, /* J = 75 */ +(PID.TID 0000.0001) -7.245000000000043E+01, /* J = 76 */ +(PID.TID 0000.0001) -7.235000000000043E+01, /* J = 77 */ +(PID.TID 0000.0001) -7.225000000000044E+01, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.025000000000055E+01, /* J = 98 */ +(PID.TID 0000.0001) -7.015000000000056E+01, /* J = 99 */ +(PID.TID 0000.0001) -7.005000000000057E+01 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -1.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -4.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -7.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -1.050000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -1.350000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -1.650000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -1.950000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -2.250000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -2.550000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -2.850000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -3.150000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -3.450000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -3.750000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -4.050000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) -4.350000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) -4.650000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) -4.950000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) -5.250000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) -5.550000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) -5.850000000000000E+02, /* K = 20 */ +(PID.TID 0000.0001) -6.150000000000000E+02, /* K = 21 */ +(PID.TID 0000.0001) -6.450000000000000E+02, /* K = 22 */ +(PID.TID 0000.0001) -6.750000000000000E+02, /* K = 23 */ +(PID.TID 0000.0001) -7.050000000000000E+02, /* K = 24 */ +(PID.TID 0000.0001) -7.350000000000000E+02, /* K = 25 */ +(PID.TID 0000.0001) -7.650000000000000E+02, /* K = 26 */ +(PID.TID 0000.0001) -7.950000000000000E+02, /* K = 27 */ +(PID.TID 0000.0001) -8.250000000000000E+02, /* K = 28 */ +(PID.TID 0000.0001) -8.550000000000000E+02, /* K = 29 */ +(PID.TID 0000.0001) -8.850000000000000E+02 /* K = 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -6.000000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -9.000000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -1.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -1.800000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -2.100000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -2.400000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -2.700000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -3.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -3.300000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -3.900000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) -4.200000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) -4.500000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) -4.800000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) -5.100000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) -5.400000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) -5.700000000000000E+02, /* K = 20 */ +(PID.TID 0000.0001) -6.000000000000000E+02, /* K = 21 */ +(PID.TID 0000.0001) -6.300000000000000E+02, /* K = 22 */ +(PID.TID 0000.0001) -6.600000000000000E+02, /* K = 23 */ +(PID.TID 0000.0001) -6.900000000000000E+02, /* K = 24 */ +(PID.TID 0000.0001) -7.200000000000000E+02, /* K = 25 */ +(PID.TID 0000.0001) -7.500000000000000E+02, /* K = 26 */ +(PID.TID 0000.0001) -7.800000000000000E+02, /* K = 27 */ +(PID.TID 0000.0001) -8.100000000000000E+02, /* K = 28 */ +(PID.TID 0000.0001) -8.400000000000000E+02, /* K = 29 */ +(PID.TID 0000.0001) -8.700000000000000E+02, /* K = 30 */ +(PID.TID 0000.0001) -9.000000000000000E+02 /* K = 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 30 @ 1.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.820391490558872E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.820391490558872E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.877701765291692E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.934994135525598E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.076813247621209E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.133689397375063E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.190543816673855E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.247376332329164E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.304186771219292E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.360974960289787E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.491800393599013E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.548081485571185E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.604336538604706E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.660565381336924E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.716767842485036E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.772943750846600E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.890622914885218E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.946201814818334E+03, /* J = 74 */ +(PID.TID 0000.0001) 1.000175041689580E+04, /* J = 75 */ +(PID.TID 0000.0001) 1.005726855190695E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.011275605073392E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.016821274435215E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.127061807330668E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.132538898360582E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.138012539480601E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.791729693558576E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.791729693558576E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.849048855077854E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.906350199379949E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.048367077963129E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.105254027978149E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.162119334157175E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.218962823278620E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.275784322187360E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.332583657795253E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.463650136583461E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.519944183739159E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.576212277667308E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.632454246965530E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.688669920311038E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.744859126461139E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.862822156126382E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.918416141504455E+03, /* J = 74 */ +(PID.TID 0000.0001) 9.973979913666863E+03, /* J = 75 */ +(PID.TID 0000.0001) 1.002951330335672E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.008501614140969E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.014048825875450E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.124321973312895E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.129800783041847E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.135276151201679E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.820391490558872E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.820391490558872E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.877701765291692E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.934994135525598E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.076813247621209E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.133689397375063E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.190543816673855E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.247376332329164E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.304186771219292E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.360974960289787E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.491800393599013E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.548081485571185E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.604336538604706E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.660565381336924E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.716767842485036E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.772943750846600E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.890622914885218E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.946201814818334E+03, /* J = 74 */ +(PID.TID 0000.0001) 1.000175041689580E+04, /* J = 75 */ +(PID.TID 0000.0001) 1.005726855190695E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.011275605073392E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.016821274435215E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.127061807330668E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.132538898360582E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.138012539480601E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.791729693558576E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.791729693558576E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.849048855077854E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.906350199379949E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.048367077963129E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.105254027978149E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.162119334157175E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.218962823278620E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.275784322187360E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.332583657795253E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.463650136583461E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.519944183739159E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.576212277667308E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.632454246965530E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.688669920311038E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.744859126461139E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.862822156126382E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.918416141504455E+03, /* J = 74 */ +(PID.TID 0000.0001) 9.973979913666863E+03, /* J = 75 */ +(PID.TID 0000.0001) 1.002951330335672E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.008501614140969E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.014048825875450E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.124321973312895E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.129800783041847E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.135276151201679E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 50 @ 6.470963377080289E+07 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 6.470963377080289E+07, /* J = 1 */ +(PID.TID 0000.0001) 6.534679484410104E+07, /* J = 2 */ +(PID.TID 0000.0001) 6.598375685977945E+07, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.867821163932665E+07, /* J = 23 */ +(PID.TID 0000.0001) 7.931054622142966E+07, /* J = 24 */ +(PID.TID 0000.0001) 7.994263920984067E+07, /* J = 25 */ +(PID.TID 0000.0001) 8.057448867913349E+07, /* J = 26 */ +(PID.TID 0000.0001) 8.120609270456599E+07, /* J = 27 */ +(PID.TID 0000.0001) 8.183744936212724E+07, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.440967921416211E+07, /* J = 48 */ +(PID.TID 0000.0001) 9.503539809503193E+07, /* J = 49 */ +(PID.TID 0000.0001) 9.566082748163140E+07, /* J = 50 */ +(PID.TID 0000.0001) 9.628596546870193E+07, /* J = 51 */ +(PID.TID 0000.0001) 9.691081015209354E+07, /* J = 52 */ +(PID.TID 0000.0001) 9.753535962826957E+07, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.099614325987181E+08, /* J = 73 */ +(PID.TID 0000.0001) 1.105793446869293E+08, /* J = 74 */ +(PID.TID 0000.0001) 1.111969199312560E+08, /* J = 75 */ +(PID.TID 0000.0001) 1.118141564504991E+08, /* J = 76 */ +(PID.TID 0000.0001) 1.124310523644033E+08, /* J = 77 */ +(PID.TID 0000.0001) 1.130476057938687E+08, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.253038681465364E+08, /* J = 98 */ +(PID.TID 0000.0001) 1.259127972112936E+08, /* J = 99 */ +(PID.TID 0000.0001) 1.265213427237870E+08 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 50 @ 6.470963377080289E+07 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 6.470963377080289E+07, /* J = 1 */ +(PID.TID 0000.0001) 6.534679484410104E+07, /* J = 2 */ +(PID.TID 0000.0001) 6.598375685977945E+07, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.867821163932665E+07, /* J = 23 */ +(PID.TID 0000.0001) 7.931054622142966E+07, /* J = 24 */ +(PID.TID 0000.0001) 7.994263920984067E+07, /* J = 25 */ +(PID.TID 0000.0001) 8.057448867913349E+07, /* J = 26 */ +(PID.TID 0000.0001) 8.120609270456599E+07, /* J = 27 */ +(PID.TID 0000.0001) 8.183744936212724E+07, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.440967921416211E+07, /* J = 48 */ +(PID.TID 0000.0001) 9.503539809503193E+07, /* J = 49 */ +(PID.TID 0000.0001) 9.566082748163140E+07, /* J = 50 */ +(PID.TID 0000.0001) 9.628596546870193E+07, /* J = 51 */ +(PID.TID 0000.0001) 9.691081015209354E+07, /* J = 52 */ +(PID.TID 0000.0001) 9.753535962826957E+07, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.099614325987181E+08, /* J = 73 */ +(PID.TID 0000.0001) 1.105793446869293E+08, /* J = 74 */ +(PID.TID 0000.0001) 1.111969199312560E+08, /* J = 75 */ +(PID.TID 0000.0001) 1.118141564504991E+08, /* J = 76 */ +(PID.TID 0000.0001) 1.124310523644033E+08, /* J = 77 */ +(PID.TID 0000.0001) 1.130476057938687E+08, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.253038681465364E+08, /* J = 98 */ +(PID.TID 0000.0001) 1.259127972112936E+08, /* J = 99 */ +(PID.TID 0000.0001) 1.265213427237870E+08 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 50 @ 6.439097919401864E+07 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 6.439097919401864E+07, /* J = 1 */ +(PID.TID 0000.0001) 6.502823906837179E+07, /* J = 2 */ +(PID.TID 0000.0001) 6.566530085543716E+07, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.836195435256335E+07, /* J = 23 */ +(PID.TID 0000.0001) 7.899440900921808E+07, /* J = 24 */ +(PID.TID 0000.0001) 7.962662303520055E+07, /* J = 25 */ +(PID.TID 0000.0001) 8.025859450470714E+07, /* J = 26 */ +(PID.TID 0000.0001) 8.089032149259475E+07, /* J = 27 */ +(PID.TID 0000.0001) 8.152180207452223E+07, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.409671180895932E+07, /* J = 48 */ +(PID.TID 0000.0001) 9.472257472228888E+07, /* J = 49 */ +(PID.TID 0000.0001) 9.534814909420149E+07, /* J = 50 */ +(PID.TID 0000.0001) 9.597343301913190E+07, /* J = 51 */ +(PID.TID 0000.0001) 9.659842459236403E+07, /* J = 52 */ +(PID.TID 0000.0001) 9.722312190998378E+07, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.096523508263446E+08, /* J = 73 */ +(PID.TID 0000.0001) 1.102704306306916E+08, /* J = 74 */ +(PID.TID 0000.0001) 1.108881745321664E+08, /* J = 75 */ +(PID.TID 0000.0001) 1.115055806490511E+08, /* J = 76 */ +(PID.TID 0000.0001) 1.121226471005947E+08, /* J = 77 */ +(PID.TID 0000.0001) 1.127393720071080E+08, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.249992603617116E+08, /* J = 98 */ +(PID.TID 0000.0001) 1.256083805070198E+08, /* J = 99 */ +(PID.TID 0000.0001) 1.262171180274426E+08 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 4.665024516720074E+11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_CHECK: #define ALLOW_SHELFICE +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_CHECK: start of SHELFICE config. summary +(PID.TID 0000.0001) SHELFICEisOn = /* package is turned on */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useISOMIPTD = /* use simple isomip thermodynamics */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEconserve = /* use a conservative form of boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEboundaryLayer = /* use simple boundary layer scheme to suppress noise */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHI_withBL_realFWflux = /* use real FW Flux in boundary layer scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEadvDiffHeatFlux = /* use adv.-diff. instead of just diff. heat flux into the ice shelf */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEMassStepping = /* step forward ice shelf mass/thickness */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_shelfice = /* use no slip boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEdragLinear = /* linear drag coefficient */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEdragQuadratic = /* quadratic drag coefficient */ +(PID.TID 0000.0001) 2.500000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEselectDragQuadr = /* select quadratic drag option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICElatentHeat = /* latent heat of ice */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEheatCapacity_Cp = /* heat capacity of ice shelf */ +(PID.TID 0000.0001) 2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoShelfice = /* density of ice shelf */ +(PID.TID 0000.0001) 9.170000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEkappa = /* thermal conductivity of ice shelf */ +(PID.TID 0000.0001) 1.540000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEthetaSurface = /* surface temperature above i.s. */ +(PID.TID 0000.0001) -2.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEheatTransCoeff = /* heat transfer coefficient */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEsaltTransCoeff = /* salt transfer coefficient */ +(PID.TID 0000.0001) 5.050000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEuseGammaFrict = /* use velocity dependent exchange coefficients */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEremeshFrequency = /* Frequency (in s) of Remeshing */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEloadAnomalyFile = /* file name of loaded loadAnomaly field */ +(PID.TID 0000.0001) 'phi0surf.exp1.jmd95z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEmassFile = /* file name of loaded mass field */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEtopoFile = /* file name of loaded under-ice topography */ +(PID.TID 0000.0001) 'icetopo.exp1' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEMassDynTendFile = /* file name of loaded dynamic mass tendency field */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEwriteState = /* do simple standard output */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_dump_mdsio = /* use mdsio for snapshots */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_tave_mdsio = /* use mdsio for time averages */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_dump_mnc = /* use netcdf for snapshots */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_tave_mnc = /* use netcdf for time averages */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_dumpFreq = /* analoguous to dumpFreq */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_taveFreq = /* analoguous to taveFreq */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_CHECK: end of SHELFICE config. summary +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 8640 +(PID.TID 0000.0001) %MON time_secondsf = 1.5552000000000E+07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.1547478263152E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.6792518859505E-03 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.8025747994407E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0200397966504E-03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.5371559200346E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 7.0225293882088E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.1431056075099E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.8733309522011E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1583631990119E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.2791047697505E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.9338955473099E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3256941080851E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -9.6529086888561E-08 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.7751314813082E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9212700380926E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.2878246713501E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.2010769874736E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -2.5364649454100E-10 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.2032264231507E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.8639064911625E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8364995507330E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9142907392762E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 3.1084271484799E-02 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.3421694822619E-06 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4425235078521E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4119681589956E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4391243332601E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.3889856166526E-02 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.3297324617654E-06 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.4012427019763E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.3691067728586E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.2064619248418E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2064619248418E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 8.1423589033282E-09 +(PID.TID 0000.0001) %MON ke_max = 7.7392672876306E-04 +(PID.TID 0000.0001) %MON ke_mean = 4.4630146461457E-06 +(PID.TID 0000.0001) %MON ke_vol = 2.9239970672193E+14 +(PID.TID 0000.0001) %MON vort_r_min = -2.3549373278644E-06 +(PID.TID 0000.0001) %MON vort_r_max = 4.2468259247500E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -1.4007197040361E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7881275277953E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.5023212285235E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.5282169260664E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -7.3585088253212E-23 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -2.2568230410243E-11 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 +(PID.TID 0000.0001) cg2d_init_res = 5.92335148180962E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 208 +(PID.TID 0000.0001) cg2d_last_res = 8.67118334995589E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 8641 +(PID.TID 0000.0001) %MON time_secondsf = 1.5553800000000E+07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.1297850742410E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -3.3081999750955E-03 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.8012119279803E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 9.7699161294736E-04 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 8.2879579300028E-06 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9546194880807E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.2109459490407E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.5152845670729E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1686693297311E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.6836994750250E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.9571191009408E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3257529692135E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 4.6520784439842E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.7773579277322E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9154529408825E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.6533820220217E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.2001883200366E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 3.8634396603185E-09 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.0998932174183E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.8107197791751E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8769133075334E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0039165924098E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9143346373631E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 3.1203876728575E-02 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.2899794806641E-06 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4409203480396E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4118343183288E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4391225880258E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.3968247720089E-02 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.3656929664507E-06 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.6030980579292E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.4320283551797E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2011299202194E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.6030976006097E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.4067064729375E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.2011299202194E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2011299202194E-03 +(PID.TID 0000.0001) %MON pe_b_mean = -3.5739188131277E-07 +(PID.TID 0000.0001) %MON ke_max = 7.7643782254143E-04 +(PID.TID 0000.0001) %MON ke_mean = 4.4807859453178E-06 +(PID.TID 0000.0001) %MON ke_vol = 2.9239970672193E+14 +(PID.TID 0000.0001) %MON vort_r_min = -2.3577016281599E-06 +(PID.TID 0000.0001) %MON vort_r_max = 4.2945443154779E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -1.4007161344051E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7877721776027E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.5023173999685E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.5272519968902E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.3749551355460E-11 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.5792030112254E-09 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = 7.18175519054398E-13 5.85469312491952E-02 +(PID.TID 0000.0001) cg2d_init_res = 7.81417688289130E-02 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 199 +(PID.TID 0000.0001) cg2d_last_res = 7.78445486193687E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 8642 +(PID.TID 0000.0001) %MON time_secondsf = 1.5555600000000E+07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.1463566593327E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -3.5267532527804E-03 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.7996786975873E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0079944575935E-03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 8.3155054054675E-06 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9398894875373E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.2353521860617E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.5631416951466E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1759598738630E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.8726667219949E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.9907226964461E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3257460329612E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 8.2687335075059E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.7843875047707E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9177033280319E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.6583915023052E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.2002284533958E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 7.1864244807042E-09 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.0322040155113E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7562361863937E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8819015172070E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0063514953273E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9143620650998E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 3.1279691208325E-02 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.2685975253853E-06 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4407234515134E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4117550534654E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4391214975789E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.4016977572826E-02 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.3894799714349E-06 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.6757173728387E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.4866487175222E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2013707203745E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.6757169063021E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.4611118035192E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.2013707203745E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2013707203745E-03 +(PID.TID 0000.0001) %MON pe_b_mean = -3.3188794538940E-07 +(PID.TID 0000.0001) %MON ke_max = 7.8722588856023E-04 +(PID.TID 0000.0001) %MON ke_mean = 4.5085118281137E-06 +(PID.TID 0000.0001) %MON ke_vol = 2.9239970672193E+14 +(PID.TID 0000.0001) %MON vort_r_min = -2.3632402845810E-06 +(PID.TID 0000.0001) %MON vort_r_max = 4.3451691137484E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -1.4007161342172E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7878876010294E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.5023173997669E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.5271645258010E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 5.5568184872536E-11 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.6316470904549E-09 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = 7.17884085510434E-13 5.84566762389065E-02 +(PID.TID 0000.0001) cg2d_init_res = 1.72001669011769E-02 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 197 +(PID.TID 0000.0001) cg2d_last_res = 9.87978592923196E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 8643 +(PID.TID 0000.0001) %MON time_secondsf = 1.5557400000000E+07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.1536254520704E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -3.6569155368574E-03 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.8001897743849E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0188908682493E-03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 8.3041786785357E-06 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9318790821273E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.2573148356828E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.7316080117260E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1855697734319E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.0072785426804E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 4.0271984978677E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3256384500229E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.1221947830907E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.7917860446509E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9222095538517E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.7010320846439E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.2010148387396E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 7.9757593762081E-09 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.0039321927525E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7351911545006E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8848514649071E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0087787191714E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9143894063656E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 3.1355951256008E-02 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.2540043389993E-06 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4406075198585E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4116759381789E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4391204105539E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.4065624878087E-02 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.4144939274835E-06 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.7410659379499E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.5459376555190E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2060890324373E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.7410654631190E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.5201673303083E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.2060890324373E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2060890324373E-03 +(PID.TID 0000.0001) %MON pe_b_mean = -2.8726153962423E-07 +(PID.TID 0000.0001) %MON ke_max = 8.0027472782397E-04 +(PID.TID 0000.0001) %MON ke_mean = 4.5400846405013E-06 +(PID.TID 0000.0001) %MON ke_vol = 2.9239970672193E+14 +(PID.TID 0000.0001) %MON vort_r_min = -2.3750180231435E-06 +(PID.TID 0000.0001) %MON vort_r_max = 4.3890806785024E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -1.4007161343390E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7879862057510E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.5023173998976E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.5270974746461E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 8.3823021934751E-11 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.6883699757173E-09 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = 7.17634285329893E-13 5.84304386802421E-02 +(PID.TID 0000.0001) cg2d_init_res = 7.25588539040786E-03 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 197 +(PID.TID 0000.0001) cg2d_last_res = 7.69909117790853E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 8644 +(PID.TID 0000.0001) %MON time_secondsf = 1.5559200000000E+07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.1504267527195E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -3.6787364206768E-03 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.7998490565198E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0156579499907E-03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 8.3048231848139E-06 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9318076681058E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.2768243801314E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.8856544453925E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1975669536457E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.0705538453939E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 4.0635317383792E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3266613262401E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.3244460423588E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.7989413791475E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9286506342740E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.7473681193701E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.2024782201245E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 7.5330598346967E-09 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.0052151820307E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7340354138429E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8867166228380E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0111941493779E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9144166111002E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 3.1432488631202E-02 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.2458143760952E-06 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4405346990436E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4115974044829E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4391193290327E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.4114075536451E-02 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.4409787723110E-06 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.7991154336928E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.6060942475579E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2148693207471E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.7991149514940E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.5789920462773E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.2148693207471E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2148693207471E-03 +(PID.TID 0000.0001) %MON pe_b_mean = -2.3430238303108E-07 +(PID.TID 0000.0001) %MON ke_max = 8.1435797051605E-04 +(PID.TID 0000.0001) %MON ke_mean = 4.5739217653894E-06 +(PID.TID 0000.0001) %MON ke_vol = 2.9239970672193E+14 +(PID.TID 0000.0001) %MON vort_r_min = -2.3833892696785E-06 +(PID.TID 0000.0001) %MON vort_r_max = 4.4264960266998E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -1.4007161358926E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7880583308052E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.5023174015639E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.5270423341518E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 9.9912799456007E-11 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.5417166135624E-09 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = 7.16607329032115E-13 5.83701416025283E-02 +(PID.TID 0000.0001) cg2d_init_res = 7.32571989492601E-03 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 194 +(PID.TID 0000.0001) cg2d_last_res = 9.70841917182863E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 8645 +(PID.TID 0000.0001) %MON time_secondsf = 1.5561000000000E+07 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.1401198879528E-02 +(PID.TID 0000.0001) %MON dynstat_eta_min = -3.6394694418117E-03 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.8005730819832E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 1.0053283028158E-03 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 8.3058133517659E-06 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.9394311651727E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.2937809090799E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.9715795963834E-05 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.2111407840992E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.0620702694315E-06 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 4.1000376774801E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3283507781725E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.3895674176987E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 2.8055318207216E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.9364939604842E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.7975774055182E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.2044364812760E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 6.2978824021557E-09 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.0310962824225E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7499527465480E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = -1.8880270544366E+00 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0136027898164E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = -1.9144436800926E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 3.1509284751551E-02 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 6.2438241711797E-06 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.4404839125104E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.4115194477133E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4391182530099E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.4162327050691E-02 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.4689176371157E-06 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.8495685827964E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.6654652400109E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 7.2266188876560E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.8495680941939E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.6380963669641E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 7.2266188876560E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 7.2266188876560E-03 +(PID.TID 0000.0001) %MON pe_b_mean = -1.8329480305292E-07 +(PID.TID 0000.0001) %MON ke_max = 8.2873866078409E-04 +(PID.TID 0000.0001) %MON ke_mean = 4.6082200419969E-06 +(PID.TID 0000.0001) %MON ke_vol = 2.9239970672193E+14 +(PID.TID 0000.0001) %MON vort_r_min = -2.3864684389310E-06 +(PID.TID 0000.0001) %MON vort_r_max = 4.4564012490855E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -1.4007161401466E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 1.7881029417119E-06 +(PID.TID 0000.0001) %MON vort_p_mean = -1.5023174061264E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 7.5269968181092E-05 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.0065431742770E-10 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.2583579929228E-09 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %CHECKPOINT 8645 ckptA + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + cg2d: Sum(rhs),rhsMax = 7.16607329032115E-13 5.83701416025283E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + cg2d: Sum(rhs),rhsMax = 7.16607329032115E-13 5.83701416025283E-02 + cg2d: Sum(rhs),rhsMax = 7.16607329032115E-13 5.83701416025283E-02 + cg2d: Sum(rhs),rhsMax = -3.77475828372553E-14 1.86559974741546E-05 + cg2d: Sum(rhs),rhsMax = 7.17634285329893E-13 5.84304386802421E-02 + cg2d: Sum(rhs),rhsMax = 7.17634285329893E-13 5.84304386802421E-02 + cg2d: Sum(rhs),rhsMax = 7.17634285329893E-13 5.84304386802421E-02 + cg2d: Sum(rhs),rhsMax = -1.19348975147204E-15 5.40388911727356E-04 + cg2d: Sum(rhs),rhsMax = 7.17884085510434E-13 5.84566762389065E-02 + cg2d: Sum(rhs),rhsMax = 7.17884085510434E-13 5.84566762389065E-02 + cg2d: Sum(rhs),rhsMax = 7.17884085510434E-13 5.84566762389065E-02 + cg2d: Sum(rhs),rhsMax = -1.66533453693773E-15 1.01052818040741E-03 + cg2d: Sum(rhs),rhsMax = 7.18175519054398E-13 5.85469312491952E-02 + cg2d: Sum(rhs),rhsMax = 7.18175519054398E-13 5.85469312491952E-02 + cg2d: Sum(rhs),rhsMax = 7.18175519054398E-13 5.85469312491952E-02 + cg2d: Sum(rhs),rhsMax = -7.07767178198537E-16 1.41335830934060E-03 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = -1.35308431126191E-16 1.64317720494568E-03 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.18175519054398E-13 5.85469312491952E-02 + cg2d: Sum(rhs),rhsMax = 7.17884085510434E-13 5.84566762389065E-02 + cg2d: Sum(rhs),rhsMax = 7.17634285329893E-13 5.84304386802421E-02 + cg2d: Sum(rhs),rhsMax = 7.16607329032115E-13 5.83701416025283E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 +(PID.TID 0000.0001) grdchk reference fc: fcref = 3.69788973587931E+05 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj + grad-res exact position met: + grad-res 0 1579 20 24 20 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1579 100450 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 48 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 168 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 336 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 576 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 864 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1200 1 + ph-grd -->hit<-- 20 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 20 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01314006867904E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.13540337926588E-13 5.85469306473081E-02 + cg2d: Sum(rhs),rhsMax = 7.15774661763646E-13 5.84566758727899E-02 + cg2d: Sum(rhs),rhsMax = 7.17675918693317E-13 5.84304388517977E-02 + cg2d: Sum(rhs),rhsMax = 7.19882486954759E-13 5.83701418926658E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702172332D+05 + --> objf_test(bi,bj) = 0.280897909163614D+05 + --> objf_test(bi,bj) = 0.489404247094376D+05 + --> objf_test(bi,bj) = 0.505718413234705D+05 + --> objf_test(bi,bj) = 0.526377153453498D+05 + --> objf_test(bi,bj) = 0.548292505080781D+05 + --> objf_test(bi,bj) = 0.526358410628565D+05 + --> objf_test(bi,bj) = 0.548290013321757D+05 +(PID.TID 0000.0001) local fc = 0.369788935414963D+06 +(PID.TID 0000.0001) global fc = 0.369788935414963D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935414963E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01369518019135E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.16482428941845E-13 5.85469318488099E-02 + cg2d: Sum(rhs),rhsMax = 7.19591053410795E-13 5.84566766038431E-02 + cg2d: Sum(rhs),rhsMax = 7.18800019505750E-13 5.84304385091371E-02 + cg2d: Sum(rhs),rhsMax = 7.18550219325209E-13 5.83701413135775E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467417799D+05 + --> objf_test(bi,bj) = 0.280897909163570D+05 + --> objf_test(bi,bj) = 0.489404247096280D+05 + --> objf_test(bi,bj) = 0.505718413234689D+05 + --> objf_test(bi,bj) = 0.526377153453461D+05 + --> objf_test(bi,bj) = 0.548292505080728D+05 + --> objf_test(bi,bj) = 0.526358410628417D+05 + --> objf_test(bi,bj) = 0.548290013321629D+05 +(PID.TID 0000.0001) local fc = 0.369789011939657D+06 +(PID.TID 0000.0001) global fc = 0.369789011939657D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011939657E+05 +grad-res ------------------------------- + grad-res 0 1 20 24 20 1 1 1 3.69788973588E+05 3.69788935415E+05 3.69789011940E+05 + grad-res 0 1 1 1579 0 1 1 1 -3.82623473991E+00 -3.82623473706E+00 7.44305173050E-10 +(PID.TID 0000.0001) ADM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.82623473990978E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.82623473706190E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1580 100450 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1579 2 + ph-grd -->hit<-- 21 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 21 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.15427717068451E-13 5.85469306816518E-02 + cg2d: Sum(rhs),rhsMax = 7.15899561853917E-13 5.84566758534592E-02 + cg2d: Sum(rhs),rhsMax = 7.16940395939503E-13 5.84304387795058E-02 + cg2d: Sum(rhs),rhsMax = 7.18133885690975E-13 5.83701417881289E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702226430D+05 + --> objf_test(bi,bj) = 0.280897909163608D+05 + --> objf_test(bi,bj) = 0.489404247094376D+05 + --> objf_test(bi,bj) = 0.505718413234712D+05 + --> objf_test(bi,bj) = 0.526377153453498D+05 + --> objf_test(bi,bj) = 0.548292505080780D+05 + --> objf_test(bi,bj) = 0.526358410628565D+05 + --> objf_test(bi,bj) = 0.548290013321756D+05 +(PID.TID 0000.0001) local fc = 0.369788935420372D+06 +(PID.TID 0000.0001) global fc = 0.369788935420372D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935420372E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.17204073907851E-13 5.85469318149153E-02 + cg2d: Sum(rhs),rhsMax = 7.18300419144668E-13 5.84566766228549E-02 + cg2d: Sum(rhs),rhsMax = 7.17439996300584E-13 5.84304385810173E-02 + cg2d: Sum(rhs),rhsMax = 7.16038339731995E-13 5.83701414174443E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467363702D+05 + --> objf_test(bi,bj) = 0.280897909163576D+05 + --> objf_test(bi,bj) = 0.489404247096281D+05 + --> objf_test(bi,bj) = 0.505718413234683D+05 + --> objf_test(bi,bj) = 0.526377153453461D+05 + --> objf_test(bi,bj) = 0.548292505080728D+05 + --> objf_test(bi,bj) = 0.526358410628418D+05 + --> objf_test(bi,bj) = 0.548290013321630D+05 +(PID.TID 0000.0001) local fc = 0.369789011934248D+06 +(PID.TID 0000.0001) global fc = 0.369789011934248D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011934248E+05 +grad-res ------------------------------- + grad-res 0 2 21 24 20 1 1 1 3.69788973588E+05 3.69788935420E+05 3.69789011934E+05 + grad-res 0 2 2 1580 0 1 1 1 -3.82569377506E+00 -3.82569376670E+00 2.18517948181E-09 +(PID.TID 0000.0001) ADM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.82569377506273E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.82569376670290E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1581 100450 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1580 3 + ph-grd -->hit<-- 22 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 22 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01591562624060E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.17259585059082E-13 5.85469307146497E-02 + cg2d: Sum(rhs),rhsMax = 7.16482428941845E-13 5.84566758385613E-02 + cg2d: Sum(rhs),rhsMax = 7.15039139009832E-13 5.84304387146560E-02 + cg2d: Sum(rhs),rhsMax = 7.16829373637040E-13 5.83701416970187E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702262260D+05 + --> objf_test(bi,bj) = 0.280897909163497D+05 + --> objf_test(bi,bj) = 0.489404247094319D+05 + --> objf_test(bi,bj) = 0.505718413234719D+05 + --> objf_test(bi,bj) = 0.526377153453498D+05 + --> objf_test(bi,bj) = 0.548292505080780D+05 + --> objf_test(bi,bj) = 0.526358410628564D+05 + --> objf_test(bi,bj) = 0.548290013321755D+05 +(PID.TID 0000.0001) local fc = 0.369788935423939D+06 +(PID.TID 0000.0001) global fc = 0.369788935423939D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935423939E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01369518019135E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.15510983795298E-13 5.85469317822241E-02 + cg2d: Sum(rhs),rhsMax = 7.15635883885568E-13 5.84566766380173E-02 + cg2d: Sum(rhs),rhsMax = 7.16787740273617E-13 5.84304386457272E-02 + cg2d: Sum(rhs),rhsMax = 7.21089854494039E-13 5.83701415081794E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467327872D+05 + --> objf_test(bi,bj) = 0.280897909163687D+05 + --> objf_test(bi,bj) = 0.489404247096335D+05 + --> objf_test(bi,bj) = 0.505718413234675D+05 + --> objf_test(bi,bj) = 0.526377153453461D+05 + --> objf_test(bi,bj) = 0.548292505080729D+05 + --> objf_test(bi,bj) = 0.526358410628418D+05 + --> objf_test(bi,bj) = 0.548290013321631D+05 +(PID.TID 0000.0001) local fc = 0.369789011930681D+06 +(PID.TID 0000.0001) global fc = 0.369789011930681D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011930681E+05 +grad-res ------------------------------- + grad-res 0 3 22 24 20 1 1 1 3.69788973588E+05 3.69788935424E+05 3.69789011931E+05 + grad-res 0 3 3 1581 0 1 1 1 -3.82533709989E+00 -3.82533707598E+00 6.25193397052E-09 +(PID.TID 0000.0001) ADM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.82533709989334E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.82533707597759E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1582 100450 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1581 4 + ph-grd -->hit<-- 23 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 23 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01536051472829E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.16482428941845E-13 5.85469307462446E-02 + cg2d: Sum(rhs),rhsMax = 7.15677517248992E-13 5.84566758269662E-02 + cg2d: Sum(rhs),rhsMax = 7.19813098015720E-13 5.84304386565081E-02 + cg2d: Sum(rhs),rhsMax = 7.18286541356861E-13 5.83701416171630E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702285955D+05 + --> objf_test(bi,bj) = 0.280897909163007D+05 + --> objf_test(bi,bj) = 0.489404247094275D+05 + --> objf_test(bi,bj) = 0.505718413234691D+05 + --> objf_test(bi,bj) = 0.526377153453499D+05 + --> objf_test(bi,bj) = 0.548292505080779D+05 + --> objf_test(bi,bj) = 0.526358410628564D+05 + --> objf_test(bi,bj) = 0.548290013321754D+05 +(PID.TID 0000.0001) local fc = 0.369788935426252D+06 +(PID.TID 0000.0001) global fc = 0.369788935426252D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935426252E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.16524062305268E-13 5.85469317507589E-02 + cg2d: Sum(rhs),rhsMax = 7.17981230025089E-13 5.84566766494781E-02 + cg2d: Sum(rhs),rhsMax = 7.18800019505750E-13 5.84304387036616E-02 + cg2d: Sum(rhs),rhsMax = 7.16093850883226E-13 5.83701415881024E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467304178D+05 + --> objf_test(bi,bj) = 0.280897909164174D+05 + --> objf_test(bi,bj) = 0.489404247096381D+05 + --> objf_test(bi,bj) = 0.505718413234703D+05 + --> objf_test(bi,bj) = 0.526377153453460D+05 + --> objf_test(bi,bj) = 0.548292505080729D+05 + --> objf_test(bi,bj) = 0.526358410628419D+05 + --> objf_test(bi,bj) = 0.548290013321631D+05 +(PID.TID 0000.0001) local fc = 0.369789011928368D+06 +(PID.TID 0000.0001) global fc = 0.369789011928368D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011928368E+05 +grad-res ------------------------------- + grad-res 0 4 23 24 20 1 1 1 3.69788973588E+05 3.69788935426E+05 3.69789011928E+05 + grad-res 0 4 4 1582 0 1 1 1 -3.82510577435E+00 -3.82510575582E+00 4.84318052330E-09 +(PID.TID 0000.0001) ADM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.82510577434841E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.82510575582273E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1583 100450 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1582 5 + ph-grd -->hit<-- 24 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 24 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01480540321597E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.14622805375598E-13 5.85469307765247E-02 + cg2d: Sum(rhs),rhsMax = 7.20506987406111E-13 5.84566758186888E-02 + cg2d: Sum(rhs),rhsMax = 7.18952675171636E-13 5.84304386044679E-02 + cg2d: Sum(rhs),rhsMax = 7.18813897293558E-13 5.83701415470407E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702306634D+05 + --> objf_test(bi,bj) = 0.280897909157891D+05 + --> objf_test(bi,bj) = 0.489404247094572D+05 + --> objf_test(bi,bj) = 0.505718413234332D+05 + --> objf_test(bi,bj) = 0.526377153453499D+05 + --> objf_test(bi,bj) = 0.548292505080778D+05 + --> objf_test(bi,bj) = 0.526358410628563D+05 + --> objf_test(bi,bj) = 0.548290013321754D+05 +(PID.TID 0000.0001) local fc = 0.369788935427802D+06 +(PID.TID 0000.0001) global fc = 0.369788935427802D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935427802E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.12194192509230E-13 5.85469317206019E-02 + cg2d: Sum(rhs),rhsMax = 7.20409842891456E-13 5.84566766578026E-02 + cg2d: Sum(rhs),rhsMax = 7.18688997203287E-13 5.84304387555813E-02 + cg2d: Sum(rhs),rhsMax = 7.18688997203287E-13 5.83701416580051E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467283351D+05 + --> objf_test(bi,bj) = 0.280897909169439D+05 + --> objf_test(bi,bj) = 0.489404247096084D+05 + --> objf_test(bi,bj) = 0.505718413235061D+05 + --> objf_test(bi,bj) = 0.526377153453460D+05 + --> objf_test(bi,bj) = 0.548292505080730D+05 + --> objf_test(bi,bj) = 0.526358410628420D+05 + --> objf_test(bi,bj) = 0.548290013321632D+05 +(PID.TID 0000.0001) local fc = 0.369789011926818D+06 +(PID.TID 0000.0001) global fc = 0.369789011926818D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011926818E+05 +grad-res ------------------------------- + grad-res 0 5 24 24 20 1 1 1 3.69788973588E+05 3.69788935428E+05 3.69789011927E+05 + grad-res 0 5 5 1583 0 1 1 1 -3.82495077943E+00 -3.82495077793E+00 3.93936550047E-10 +(PID.TID 0000.0001) ADM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.82495077943234E+00 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.82495077792555E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-02 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 20 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 1 3.6978897358793E+05 3.6978893541496E+05 3.6978901193966E+05 +(PID.TID 0000.0001) grdchk output (g): 1 -3.8262347370619E+00 -3.8262347399098E+00 7.4430517305046E-10 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 21 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 2 3.6978897358793E+05 3.6978893542037E+05 3.6978901193425E+05 +(PID.TID 0000.0001) grdchk output (g): 2 -3.8256937667029E+00 -3.8256937750627E+00 2.1851794818062E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 22 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 3 3.6978897358793E+05 3.6978893542394E+05 3.6978901193068E+05 +(PID.TID 0000.0001) grdchk output (g): 3 -3.8253370759776E+00 -3.8253370998933E+00 6.2519339705247E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 23 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 4 3.6978897358793E+05 3.6978893542625E+05 3.6978901192837E+05 +(PID.TID 0000.0001) grdchk output (g): 4 -3.8251057558227E+00 -3.8251057743484E+00 4.8431805232951E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 24 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 5 3.6978897358793E+05 3.6978893542780E+05 3.6978901192682E+05 +(PID.TID 0000.0001) grdchk output (g): 5 -3.8249507779256E+00 -3.8249507794323E+00 3.9393655004716E-10 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 3.6885569405074E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 41.674845413770527 +(PID.TID 0000.0001) System time: 4.2744939349358901 +(PID.TID 0000.0001) Wall clock time: 46.152441978454590 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.12070500059053302 +(PID.TID 0000.0001) System time: 1.5841000829823315E-002 +(PID.TID 0000.0001) Wall clock time: 0.13726210594177246 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 26.506362766027451 +(PID.TID 0000.0001) System time: 1.5140011906623840E-002 +(PID.TID 0000.0001) Wall clock time: 26.591539144515991 +(PID.TID 0000.0001) No. starts: 60 +(PID.TID 0000.0001) No. stops: 60 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.4475196599960327E-002 +(PID.TID 0000.0001) System time: 7.5901299715042114E-004 +(PID.TID 0000.0001) Wall clock time: 1.5296220779418945E-002 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 4.1794776916503906E-004 +(PID.TID 0000.0001) System time: 2.0936131477355957E-005 +(PID.TID 0000.0001) Wall clock time: 4.3272972106933594E-004 +(PID.TID 0000.0001) No. starts: 70 +(PID.TID 0000.0001) No. stops: 70 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.4645508527755737E-002 +(PID.TID 0000.0001) System time: 8.1062316894531250E-005 +(PID.TID 0000.0001) Wall clock time: 5.5122137069702148E-002 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.8050889968872070E-002 +(PID.TID 0000.0001) System time: 2.7734786272048950E-004 +(PID.TID 0000.0001) Wall clock time: 3.8473606109619141E-002 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.2120076119899750 +(PID.TID 0000.0001) System time: 3.2065063714981079E-003 +(PID.TID 0000.0001) Wall clock time: 1.2193088531494141 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "SHELFICE_THERMODYNAMICS [DO_OCEANIC_PHYS]": +(PID.TID 0000.0001) User time: 8.0296397209167480E-002 +(PID.TID 0000.0001) System time: 2.7466565370559692E-004 +(PID.TID 0000.0001) Wall clock time: 8.0912351608276367E-002 +(PID.TID 0000.0001) No. starts: 70 +(PID.TID 0000.0001) No. stops: 70 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 10.887873172760010 +(PID.TID 0000.0001) System time: 1.3457983732223511E-004 +(PID.TID 0000.0001) Wall clock time: 10.916261196136475 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.2579149603843689 +(PID.TID 0000.0001) System time: 2.2845715284347534E-004 +(PID.TID 0000.0001) Wall clock time: 5.2707448005676270 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.37006825208663940 +(PID.TID 0000.0001) System time: 1.6307830810546875E-004 +(PID.TID 0000.0001) Wall clock time: 0.37118363380432129 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.61482894420623779 +(PID.TID 0000.0001) System time: 1.3196468353271484E-004 +(PID.TID 0000.0001) Wall clock time: 0.61673021316528320 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.33442670106887817 +(PID.TID 0000.0001) System time: 1.5120208263397217E-004 +(PID.TID 0000.0001) Wall clock time: 0.33681559562683105 +(PID.TID 0000.0001) No. starts: 130 +(PID.TID 0000.0001) No. stops: 130 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.1505485177040100 +(PID.TID 0000.0001) System time: 2.0986646413803101E-003 +(PID.TID 0000.0001) Wall clock time: 7.1717624664306641 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.9194575548171997 +(PID.TID 0000.0001) System time: 8.2015991210937500E-005 +(PID.TID 0000.0001) Wall clock time: 1.9240550994873047 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.22248792648315430 +(PID.TID 0000.0001) System time: 9.5367431640625000E-007 +(PID.TID 0000.0001) Wall clock time: 0.22305130958557129 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.52291601896286011 +(PID.TID 0000.0001) System time: 1.7687678337097168E-005 +(PID.TID 0000.0001) Wall clock time: 0.52448391914367676 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.2651195526123047E-002 +(PID.TID 0000.0001) System time: 3.9479583501815796E-003 +(PID.TID 0000.0001) Wall clock time: 2.6683330535888672E-002 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.0962448120117188E-002 +(PID.TID 0000.0001) System time: 4.0557235479354858E-003 +(PID.TID 0000.0001) Wall clock time: 5.5197477340698242E-002 +(PID.TID 0000.0001) No. starts: 65 +(PID.TID 0000.0001) No. stops: 65 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 25.361450195312500 +(PID.TID 0000.0001) System time: 4.5380115509033203E-002 +(PID.TID 0000.0001) Wall clock time: 25.475919008255005 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 1.1711235046386719 +(PID.TID 0000.0001) System time: 3.3753395080566406E-002 +(PID.TID 0000.0001) Wall clock time: 1.2101151943206787 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 24.022026062011719 +(PID.TID 0000.0001) System time: 4.7540664672851562E-003 +(PID.TID 0000.0001) Wall clock time: 24.090009689331055 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 23.999975204467773 +(PID.TID 0000.0001) System time: 2.0809173583984375E-003 +(PID.TID 0000.0001) Wall clock time: 24.065070629119873 +(PID.TID 0000.0001) No. starts: 55 +(PID.TID 0000.0001) No. stops: 55 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 2.1644592285156250E-002 +(PID.TID 0000.0001) System time: 2.6493072509765625E-003 +(PID.TID 0000.0001) Wall clock time: 2.4500131607055664E-002 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000005 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000006 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000007 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000008 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 118716 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 118716 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/isomip/results/output_tap_tlm.txt b/verification/isomip/results/output_tap_tlm.txt new file mode 100644 index 0000000000..2e1179f99e --- /dev/null +++ b/verification/isomip/results/output_tap_tlm.txt @@ -0,0 +1,3534 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 03:05:07 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 4 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 25 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 25 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 3 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 3 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 30 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 50 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 100 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 8 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 4) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // Tile number: 000005 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // EAST: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // Tile number: 000006 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // EAST: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // Tile number: 000007 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // EAST: Tile = 000008, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000004 +(PID.TID 0000.0001) // SOUTH: Tile = 000005, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000003 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000008 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // EAST: Tile = 000007, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000004 +(PID.TID 0000.0001) // SOUTH: Tile = 000006, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000003 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > Tref = 30*-1.9, +(PID.TID 0000.0001) > Sref = 30*34.4, +(PID.TID 0000.0001) > viscAz=1.E-3, +(PID.TID 0000.0001) > viscAh=600.0, +(PID.TID 0000.0001) > no_slip_sides=.FALSE., +(PID.TID 0000.0001) > no_slip_bottom=.FALSE., +(PID.TID 0000.0001) > diffKhT=100.0, +(PID.TID 0000.0001) >#- diffKzT unused when compiled with ALLOW_3D_DIFFKR +(PID.TID 0000.0001) >#diffKzT=5.E-5, +(PID.TID 0000.0001) > diffKhS=100.0, +(PID.TID 0000.0001) > diffKzS=5.E-5, +(PID.TID 0000.0001) > bottomDragQuadratic=2.5E-3, +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > HeatCapacity_Cp = 3974.0, +(PID.TID 0000.0001) > rhoConst=1030., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > convertFW2Salt = 33.4, +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > exactConserv=.TRUE., +(PID.TID 0000.0001) > hFacMin=0.10, +(PID.TID 0000.0001) > nonHydrostatic=.FALSE., +(PID.TID 0000.0001) > useCDScheme = .TRUE., +(PID.TID 0000.0001) >#ph( +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) ># ivdc_kappa = 7200., +(PID.TID 0000.0001) > staggerTimeStep=.TRUE., +(PID.TID 0000.0001) > vectorInvariantMomentum=.TRUE., +(PID.TID 0000.0001) > nonlinFreeSurf=0, +(PID.TID 0000.0001) > hFacInf=0.05, +(PID.TID 0000.0001) > hFacSup=2.0, +(PID.TID 0000.0001) >#ph) +(PID.TID 0000.0001) > readBinaryPrec=64, +(PID.TID 0000.0001) > useSingleCpuIO=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0=8640, +(PID.TID 0000.0001) > nTimeSteps=5, +(PID.TID 0000.0001) > deltaT=1800.0, +(PID.TID 0000.0001) > abEps=0.1, +(PID.TID 0000.0001) > cAdjFreq = 1., +(PID.TID 0000.0001) > tauCD = 400000., +(PID.TID 0000.0001) > pChkptFreq=0.0, +(PID.TID 0000.0001) > chkptFreq=0.0, +(PID.TID 0000.0001) > dumpFreq=0.0, +(PID.TID 0000.0001) > taveFreq=0.0, +(PID.TID 0000.0001) > monitorFreq=1., +(PID.TID 0000.0001) > monitorSelect=2, +(PID.TID 0000.0001) > adjMonitorFreq=1800., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > ygOrigin = -80.0, +(PID.TID 0000.0001) > delX=50*0.3, +(PID.TID 0000.0001) > delY=100*0.1, +(PID.TID 0000.0001) > delZ=30*30.0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile='bathy.box', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useShelfIce=.TRUE., +(PID.TID 0000.0001) > useGrdchk=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled but not used ( useGMRedi = F ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/shelfice compiled and used ( useShelfIce = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled and used ( +vectorInvariantMomentum = T ) + pkg/mom_fluxform compiled but not used ( & not vectorInvariantMom = F ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_READPARMS: opening data.shelfice +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.shelfice +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.shelfice" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># =================================== +(PID.TID 0000.0001) ># | Parameters for SHELFICE package | +(PID.TID 0000.0001) ># =================================== +(PID.TID 0000.0001) > &SHELFICE_PARM01 +(PID.TID 0000.0001) > SHELFICEboundaryLayer = .TRUE., +(PID.TID 0000.0001) > SHELFICEtopoFile='icetopo.exp1', +(PID.TID 0000.0001) > SHELFICEloadAnomalyFile = 'phi0surf.exp1.jmd95z', +(PID.TID 0000.0001) > useISOMIPTD = .TRUE., +(PID.TID 0000.0001) > no_slip_shelfice = .false., +(PID.TID 0000.0001) > SHELFICEwriteState = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_READPARMS: finished reading data.shelfice +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(3) = 'xx_diffkr', +(PID.TID 0000.0001) > xx_genarr3d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,3) = 1.E-6,2.E-6,4.E-4,5.E-4,0., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_shifwflx', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(1) = 'xx_shicoefft', +(PID.TID 0000.0001) > xx_genarr2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr2d_preproc_c(1,1)= 'log10ctrl', +(PID.TID 0000.0001) > xx_genarr2d_preproc_r(1,1)= -4., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) >#revert to default 1 month +(PID.TID 0000.0001) ># lastinterval=7776000., +(PID.TID 0000.0001) > mult_test=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-2, +(PID.TID 0000.0001) > iglopos = 20, +(PID.TID 0000.0001) > jglopos = 24, +(PID.TID 0000.0001) > kglopos = 20, +(PID.TID 0000.0001) ># nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-01 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 1.4850000000000E+01 +(PID.TID 0000.0001) %MON XC_min = 1.5000000000000E-01 +(PID.TID 0000.0001) %MON XC_mean = 7.5000000000000E+00 +(PID.TID 0000.0001) %MON XC_sd = 4.3292609068985E+00 +(PID.TID 0000.0001) %MON XG_max = 1.4700000000000E+01 +(PID.TID 0000.0001) %MON XG_min = 1.1102230246252E-16 +(PID.TID 0000.0001) %MON XG_mean = 7.3500000000000E+00 +(PID.TID 0000.0001) %MON XG_sd = 4.3292609068985E+00 +(PID.TID 0000.0001) %MON DXC_max = 1.1380125394806E+04 +(PID.TID 0000.0001) %MON DXC_min = 5.8203914905589E+03 +(PID.TID 0000.0001) %MON DXC_mean = 8.6215028627207E+03 +(PID.TID 0000.0001) %MON DXC_sd = 1.6219001271572E+03 +(PID.TID 0000.0001) %MON DXF_max = 1.1380125394806E+04 +(PID.TID 0000.0001) %MON DXF_min = 5.8203914905589E+03 +(PID.TID 0000.0001) %MON DXF_mean = 8.6215028627207E+03 +(PID.TID 0000.0001) %MON DXF_sd = 1.6219001271572E+03 +(PID.TID 0000.0001) %MON DXG_max = 1.1352761512017E+04 +(PID.TID 0000.0001) %MON DXG_min = 5.7917296935586E+03 +(PID.TID 0000.0001) %MON DXG_mean = 8.5934208253080E+03 +(PID.TID 0000.0001) %MON DXG_sd = 1.6222785520817E+03 +(PID.TID 0000.0001) %MON DXV_max = 1.1352761512017E+04 +(PID.TID 0000.0001) %MON DXV_min = 5.7917296935586E+03 +(PID.TID 0000.0001) %MON DXV_mean = 8.5934208253080E+03 +(PID.TID 0000.0001) %MON DXV_sd = 1.6222785520817E+03 +(PID.TID 0000.0001) %MON YC_max = -7.0050000000001E+01 +(PID.TID 0000.0001) %MON YC_min = -7.9950000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = -7.5000000000000E+01 +(PID.TID 0000.0001) %MON YC_sd = 2.8866070047720E+00 +(PID.TID 0000.0001) %MON YG_max = -7.0100000000001E+01 +(PID.TID 0000.0001) %MON YG_min = -8.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -7.5050000000000E+01 +(PID.TID 0000.0001) %MON YG_sd = 2.8866070047721E+00 +(PID.TID 0000.0001) %MON DYC_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYC_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYC_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYC_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON DYF_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYF_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYF_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYF_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON DYG_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYG_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYG_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYG_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON DYU_max = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYU_min = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYU_mean = 1.1117747335204E+04 +(PID.TID 0000.0001) %MON DYU_sd = 4.1836756281555E-11 +(PID.TID 0000.0001) %MON RA_max = 1.2652134272379E+08 +(PID.TID 0000.0001) %MON RA_min = 6.4709633770803E+07 +(PID.TID 0000.0001) %MON RA_mean = 9.5851678311587E+07 +(PID.TID 0000.0001) %MON RA_sd = 1.8031873527992E+07 +(PID.TID 0000.0001) %MON RAW_max = 1.2652134272379E+08 +(PID.TID 0000.0001) %MON RAW_min = 6.4709633770803E+07 +(PID.TID 0000.0001) %MON RAW_mean = 9.5851678311587E+07 +(PID.TID 0000.0001) %MON RAW_sd = 1.8031873527992E+07 +(PID.TID 0000.0001) %MON RAS_max = 1.2621711802744E+08 +(PID.TID 0000.0001) %MON RAS_min = 6.4390979194019E+07 +(PID.TID 0000.0001) %MON RAS_mean = 9.5539469354603E+07 +(PID.TID 0000.0001) %MON RAS_sd = 1.8036080760153E+07 +(PID.TID 0000.0001) %MON RAZ_max = 1.2621711802744E+08 +(PID.TID 0000.0001) %MON RAZ_min = 6.4390979194019E+07 +(PID.TID 0000.0001) %MON RAZ_mean = 9.5539469354603E+07 +(PID.TID 0000.0001) %MON RAZ_sd = 1.8036080760153E+07 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 311052 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 0 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 0 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 0 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 7200 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 14400 +(PID.TID 0000.0001) ctrl-wet 8: atmos 14400 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 30 311052 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2989 2940 2928 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 3087 3038 3024 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 3185 3136 3120 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 3332 3283 3264 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 3430 3381 3360 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 3577 3528 3504 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 3675 3626 3600 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 3773 3724 3696 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 3920 3871 3840 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 16 4018 3969 3936 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 17 4165 4116 4080 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 18 4263 4214 4176 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 19 4361 4312 4272 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 20 4508 4459 4416 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 21 4606 4557 4512 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 22 4753 4704 4656 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 23 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 24 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 25 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 26 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 27 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 28 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 29 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 30 4851 4802 4752 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 17a:surface wet I = 576 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 1 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 2 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 3 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 4 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 5 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 6 0 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 7 2989 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 8 3087 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 9 3185 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 10 3332 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 11 3430 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 12 3577 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 13 3675 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 14 3773 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 15 3920 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 16 4018 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 17 4165 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 18 4263 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 19 4361 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 20 4508 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 21 4606 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 22 4753 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 23 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 24 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 25 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 26 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 27 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 28 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 29 4851 +(PID.TID 0000.0001) ctrl-wet 17b: global nWet I k= 30 4851 +(PID.TID 0000.0001) ctrl-wet 17c: global SUM(K) shelfice 4851 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 5 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 311052 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 18750 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 007200 006792 006900 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 007500 007075 007500 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 013200 013032 012650 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 013750 013575 013750 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0003 014400 014400 013800 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0003 015000 015000 015000 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0004 014400 014400 013800 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0004 015000 015000 015000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 2D control, genarr2d no. 1 is in use +(PID.TID 0000.0001) file = xx_shicoefft +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0101 +(PID.TID 0000.0001) ncvarindex = 0201 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 3 is in use +(PID.TID 0000.0001) file = xx_diffkr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0203 +(PID.TID 0000.0001) ncvarindex = 0303 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_shifwflx +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = -1.3709057042516E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4360464034757E-04 +(PID.TID 0000.0001) %MON fCori_mean = -1.4069429304698E-04 +(PID.TID 0000.0001) %MON fCori_sd = 1.9069739624987E-06 +(PID.TID 0000.0001) %MON fCoriG_max = -1.3713394327439E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4362679550910E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -1.4072713798624E-04 +(PID.TID 0000.0001) %MON fCoriG_sd = 1.9008093726821E-06 +(PID.TID 0000.0001) %MON fCoriCos_max = 4.9761447480159E-05 +(PID.TID 0000.0001) %MON fCoriCos_min = 2.5450607565678E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 3.7698922201606E-05 +(PID.TID 0000.0001) %MON fCoriCos_sd = 7.0920218535055E-06 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 1.0404366262810520E-03 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 30 @ -1.900000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 30 @ 3.440000000000000E+01 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.027768983359415E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.027915190977028E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.028061298013372E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.028207304511914E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.028353210516147E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.028499016069585E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028644721215765E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.028790325998246E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.028935830460613E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.029081234646470E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.029226538599445E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.029371742363190E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.029516845981377E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.029661849497701E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.029806752955880E+03, /* K = 15 */ +(PID.TID 0000.0001) 1.029951556399652E+03, /* K = 16 */ +(PID.TID 0000.0001) 1.030096259872781E+03, /* K = 17 */ +(PID.TID 0000.0001) 1.030240863419048E+03, /* K = 18 */ +(PID.TID 0000.0001) 1.030385367082259E+03, /* K = 19 */ +(PID.TID 0000.0001) 1.030529770906240E+03, /* K = 20 */ +(PID.TID 0000.0001) 1.030674074934840E+03, /* K = 21 */ +(PID.TID 0000.0001) 1.030818279211929E+03, /* K = 22 */ +(PID.TID 0000.0001) 1.030962383781397E+03, /* K = 23 */ +(PID.TID 0000.0001) 1.031106388687158E+03, /* K = 24 */ +(PID.TID 0000.0001) 1.031250293973144E+03, /* K = 25 */ +(PID.TID 0000.0001) 1.031394099683310E+03, /* K = 26 */ +(PID.TID 0000.0001) 1.031537805861633E+03, /* K = 27 */ +(PID.TID 0000.0001) 1.031681412552109E+03, /* K = 28 */ +(PID.TID 0000.0001) 1.031824919798755E+03, /* K = 29 */ +(PID.TID 0000.0001) 1.031968327645610E+03 /* K = 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 30 @ 0.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 6.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 30 @ 1.000000000000000E-03 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 2.500000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 30 @ 0.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 30 @ 5.000000000000000E-05 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.974000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.030000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 30 @ 1.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.030000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 30 @ 1.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.340000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : hFac weighted average (Angular Mom. conserving) +(PID.TID 0000.0001) = 3 : energy conserving scheme using hFac weighted average +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useAbsVorticity= /* V.I Works with f+zeta in Coriolis */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectVortScheme= /* V.I Scheme selector for Vorticity-Term */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) = 0 : enstrophy (Shallow-Water Eq.) conserving scheme by Sadourny, JAS 75 +(PID.TID 0000.0001) = 1 : same as 0 with modified hFac +(PID.TID 0000.0001) = 2 : energy conserving scheme (used by Sadourny in JAS 75 paper) +(PID.TID 0000.0001) = 3 : energy (general) and enstrophy (2D, nonDiv.) conserving scheme +(PID.TID 0000.0001) from Sadourny (Burridge & Haseler, ECMWF Rep.4, 1977) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useJamartMomAdv= /* V.I Non-linear terms Jamart flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindVorticity= /* V.I Upwind bias vorticity flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) highOrderVorticity= /* V.I High order vort. advect. flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) upwindShear= /* V.I Upwind vertical Shear advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectKEscheme= /* V.I Kinetic Energy scheme selector */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 64 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 1.800000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 1.800000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 30 @ 1.800000000000000E+03 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 1.800000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 4.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.955000000000001E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 8640 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 5 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 8645 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 1.555200000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 1.556100000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.708737864077669E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.030000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 1.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 29 @ 3.000000000000000E+01, /* K = 2: 30 */ +(PID.TID 0000.0001) 1.500000000000000E+01 /* K = 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 30 @ 3.000000000000000E+01 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 50 @ 3.000000000000000E-01 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 100 @ 1.000000000000000E-01 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 1.500000000000001E-01, /* I = 1 */ +(PID.TID 0000.0001) 4.500000000000001E-01, /* I = 2 */ +(PID.TID 0000.0001) 7.500000000000002E-01, /* I = 3 */ +(PID.TID 0000.0001) 1.050000000000000E+00, /* I = 4 */ +(PID.TID 0000.0001) 1.350000000000000E+00, /* I = 5 */ +(PID.TID 0000.0001) 1.650000000000000E+00, /* I = 6 */ +(PID.TID 0000.0001) 1.950000000000000E+00, /* I = 7 */ +(PID.TID 0000.0001) 2.250000000000000E+00, /* I = 8 */ +(PID.TID 0000.0001) 2.550000000000000E+00, /* I = 9 */ +(PID.TID 0000.0001) 2.850000000000000E+00, /* I = 10 */ +(PID.TID 0000.0001) 3.149999999999999E+00, /* I = 11 */ +(PID.TID 0000.0001) 3.449999999999999E+00, /* I = 12 */ +(PID.TID 0000.0001) 3.749999999999999E+00, /* I = 13 */ +(PID.TID 0000.0001) 4.049999999999999E+00, /* I = 14 */ +(PID.TID 0000.0001) 4.350000000000000E+00, /* I = 15 */ +(PID.TID 0000.0001) 4.649999999999999E+00, /* I = 16 */ +(PID.TID 0000.0001) 4.949999999999999E+00, /* I = 17 */ +(PID.TID 0000.0001) 5.249999999999998E+00, /* I = 18 */ +(PID.TID 0000.0001) 5.549999999999999E+00, /* I = 19 */ +(PID.TID 0000.0001) 5.849999999999998E+00, /* I = 20 */ +(PID.TID 0000.0001) 6.149999999999999E+00, /* I = 21 */ +(PID.TID 0000.0001) 6.449999999999998E+00, /* I = 22 */ +(PID.TID 0000.0001) 6.749999999999998E+00, /* I = 23 */ +(PID.TID 0000.0001) 7.049999999999997E+00, /* I = 24 */ +(PID.TID 0000.0001) 7.349999999999997E+00, /* I = 25 */ +(PID.TID 0000.0001) 7.649999999999997E+00, /* I = 26 */ +(PID.TID 0000.0001) 7.949999999999998E+00, /* I = 27 */ +(PID.TID 0000.0001) 8.249999999999998E+00, /* I = 28 */ +(PID.TID 0000.0001) 8.549999999999999E+00, /* I = 29 */ +(PID.TID 0000.0001) 8.850000000000000E+00, /* I = 30 */ +(PID.TID 0000.0001) 9.150000000000000E+00, /* I = 31 */ +(PID.TID 0000.0001) 9.450000000000001E+00, /* I = 32 */ +(PID.TID 0000.0001) 9.750000000000002E+00, /* I = 33 */ +(PID.TID 0000.0001) 1.005000000000000E+01, /* I = 34 */ +(PID.TID 0000.0001) 1.035000000000000E+01, /* I = 35 */ +(PID.TID 0000.0001) 1.065000000000000E+01, /* I = 36 */ +(PID.TID 0000.0001) 1.095000000000001E+01, /* I = 37 */ +(PID.TID 0000.0001) 1.125000000000001E+01, /* I = 38 */ +(PID.TID 0000.0001) 1.155000000000000E+01, /* I = 39 */ +(PID.TID 0000.0001) 1.185000000000001E+01, /* I = 40 */ +(PID.TID 0000.0001) 1.215000000000001E+01, /* I = 41 */ +(PID.TID 0000.0001) 1.245000000000001E+01, /* I = 42 */ +(PID.TID 0000.0001) 1.275000000000001E+01, /* I = 43 */ +(PID.TID 0000.0001) 1.305000000000001E+01, /* I = 44 */ +(PID.TID 0000.0001) 1.335000000000001E+01, /* I = 45 */ +(PID.TID 0000.0001) 1.365000000000001E+01, /* I = 46 */ +(PID.TID 0000.0001) 1.395000000000001E+01, /* I = 47 */ +(PID.TID 0000.0001) 1.425000000000001E+01, /* I = 48 */ +(PID.TID 0000.0001) 1.455000000000001E+01, /* I = 49 */ +(PID.TID 0000.0001) 1.485000000000001E+01 /* I = 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.995000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.985000000000001E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.975000000000001E+01, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.775000000000013E+01, /* J = 23 */ +(PID.TID 0000.0001) -7.765000000000013E+01, /* J = 24 */ +(PID.TID 0000.0001) -7.755000000000014E+01, /* J = 25 */ +(PID.TID 0000.0001) -7.745000000000014E+01, /* J = 26 */ +(PID.TID 0000.0001) -7.735000000000015E+01, /* J = 27 */ +(PID.TID 0000.0001) -7.725000000000016E+01, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.525000000000027E+01, /* J = 48 */ +(PID.TID 0000.0001) -7.515000000000028E+01, /* J = 49 */ +(PID.TID 0000.0001) -7.505000000000028E+01, /* J = 50 */ +(PID.TID 0000.0001) -7.495000000000029E+01, /* J = 51 */ +(PID.TID 0000.0001) -7.485000000000029E+01, /* J = 52 */ +(PID.TID 0000.0001) -7.475000000000030E+01, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.275000000000041E+01, /* J = 73 */ +(PID.TID 0000.0001) -7.265000000000042E+01, /* J = 74 */ +(PID.TID 0000.0001) -7.255000000000042E+01, /* J = 75 */ +(PID.TID 0000.0001) -7.245000000000043E+01, /* J = 76 */ +(PID.TID 0000.0001) -7.235000000000043E+01, /* J = 77 */ +(PID.TID 0000.0001) -7.225000000000044E+01, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) -7.025000000000055E+01, /* J = 98 */ +(PID.TID 0000.0001) -7.015000000000056E+01, /* J = 99 */ +(PID.TID 0000.0001) -7.005000000000057E+01 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -1.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -4.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -7.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -1.050000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -1.350000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -1.650000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -1.950000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -2.250000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -2.550000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -2.850000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -3.150000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -3.450000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -3.750000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -4.050000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) -4.350000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) -4.650000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) -4.950000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) -5.250000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) -5.550000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) -5.850000000000000E+02, /* K = 20 */ +(PID.TID 0000.0001) -6.150000000000000E+02, /* K = 21 */ +(PID.TID 0000.0001) -6.450000000000000E+02, /* K = 22 */ +(PID.TID 0000.0001) -6.750000000000000E+02, /* K = 23 */ +(PID.TID 0000.0001) -7.050000000000000E+02, /* K = 24 */ +(PID.TID 0000.0001) -7.350000000000000E+02, /* K = 25 */ +(PID.TID 0000.0001) -7.650000000000000E+02, /* K = 26 */ +(PID.TID 0000.0001) -7.950000000000000E+02, /* K = 27 */ +(PID.TID 0000.0001) -8.250000000000000E+02, /* K = 28 */ +(PID.TID 0000.0001) -8.550000000000000E+02, /* K = 29 */ +(PID.TID 0000.0001) -8.850000000000000E+02 /* K = 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -6.000000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -9.000000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -1.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -1.800000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -2.100000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -2.400000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -2.700000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -3.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -3.300000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -3.900000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) -4.200000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) -4.500000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) -4.800000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) -5.100000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) -5.400000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) -5.700000000000000E+02, /* K = 20 */ +(PID.TID 0000.0001) -6.000000000000000E+02, /* K = 21 */ +(PID.TID 0000.0001) -6.300000000000000E+02, /* K = 22 */ +(PID.TID 0000.0001) -6.600000000000000E+02, /* K = 23 */ +(PID.TID 0000.0001) -6.900000000000000E+02, /* K = 24 */ +(PID.TID 0000.0001) -7.200000000000000E+02, /* K = 25 */ +(PID.TID 0000.0001) -7.500000000000000E+02, /* K = 26 */ +(PID.TID 0000.0001) -7.800000000000000E+02, /* K = 27 */ +(PID.TID 0000.0001) -8.100000000000000E+02, /* K = 28 */ +(PID.TID 0000.0001) -8.400000000000000E+02, /* K = 29 */ +(PID.TID 0000.0001) -8.700000000000000E+02, /* K = 30 */ +(PID.TID 0000.0001) -9.000000000000000E+02 /* K = 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 30 @ 1.000000000000000E+00 /* K = 1: 30 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 31 @ 1.000000000000000E+00 /* K = 1: 31 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.820391490558872E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.820391490558872E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.877701765291692E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.934994135525598E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.076813247621209E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.133689397375063E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.190543816673855E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.247376332329164E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.304186771219292E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.360974960289787E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.491800393599013E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.548081485571185E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.604336538604706E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.660565381336924E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.716767842485036E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.772943750846600E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.890622914885218E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.946201814818334E+03, /* J = 74 */ +(PID.TID 0000.0001) 1.000175041689580E+04, /* J = 75 */ +(PID.TID 0000.0001) 1.005726855190695E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.011275605073392E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.016821274435215E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.127061807330668E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.132538898360582E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.138012539480601E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.791729693558576E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.791729693558576E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.849048855077854E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.906350199379949E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.048367077963129E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.105254027978149E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.162119334157175E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.218962823278620E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.275784322187360E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.332583657795253E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.463650136583461E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.519944183739159E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.576212277667308E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.632454246965530E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.688669920311038E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.744859126461139E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.862822156126382E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.918416141504455E+03, /* J = 74 */ +(PID.TID 0000.0001) 9.973979913666863E+03, /* J = 75 */ +(PID.TID 0000.0001) 1.002951330335672E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.008501614140969E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.014048825875450E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.124321973312895E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.129800783041847E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.135276151201679E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.820391490558872E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.820391490558872E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.877701765291692E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.934994135525598E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.076813247621209E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.133689397375063E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.190543816673855E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.247376332329164E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.304186771219292E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.360974960289787E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.491800393599013E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.548081485571185E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.604336538604706E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.660565381336924E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.716767842485036E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.772943750846600E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.890622914885218E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.946201814818334E+03, /* J = 74 */ +(PID.TID 0000.0001) 1.000175041689580E+04, /* J = 75 */ +(PID.TID 0000.0001) 1.005726855190695E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.011275605073392E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.016821274435215E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.127061807330668E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.132538898360582E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.138012539480601E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 5.791729693558576E+03 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 5.791729693558576E+03, /* J = 1 */ +(PID.TID 0000.0001) 5.849048855077854E+03, /* J = 2 */ +(PID.TID 0000.0001) 5.906350199379949E+03, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.048367077963129E+03, /* J = 23 */ +(PID.TID 0000.0001) 7.105254027978149E+03, /* J = 24 */ +(PID.TID 0000.0001) 7.162119334157175E+03, /* J = 25 */ +(PID.TID 0000.0001) 7.218962823278620E+03, /* J = 26 */ +(PID.TID 0000.0001) 7.275784322187360E+03, /* J = 27 */ +(PID.TID 0000.0001) 7.332583657795253E+03, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.463650136583461E+03, /* J = 48 */ +(PID.TID 0000.0001) 8.519944183739159E+03, /* J = 49 */ +(PID.TID 0000.0001) 8.576212277667308E+03, /* J = 50 */ +(PID.TID 0000.0001) 8.632454246965530E+03, /* J = 51 */ +(PID.TID 0000.0001) 8.688669920311038E+03, /* J = 52 */ +(PID.TID 0000.0001) 8.744859126461139E+03, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.862822156126382E+03, /* J = 73 */ +(PID.TID 0000.0001) 9.918416141504455E+03, /* J = 74 */ +(PID.TID 0000.0001) 9.973979913666863E+03, /* J = 75 */ +(PID.TID 0000.0001) 1.002951330335672E+04, /* J = 76 */ +(PID.TID 0000.0001) 1.008501614140969E+04, /* J = 77 */ +(PID.TID 0000.0001) 1.014048825875450E+04, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.124321973312895E+04, /* J = 98 */ +(PID.TID 0000.0001) 1.129800783041847E+04, /* J = 99 */ +(PID.TID 0000.0001) 1.135276151201679E+04 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 50 @ 1.111774733520388E+04 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 100 @ 1.111774733520388E+04 /* J = 1:100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 50 @ 6.470963377080289E+07 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 6.470963377080289E+07, /* J = 1 */ +(PID.TID 0000.0001) 6.534679484410104E+07, /* J = 2 */ +(PID.TID 0000.0001) 6.598375685977945E+07, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.867821163932665E+07, /* J = 23 */ +(PID.TID 0000.0001) 7.931054622142966E+07, /* J = 24 */ +(PID.TID 0000.0001) 7.994263920984067E+07, /* J = 25 */ +(PID.TID 0000.0001) 8.057448867913349E+07, /* J = 26 */ +(PID.TID 0000.0001) 8.120609270456599E+07, /* J = 27 */ +(PID.TID 0000.0001) 8.183744936212724E+07, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.440967921416211E+07, /* J = 48 */ +(PID.TID 0000.0001) 9.503539809503193E+07, /* J = 49 */ +(PID.TID 0000.0001) 9.566082748163140E+07, /* J = 50 */ +(PID.TID 0000.0001) 9.628596546870193E+07, /* J = 51 */ +(PID.TID 0000.0001) 9.691081015209354E+07, /* J = 52 */ +(PID.TID 0000.0001) 9.753535962826957E+07, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.099614325987181E+08, /* J = 73 */ +(PID.TID 0000.0001) 1.105793446869293E+08, /* J = 74 */ +(PID.TID 0000.0001) 1.111969199312560E+08, /* J = 75 */ +(PID.TID 0000.0001) 1.118141564504991E+08, /* J = 76 */ +(PID.TID 0000.0001) 1.124310523644033E+08, /* J = 77 */ +(PID.TID 0000.0001) 1.130476057938687E+08, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.253038681465364E+08, /* J = 98 */ +(PID.TID 0000.0001) 1.259127972112936E+08, /* J = 99 */ +(PID.TID 0000.0001) 1.265213427237870E+08 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 50 @ 6.470963377080289E+07 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 6.470963377080289E+07, /* J = 1 */ +(PID.TID 0000.0001) 6.534679484410104E+07, /* J = 2 */ +(PID.TID 0000.0001) 6.598375685977945E+07, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.867821163932665E+07, /* J = 23 */ +(PID.TID 0000.0001) 7.931054622142966E+07, /* J = 24 */ +(PID.TID 0000.0001) 7.994263920984067E+07, /* J = 25 */ +(PID.TID 0000.0001) 8.057448867913349E+07, /* J = 26 */ +(PID.TID 0000.0001) 8.120609270456599E+07, /* J = 27 */ +(PID.TID 0000.0001) 8.183744936212724E+07, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.440967921416211E+07, /* J = 48 */ +(PID.TID 0000.0001) 9.503539809503193E+07, /* J = 49 */ +(PID.TID 0000.0001) 9.566082748163140E+07, /* J = 50 */ +(PID.TID 0000.0001) 9.628596546870193E+07, /* J = 51 */ +(PID.TID 0000.0001) 9.691081015209354E+07, /* J = 52 */ +(PID.TID 0000.0001) 9.753535962826957E+07, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.099614325987181E+08, /* J = 73 */ +(PID.TID 0000.0001) 1.105793446869293E+08, /* J = 74 */ +(PID.TID 0000.0001) 1.111969199312560E+08, /* J = 75 */ +(PID.TID 0000.0001) 1.118141564504991E+08, /* J = 76 */ +(PID.TID 0000.0001) 1.124310523644033E+08, /* J = 77 */ +(PID.TID 0000.0001) 1.130476057938687E+08, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.253038681465364E+08, /* J = 98 */ +(PID.TID 0000.0001) 1.259127972112936E+08, /* J = 99 */ +(PID.TID 0000.0001) 1.265213427237870E+08 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 50 @ 6.439097919401864E+07 /* I = 1: 50 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 6.439097919401864E+07, /* J = 1 */ +(PID.TID 0000.0001) 6.502823906837179E+07, /* J = 2 */ +(PID.TID 0000.0001) 6.566530085543716E+07, /* J = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 7.836195435256335E+07, /* J = 23 */ +(PID.TID 0000.0001) 7.899440900921808E+07, /* J = 24 */ +(PID.TID 0000.0001) 7.962662303520055E+07, /* J = 25 */ +(PID.TID 0000.0001) 8.025859450470714E+07, /* J = 26 */ +(PID.TID 0000.0001) 8.089032149259475E+07, /* J = 27 */ +(PID.TID 0000.0001) 8.152180207452223E+07, /* J = 28 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 9.409671180895932E+07, /* J = 48 */ +(PID.TID 0000.0001) 9.472257472228888E+07, /* J = 49 */ +(PID.TID 0000.0001) 9.534814909420149E+07, /* J = 50 */ +(PID.TID 0000.0001) 9.597343301913190E+07, /* J = 51 */ +(PID.TID 0000.0001) 9.659842459236403E+07, /* J = 52 */ +(PID.TID 0000.0001) 9.722312190998378E+07, /* J = 53 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.096523508263446E+08, /* J = 73 */ +(PID.TID 0000.0001) 1.102704306306916E+08, /* J = 74 */ +(PID.TID 0000.0001) 1.108881745321664E+08, /* J = 75 */ +(PID.TID 0000.0001) 1.115055806490511E+08, /* J = 76 */ +(PID.TID 0000.0001) 1.121226471005947E+08, /* J = 77 */ +(PID.TID 0000.0001) 1.127393720071080E+08, /* J = 78 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.249992603617116E+08, /* J = 98 */ +(PID.TID 0000.0001) 1.256083805070198E+08, /* J = 99 */ +(PID.TID 0000.0001) 1.262171180274426E+08 /* J =100 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 4.665024516720074E+11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_CHECK: #define ALLOW_SHELFICE +(PID.TID 0000.0001) +(PID.TID 0000.0001) SHELFICE_CHECK: start of SHELFICE config. summary +(PID.TID 0000.0001) SHELFICEisOn = /* package is turned on */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useISOMIPTD = /* use simple isomip thermodynamics */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEconserve = /* use a conservative form of boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEboundaryLayer = /* use simple boundary layer scheme to suppress noise */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHI_withBL_realFWflux = /* use real FW Flux in boundary layer scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEadvDiffHeatFlux = /* use adv.-diff. instead of just diff. heat flux into the ice shelf */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEMassStepping = /* step forward ice shelf mass/thickness */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_shelfice = /* use no slip boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEdragLinear = /* linear drag coefficient */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEdragQuadratic = /* quadratic drag coefficient */ +(PID.TID 0000.0001) 2.500000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEselectDragQuadr = /* select quadratic drag option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICElatentHeat = /* latent heat of ice */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEheatCapacity_Cp = /* heat capacity of ice shelf */ +(PID.TID 0000.0001) 2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoShelfice = /* density of ice shelf */ +(PID.TID 0000.0001) 9.170000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEkappa = /* thermal conductivity of ice shelf */ +(PID.TID 0000.0001) 1.540000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEthetaSurface = /* surface temperature above i.s. */ +(PID.TID 0000.0001) -2.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEheatTransCoeff = /* heat transfer coefficient */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEsaltTransCoeff = /* salt transfer coefficient */ +(PID.TID 0000.0001) 5.050000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEuseGammaFrict = /* use velocity dependent exchange coefficients */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEremeshFrequency = /* Frequency (in s) of Remeshing */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEloadAnomalyFile = /* file name of loaded loadAnomaly field */ +(PID.TID 0000.0001) 'phi0surf.exp1.jmd95z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEmassFile = /* file name of loaded mass field */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEtopoFile = /* file name of loaded under-ice topography */ +(PID.TID 0000.0001) 'icetopo.exp1' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEMassDynTendFile = /* file name of loaded dynamic mass tendency field */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICEwriteState = /* do simple standard output */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_dump_mdsio = /* use mdsio for snapshots */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_tave_mdsio = /* use mdsio for time averages */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_dump_mnc = /* use netcdf for snapshots */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_tave_mnc = /* use netcdf for time averages */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_dumpFreq = /* analoguous to dumpFreq */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_taveFreq = /* analoguous to taveFreq */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SHELFICE_CHECK: end of SHELFICE config. summary +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.18175519054398E-13 5.85469312491952E-02 + cg2d: Sum(rhs),rhsMax = 7.17884085510434E-13 5.84566762389065E-02 + cg2d: Sum(rhs),rhsMax = 7.17634285329893E-13 5.84304386802421E-02 + cg2d: Sum(rhs),rhsMax = 7.16607329032115E-13 5.83701416025283E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 +(PID.TID 0000.0001) grdchk reference fc: fcref = 3.69788973587931E+05 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc tlm grad fd grad 1 - fd/tlm + grad-res exact position met: + grad-res 0 1579 20 24 20 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1579 100450 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 48 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 168 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 336 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 576 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 864 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1200 1 + ph-grd -->hit<-- 20 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 20 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.71538594731419E-16 1.82169122600402E-02 + cg2d: Sum(rhs),rhsMax = 7.00869917658054E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = -1.40683702209467E-16 1.75199490780188E-02 + cg2d: Sum(rhs),rhsMax = 7.16177117610073E-13 5.85469312492007E-02 + cg2d: Sum(rhs),rhsMax = -1.43331527202584E-16 1.68036555196693E-02 + cg2d: Sum(rhs),rhsMax = 7.15844050702685E-13 5.84566762389020E-02 + cg2d: Sum(rhs),rhsMax = -5.41979113498348E-16 1.60305409741143E-02 + cg2d: Sum(rhs),rhsMax = 7.17287340634698E-13 5.84304386802455E-02 + cg2d: Sum(rhs),rhsMax = -1.55881167349103E-16 1.52405023176255E-02 + cg2d: Sum(rhs),rhsMax = 7.20382087315841E-13 5.83701416025125E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01314006867904E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.13540337926588E-13 5.85469306473081E-02 + cg2d: Sum(rhs),rhsMax = 7.15774661763646E-13 5.84566758727899E-02 + cg2d: Sum(rhs),rhsMax = 7.17675918693317E-13 5.84304388517977E-02 + cg2d: Sum(rhs),rhsMax = 7.19882486954759E-13 5.83701418926658E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702172332D+05 + --> objf_test(bi,bj) = 0.280897909163614D+05 + --> objf_test(bi,bj) = 0.489404247094376D+05 + --> objf_test(bi,bj) = 0.505718413234705D+05 + --> objf_test(bi,bj) = 0.526377153453498D+05 + --> objf_test(bi,bj) = 0.548292505080781D+05 + --> objf_test(bi,bj) = 0.526358410628565D+05 + --> objf_test(bi,bj) = 0.548290013321757D+05 +(PID.TID 0000.0001) local fc = 0.369788935414963D+06 +(PID.TID 0000.0001) global fc = 0.369788935414963D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935414963E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01369518019135E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.16482428941845E-13 5.85469318488099E-02 + cg2d: Sum(rhs),rhsMax = 7.19591053410795E-13 5.84566766038431E-02 + cg2d: Sum(rhs),rhsMax = 7.18800019505750E-13 5.84304385091371E-02 + cg2d: Sum(rhs),rhsMax = 7.18550219325209E-13 5.83701413135775E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467417799D+05 + --> objf_test(bi,bj) = 0.280897909163570D+05 + --> objf_test(bi,bj) = 0.489404247096280D+05 + --> objf_test(bi,bj) = 0.505718413234689D+05 + --> objf_test(bi,bj) = 0.526377153453461D+05 + --> objf_test(bi,bj) = 0.548292505080728D+05 + --> objf_test(bi,bj) = 0.526358410628417D+05 + --> objf_test(bi,bj) = 0.548290013321629D+05 +(PID.TID 0000.0001) local fc = 0.369789011939657D+06 +(PID.TID 0000.0001) global fc = 0.369789011939657D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011939657E+05 +grad-res ------------------------------- + grad-res 0 1 20 24 20 1 1 1 3.69788973588E+05 3.69788935415E+05 3.69789011940E+05 + grad-res 0 1 1 1579 0 1 1 1 -3.82623473991E+00 -3.82623473706E+00 7.44208361603E-10 +(PID.TID 0000.0001) TLM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.82623473990941E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.82623473706190E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1580 100450 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1579 2 + ph-grd -->hit<-- 21 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 21 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -5.03632237910251E-16 1.82185921640856E-02 + cg2d: Sum(rhs),rhsMax = 7.00869917658054E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 1.00200609528395E-16 1.75217095124965E-02 + cg2d: Sum(rhs),rhsMax = 7.16177117610073E-13 5.85469312492007E-02 + cg2d: Sum(rhs),rhsMax = -1.40621021771370E-16 1.68055293178651E-02 + cg2d: Sum(rhs),rhsMax = 7.15844050702685E-13 5.84566762389020E-02 + cg2d: Sum(rhs),rhsMax = -2.25676682202858E-16 1.60325480409817E-02 + cg2d: Sum(rhs),rhsMax = 7.17287340634698E-13 5.84304386802455E-02 + cg2d: Sum(rhs),rhsMax = 7.69675122247460E-16 1.52426416497757E-02 + cg2d: Sum(rhs),rhsMax = 7.20382087315841E-13 5.83701416025125E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.15427717068451E-13 5.85469306816518E-02 + cg2d: Sum(rhs),rhsMax = 7.15899561853917E-13 5.84566758534592E-02 + cg2d: Sum(rhs),rhsMax = 7.16940395939503E-13 5.84304387795058E-02 + cg2d: Sum(rhs),rhsMax = 7.18133885690975E-13 5.83701417881289E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702226430D+05 + --> objf_test(bi,bj) = 0.280897909163608D+05 + --> objf_test(bi,bj) = 0.489404247094376D+05 + --> objf_test(bi,bj) = 0.505718413234712D+05 + --> objf_test(bi,bj) = 0.526377153453498D+05 + --> objf_test(bi,bj) = 0.548292505080780D+05 + --> objf_test(bi,bj) = 0.526358410628565D+05 + --> objf_test(bi,bj) = 0.548290013321756D+05 +(PID.TID 0000.0001) local fc = 0.369788935420372D+06 +(PID.TID 0000.0001) global fc = 0.369788935420372D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935420372E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.17204073907851E-13 5.85469318149153E-02 + cg2d: Sum(rhs),rhsMax = 7.18300419144668E-13 5.84566766228549E-02 + cg2d: Sum(rhs),rhsMax = 7.17439996300584E-13 5.84304385810173E-02 + cg2d: Sum(rhs),rhsMax = 7.16038339731995E-13 5.83701414174443E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467363702D+05 + --> objf_test(bi,bj) = 0.280897909163576D+05 + --> objf_test(bi,bj) = 0.489404247096281D+05 + --> objf_test(bi,bj) = 0.505718413234683D+05 + --> objf_test(bi,bj) = 0.526377153453461D+05 + --> objf_test(bi,bj) = 0.548292505080728D+05 + --> objf_test(bi,bj) = 0.526358410628418D+05 + --> objf_test(bi,bj) = 0.548290013321630D+05 +(PID.TID 0000.0001) local fc = 0.369789011934248D+06 +(PID.TID 0000.0001) global fc = 0.369789011934248D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011934248E+05 +grad-res ------------------------------- + grad-res 0 2 21 24 20 1 1 1 3.69788973588E+05 3.69788935420E+05 3.69789011934E+05 + grad-res 0 2 2 1580 0 1 1 1 -3.82569377506E+00 -3.82569376670E+00 2.18508189320E-09 +(PID.TID 0000.0001) TLM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.82569377506235E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.82569376670290E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1581 100450 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1580 3 + ph-grd -->hit<-- 22 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 22 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.27144453020345E-16 1.82196934505662E-02 + cg2d: Sum(rhs),rhsMax = 7.00869917658054E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = -1.49897726609699E-16 1.75228240777909E-02 + cg2d: Sum(rhs),rhsMax = 7.16177117610073E-13 5.85469312492007E-02 + cg2d: Sum(rhs),rhsMax = -4.63496428737553E-17 1.68066553500150E-02 + cg2d: Sum(rhs),rhsMax = 7.15844050702685E-13 5.84566762389020E-02 + cg2d: Sum(rhs),rhsMax = 3.65525209926332E-16 1.60336876724755E-02 + cg2d: Sum(rhs),rhsMax = 7.17287340634698E-13 5.84304386802455E-02 + cg2d: Sum(rhs),rhsMax = 1.80736502153334E-15 1.52437916841971E-02 + cg2d: Sum(rhs),rhsMax = 7.20382087315841E-13 5.83701416025125E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01591562624060E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.17259585059082E-13 5.85469307146497E-02 + cg2d: Sum(rhs),rhsMax = 7.16482428941845E-13 5.84566758385613E-02 + cg2d: Sum(rhs),rhsMax = 7.15039139009832E-13 5.84304387146560E-02 + cg2d: Sum(rhs),rhsMax = 7.16829373637040E-13 5.83701416970187E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702262260D+05 + --> objf_test(bi,bj) = 0.280897909163497D+05 + --> objf_test(bi,bj) = 0.489404247094319D+05 + --> objf_test(bi,bj) = 0.505718413234719D+05 + --> objf_test(bi,bj) = 0.526377153453498D+05 + --> objf_test(bi,bj) = 0.548292505080780D+05 + --> objf_test(bi,bj) = 0.526358410628564D+05 + --> objf_test(bi,bj) = 0.548290013321755D+05 +(PID.TID 0000.0001) local fc = 0.369788935423939D+06 +(PID.TID 0000.0001) global fc = 0.369788935423939D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935423939E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01369518019135E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.15510983795298E-13 5.85469317822241E-02 + cg2d: Sum(rhs),rhsMax = 7.15635883885568E-13 5.84566766380173E-02 + cg2d: Sum(rhs),rhsMax = 7.16787740273617E-13 5.84304386457272E-02 + cg2d: Sum(rhs),rhsMax = 7.21089854494039E-13 5.83701415081794E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467327872D+05 + --> objf_test(bi,bj) = 0.280897909163687D+05 + --> objf_test(bi,bj) = 0.489404247096335D+05 + --> objf_test(bi,bj) = 0.505718413234675D+05 + --> objf_test(bi,bj) = 0.526377153453461D+05 + --> objf_test(bi,bj) = 0.548292505080729D+05 + --> objf_test(bi,bj) = 0.526358410628418D+05 + --> objf_test(bi,bj) = 0.548290013321631D+05 +(PID.TID 0000.0001) local fc = 0.369789011930681D+06 +(PID.TID 0000.0001) global fc = 0.369789011930681D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011930681E+05 +grad-res ------------------------------- + grad-res 0 3 22 24 20 1 1 1 3.69788973588E+05 3.69788935424E+05 3.69789011931E+05 + grad-res 0 3 3 1581 0 1 1 1 -3.82533709989E+00 -3.82533707598E+00 6.25183771419E-09 +(PID.TID 0000.0001) TLM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.82533709989297E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.82533707597759E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1582 100450 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1581 4 + ph-grd -->hit<-- 23 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 23 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -1.20190587083596E-16 1.82204027736772E-02 + cg2d: Sum(rhs),rhsMax = 7.00869917658054E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = -2.76397015084445E-16 1.75235050516312E-02 + cg2d: Sum(rhs),rhsMax = 7.16177117610073E-13 5.85469312492007E-02 + cg2d: Sum(rhs),rhsMax = -3.84878218705198E-16 1.68072880462993E-02 + cg2d: Sum(rhs),rhsMax = 7.15844050702685E-13 5.84566762389020E-02 + cg2d: Sum(rhs),rhsMax = -8.42194695059584E-16 1.60342643620074E-02 + cg2d: Sum(rhs),rhsMax = 7.17287340634698E-13 5.84304386802455E-02 + cg2d: Sum(rhs),rhsMax = 6.77246887043070E-16 1.52443089395088E-02 + cg2d: Sum(rhs),rhsMax = 7.20382087315841E-13 5.83701416025125E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01536051472829E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.16482428941845E-13 5.85469307462446E-02 + cg2d: Sum(rhs),rhsMax = 7.15677517248992E-13 5.84566758269662E-02 + cg2d: Sum(rhs),rhsMax = 7.19813098015720E-13 5.84304386565081E-02 + cg2d: Sum(rhs),rhsMax = 7.18286541356861E-13 5.83701416171630E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702285955D+05 + --> objf_test(bi,bj) = 0.280897909163007D+05 + --> objf_test(bi,bj) = 0.489404247094275D+05 + --> objf_test(bi,bj) = 0.505718413234691D+05 + --> objf_test(bi,bj) = 0.526377153453499D+05 + --> objf_test(bi,bj) = 0.548292505080779D+05 + --> objf_test(bi,bj) = 0.526358410628564D+05 + --> objf_test(bi,bj) = 0.548290013321754D+05 +(PID.TID 0000.0001) local fc = 0.369788935426252D+06 +(PID.TID 0000.0001) global fc = 0.369788935426252D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935426252E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.16524062305268E-13 5.85469317507589E-02 + cg2d: Sum(rhs),rhsMax = 7.17981230025089E-13 5.84566766494781E-02 + cg2d: Sum(rhs),rhsMax = 7.18800019505750E-13 5.84304387036616E-02 + cg2d: Sum(rhs),rhsMax = 7.16093850883226E-13 5.83701415881024E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467304178D+05 + --> objf_test(bi,bj) = 0.280897909164174D+05 + --> objf_test(bi,bj) = 0.489404247096381D+05 + --> objf_test(bi,bj) = 0.505718413234703D+05 + --> objf_test(bi,bj) = 0.526377153453460D+05 + --> objf_test(bi,bj) = 0.548292505080729D+05 + --> objf_test(bi,bj) = 0.526358410628419D+05 + --> objf_test(bi,bj) = 0.548290013321631D+05 +(PID.TID 0000.0001) local fc = 0.369789011928368D+06 +(PID.TID 0000.0001) global fc = 0.369789011928368D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011928368E+05 +grad-res ------------------------------- + grad-res 0 4 23 24 20 1 1 1 3.69788973588E+05 3.69788935426E+05 3.69789011928E+05 + grad-res 0 4 4 1582 0 1 1 1 -3.82510577435E+00 -3.82510575582E+00 4.84308559923E-09 +(PID.TID 0000.0001) TLM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.82510577434805E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.82510575582273E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1583 100450 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1582 5 + ph-grd -->hit<-- 24 24 20 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 24 24 20 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -8.91485236326206E-17 1.82208760336923E-02 + cg2d: Sum(rhs),rhsMax = 7.00869917658054E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 8.41908397923412E-16 1.75239428068395E-02 + cg2d: Sum(rhs),rhsMax = 7.16177117610073E-13 5.85469312492007E-02 + cg2d: Sum(rhs),rhsMax = 3.74890006191175E-16 1.68076707252523E-02 + cg2d: Sum(rhs),rhsMax = 7.15844050702685E-13 5.84566762389020E-02 + cg2d: Sum(rhs),rhsMax = -1.70111320862976E-16 1.60345832245791E-02 + cg2d: Sum(rhs),rhsMax = 7.17287340634698E-13 5.84304386802455E-02 + cg2d: Sum(rhs),rhsMax = 4.19775976132075E-16 1.52445618517790E-02 + cg2d: Sum(rhs),rhsMax = 7.20382087315841E-13 5.83701416025125E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551083901279D+05 + --> objf_test(bi,bj) = 0.280897909163592D+05 + --> objf_test(bi,bj) = 0.489404247095315D+05 + --> objf_test(bi,bj) = 0.505718413234697D+05 + --> objf_test(bi,bj) = 0.526377153453481D+05 + --> objf_test(bi,bj) = 0.548292505080755D+05 + --> objf_test(bi,bj) = 0.526358410628493D+05 + --> objf_test(bi,bj) = 0.548290013321694D+05 +(PID.TID 0000.0001) local fc = 0.369788973587931D+06 +(PID.TID 0000.0001) global fc = 0.369788973587931D+06 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01480540321597E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.14622805375598E-13 5.85469307765247E-02 + cg2d: Sum(rhs),rhsMax = 7.20506987406111E-13 5.84566758186888E-02 + cg2d: Sum(rhs),rhsMax = 7.18952675171636E-13 5.84304386044679E-02 + cg2d: Sum(rhs),rhsMax = 7.18813897293558E-13 5.83701415470407E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272550702306634D+05 + --> objf_test(bi,bj) = 0.280897909157891D+05 + --> objf_test(bi,bj) = 0.489404247094572D+05 + --> objf_test(bi,bj) = 0.505718413234332D+05 + --> objf_test(bi,bj) = 0.526377153453499D+05 + --> objf_test(bi,bj) = 0.548292505080778D+05 + --> objf_test(bi,bj) = 0.526358410628563D+05 + --> objf_test(bi,bj) = 0.548290013321754D+05 +(PID.TID 0000.0001) local fc = 0.369788935427802D+06 +(PID.TID 0000.0001) global fc = 0.369788935427802D+06 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 3.69788935427802E+05 +(PID.TID 0000.0001) nRecords = 243 ; filePrec = 64 ; fileIter = 8640 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 50 1 50 +(PID.TID 0000.0001) 2: 100 1 100 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 1 , timeList: +(PID.TID 0000.0001) 1.555200000000E+07 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 241 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "dEtaHdt ", # 10 in fldList, rec= 242 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0000008640 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 7.01425029170366E-13 5.97855497140073E-02 + cg2d: Sum(rhs),rhsMax = 7.12194192509230E-13 5.85469317206019E-02 + cg2d: Sum(rhs),rhsMax = 7.20409842891456E-13 5.84566766578026E-02 + cg2d: Sum(rhs),rhsMax = 7.18688997203287E-13 5.84304387555813E-02 + cg2d: Sum(rhs),rhsMax = 7.18688997203287E-13 5.83701416580051E-02 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 + --> objf_shelfice(bi,bj) = 0.000000000000000D+00 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_test(bi,bj) = 0.272551467283351D+05 + --> objf_test(bi,bj) = 0.280897909169439D+05 + --> objf_test(bi,bj) = 0.489404247096084D+05 + --> objf_test(bi,bj) = 0.505718413235061D+05 + --> objf_test(bi,bj) = 0.526377153453460D+05 + --> objf_test(bi,bj) = 0.548292505080730D+05 + --> objf_test(bi,bj) = 0.526358410628420D+05 + --> objf_test(bi,bj) = 0.548290013321632D+05 +(PID.TID 0000.0001) local fc = 0.369789011926818D+06 +(PID.TID 0000.0001) global fc = 0.369789011926818D+06 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 3.69789011926818E+05 +grad-res ------------------------------- + grad-res 0 5 24 24 20 1 1 1 3.69788973588E+05 3.69788935428E+05 3.69789011927E+05 + grad-res 0 5 5 1583 0 1 1 1 -3.82495077943E+00 -3.82495077793E+00 3.93839960644E-10 +(PID.TID 0000.0001) TLM ref_cost_function = 3.69788973587931E+05 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.82495077943197E+00 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.82495077792555E+00 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-02 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) TLM GRAD(FC) 1-FDGRD/TLMGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 20 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 1 3.6978897358793E+05 3.6978893541496E+05 3.6978901193966E+05 +(PID.TID 0000.0001) grdchk output (g): 1 -3.8262347370619E+00 -3.8262347399094E+00 7.4420836160272E-10 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 21 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 2 3.6978897358793E+05 3.6978893542037E+05 3.6978901193425E+05 +(PID.TID 0000.0001) grdchk output (g): 2 -3.8256937667029E+00 -3.8256937750624E+00 2.1850818932023E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 22 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 3 3.6978897358793E+05 3.6978893542394E+05 3.6978901193068E+05 +(PID.TID 0000.0001) grdchk output (g): 3 -3.8253370759776E+00 -3.8253370998930E+00 6.2518377141885E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 23 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 4 3.6978897358793E+05 3.6978893542625E+05 3.6978901192837E+05 +(PID.TID 0000.0001) grdchk output (g): 4 -3.8251057558227E+00 -3.8251057743480E+00 4.8430855992265E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 24 24 20 1 1 0.000000000E+00 -1.000000000E-02 +(PID.TID 0000.0001) grdchk output (c): 5 3.6978897358793E+05 3.6978893542780E+05 3.6978901192682E+05 +(PID.TID 0000.0001) grdchk output (g): 5 -3.8249507779256E+00 -3.8249507794320E+00 3.9383996064402E-10 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 3.6884818504654E-09 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 44.516347604803741 +(PID.TID 0000.0001) System time: 0.12450400250963867 +(PID.TID 0000.0001) Wall clock time: 44.794644832611084 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.11962899658828974 +(PID.TID 0000.0001) System time: 2.0753000164404511E-002 +(PID.TID 0000.0001) Wall clock time: 0.14356493949890137 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 44.396692790091038 +(PID.TID 0000.0001) System time: 0.10374300181865692 +(PID.TID 0000.0001) Wall clock time: 44.651057958602905 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 1.8398486748337746 +(PID.TID 0000.0001) System time: 7.5148986652493477E-002 +(PID.TID 0000.0001) Wall clock time: 1.9411041736602783 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 42.318860977888107 +(PID.TID 0000.0001) System time: 1.4811012893915176E-002 +(PID.TID 0000.0001) Wall clock time: 42.457264423370361 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 42.215682178735733 +(PID.TID 0000.0001) System time: 8.8370144367218018E-003 +(PID.TID 0000.0001) Wall clock time: 42.347548484802246 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 42.214767634868622 +(PID.TID 0000.0001) System time: 8.8360160589218140E-003 +(PID.TID 0000.0001) Wall clock time: 42.346628189086914 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.2431194782257080E-002 +(PID.TID 0000.0001) System time: 9.2010945081710815E-005 +(PID.TID 0000.0001) Wall clock time: 2.2628307342529297E-002 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 4.9427151679992676E-004 +(PID.TID 0000.0001) System time: 1.0021030902862549E-006 +(PID.TID 0000.0001) Wall clock time: 4.7945976257324219E-004 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.9237878322601318E-002 +(PID.TID 0000.0001) System time: 1.0019987821578979E-003 +(PID.TID 0000.0001) Wall clock time: 8.0679416656494141E-002 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.6617379188537598E-002 +(PID.TID 0000.0001) System time: 9.9837779998779297E-007 +(PID.TID 0000.0001) Wall clock time: 5.6825160980224609E-002 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.9964191019535065 +(PID.TID 0000.0001) System time: 1.0140091180801392E-003 +(PID.TID 0000.0001) Wall clock time: 2.0057830810546875 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "SHELFICE_THERMODYNAMICS [DO_OCEANIC_PHYS]": +(PID.TID 0000.0001) User time: 0.11277458071708679 +(PID.TID 0000.0001) System time: 4.0046870708465576E-006 +(PID.TID 0000.0001) Wall clock time: 0.11342072486877441 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 15.896907925605774 +(PID.TID 0000.0001) System time: 9.3999505043029785E-004 +(PID.TID 0000.0001) Wall clock time: 15.942989349365234 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 8.3981632292270660 +(PID.TID 0000.0001) System time: 6.0051679611206055E-006 +(PID.TID 0000.0001) Wall clock time: 8.4204945564270020 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.52401989698410034 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.52575445175170898 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.88887071609497070 +(PID.TID 0000.0001) System time: 9.7699835896492004E-004 +(PID.TID 0000.0001) Wall clock time: 0.89256238937377930 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.55401045083999634 +(PID.TID 0000.0001) System time: 9.7799673676490784E-004 +(PID.TID 0000.0001) Wall clock time: 0.55798745155334473 +(PID.TID 0000.0001) No. starts: 160 +(PID.TID 0000.0001) No. stops: 160 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 10.628780424594879 +(PID.TID 0000.0001) System time: 2.7979984879493713E-003 +(PID.TID 0000.0001) Wall clock time: 10.662292480468750 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.5132442116737366 +(PID.TID 0000.0001) System time: 9.8499655723571777E-004 +(PID.TID 0000.0001) Wall clock time: 2.5208466053009033 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.6521425247192383E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 4.7326087951660156E-004 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.64555680751800537 +(PID.TID 0000.0001) System time: 9.9837779998779297E-007 +(PID.TID 0000.0001) Wall clock time: 0.64822769165039062 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.1605701446533203E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 5.1856040954589844E-004 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.6204538345336914E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 7.3575973510742188E-004 +(PID.TID 0000.0001) No. starts: 80 +(PID.TID 0000.0001) No. stops: 80 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 4.3580532073974609E-002 +(PID.TID 0000.0001) System time: 9.9200010299682617E-004 +(PID.TID 0000.0001) Wall clock time: 4.4948101043701172E-002 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000005 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000006 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000007 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000008 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 149696 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 149696 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/lab_sea/code_tap.adx.noecco/AUTODIFF_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..b92794d8d2 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/AUTODIFF_OPTIONS.h @@ -0,0 +1,83 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o allow using viscFacInAd to recompute viscosities in AD +#define AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.adx.noecco/COST_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/COST_OPTIONS.h new file mode 100644 index 0000000000..b9ce4eb93e --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/COST_OPTIONS.h @@ -0,0 +1,78 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT +#undef ALLOW_COST_ATLANTIC_HEAT_DOMASS + +#define ALLOW_COST_TEST +#define ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.adx.noecco/CPP_EEOPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/CPP_EEOPTIONS.h new file mode 100644 index 0000000000..2faf299622 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/CPP_EEOPTIONS.h @@ -0,0 +1,148 @@ +CBOP +C !ROUTINE: CPP_EEOPTIONS.h +C !INTERFACE: +C include "CPP_EEOPTIONS.h" +C +C !DESCRIPTION: +C *==========================================================* +C | CPP\_EEOPTIONS.h | +C *==========================================================* +C | C preprocessor "execution environment" supporting | +C | flags. Use this file to set flags controlling the | +C | execution environment in which a model runs - as opposed | +C | to the dynamical problem the model solves. | +C | Note: Many options are implemented with both compile time| +C | and run-time switches. This allows options to be | +C | removed altogether, made optional at run-time or | +C | to be permanently enabled. This convention helps | +C | with the data-dependence analysis performed by the | +C | adjoint model compiler. This data dependency | +C | analysis can be upset by runtime switches that it | +C | is unable to recoginise as being fixed for the | +C | duration of an integration. | +C | A reasonable way to use these flags is to | +C | set all options as selectable at runtime but then | +C | once an experimental configuration has been | +C | identified, rebuild the code with the appropriate | +C | options set at compile time. | +C *==========================================================* +CEOP + +#ifndef _CPP_EEOPTIONS_H_ +#define _CPP_EEOPTIONS_H_ + +C In general the following convention applies: +C ALLOW - indicates an feature will be included but it may +C CAN have a run-time flag to allow it to be switched +C on and off. +C If ALLOW or CAN directives are "undef'd" this generally +C means that the feature will not be available i.e. it +C will not be included in the compiled code and so no +C run-time option to use the feature will be available. +C +C ALWAYS - indicates the choice will be fixed at compile time +C so no run-time option will be present + +C=== Macro related options === +C-- Control storage of floating point operands +C On many systems it improves performance only to use +C 8-byte precision for time stepped variables. +C Constant in time terms ( geometric factors etc.. ) +C can use 4-byte precision, reducing memory utilisation and +C boosting performance because of a smaller working set size. +C However, on vector CRAY systems this degrades performance. +C Enable to switch REAL4_IS_SLOW from genmake2 (with LET_RS_BE_REAL4): +#ifdef LET_RS_BE_REAL4 +#undef REAL4_IS_SLOW +#else /* LET_RS_BE_REAL4 */ +#define REAL4_IS_SLOW +#endif /* LET_RS_BE_REAL4 */ + +C-- Control use of "double" precision constants. +C Use D0 where it means REAL*8 but not where it means REAL*16 +#define D0 d0 + +C=== IO related options === +C-- Flag used to indicate whether Fortran formatted write +C and read are threadsafe. On SGI the routines can be thread +C safe, on Sun it is not possible - if you are unsure then +C undef this option. +#undef FMTFTN_IO_THREAD_SAFE + +C-- Flag used to indicate whether Binary write to Local file (i.e., +C a different file for each tile) and read are thread-safe. +#undef LOCBIN_IO_THREAD_SAFE + +C-- Flag to turn off the writing of error message to ioUnit zero +#undef DISABLE_WRITE_TO_UNIT_ZERO + +C-- Alternative formulation of BYTESWAP, faster than +C compiler flag -byteswapio on the Altix. +#undef FAST_BYTESWAP + +C-- Flag to turn on old default of opening scratch files with the +C STATUS='SCRATCH' option. This method, while perfectly FORTRAN-standard, +C caused filename conflicts on some multi-node/multi-processor platforms +C in the past and has been replace by something (hopefully) more robust. +#define USE_FORTRAN_SCRATCH_FILES + +C-- Flag defined for eeboot_minimal.F, eeset_parms.F and open_copy_data_file.F +C to write STDOUT, STDERR and scratch files from process 0 only. +C WARNING: to use only when absolutely confident that the setup is working +C since any message (error/warning/print) from any proc <> 0 will be lost. +#undef SINGLE_DISK_IO + +C=== MPI, EXCH and GLOBAL_SUM related options === +C-- Flag turns off MPI_SEND ready_to_receive polling in the +C gather_* subroutines to speed up integrations. +#undef DISABLE_MPI_READY_TO_RECEIVE + +C-- Control use of communication that might overlap computation. +C Under MPI selects/deselects "non-blocking" sends and receives. +#define ALLOW_ASYNC_COMMUNICATION +#undef ALLOW_ASYNC_COMMUNICATION +#undef ALWAYS_USE_ASYNC_COMMUNICATION +C-- Control use of communication that is atomic to computation. +C Under MPI selects/deselects "blocking" sends and receives. +#define ALLOW_SYNC_COMMUNICATION +#undef ALWAYS_USE_SYNC_COMMUNICATION + +C-- Control XY periodicity in processor to grid mappings +C Note: Model code does not need to know whether a domain is +C periodic because it has overlap regions for every box. +C Model assume that these values have been +C filled in some way. +#undef ALWAYS_PREVENT_X_PERIODICITY +#undef ALWAYS_PREVENT_Y_PERIODICITY +#define CAN_PREVENT_X_PERIODICITY +#define CAN_PREVENT_Y_PERIODICITY + +C-- disconnect tiles (no exchange between tiles, just fill-in edges +C assuming locally periodic subdomain) +#undef DISCONNECTED_TILES + +C-- Always cumulate tile local-sum in the same order by applying MPI allreduce +C to array of tiles ; can get slower with large number of tiles (big set-up) +#undef GLOBAL_SUM_ORDER_TILES + +C-- Alternative way of doing global sum without MPI allreduce call +C but instead, explicit MPI send & recv calls. Expected to be slower. +#define GLOBAL_SUM_SEND_RECV + +C-- Alternative way of doing global sum on a single CPU +C to eliminate tiling-dependent roundoff errors. Note: This is slow. +#define CG2D_SINGLECPU_SUM + +C=== Other options (to add/remove pieces of code) === +C-- Flag to turn on checking for errors from all threads and procs +C (calling S/R STOP_IF_ERROR) before stopping. +#define USE_ERROR_STOP + +C-- Control use of communication with other component: +C allow to import and export from/to Coupler interface. +#undef COMPONENT_MODULE + +#endif /* _CPP_EEOPTIONS_H_ */ + +#include "CPP_EEMACROS.h" + diff --git a/verification/lab_sea/code_tap.adx.noecco/CPP_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/CPP_OPTIONS.h new file mode 100644 index 0000000000..e1dbee7d8c --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/CPP_OPTIONS.h @@ -0,0 +1,139 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#undef ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#undef INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#undef NONLIN_FRSURF + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.adx.noecco/CTRL_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/CTRL_OPTIONS.h new file mode 100644 index 0000000000..3afca9c197 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/CTRL_OPTIONS.h @@ -0,0 +1,122 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +#undef ECCO_CTRL_DEPRECATED + +#undef EXCLUDE_CTRL_PACK +#define ALLOW_NONDIMENSIONAL_CONTROL_IO +#define ALLOW_PACKUNPACK_METHOD2 + +C >>> Initial values. +#define ALLOW_THETA0_CONTROL +#define ALLOW_SALT0_CONTROL +#undef ALLOW_UVEL0_CONTROL +#undef ALLOW_VVEL0_CONTROL +#undef ALLOW_TR10_CONTROL +#undef ALLOW_TAUU0_CONTROL +#undef ALLOW_TAUV0_CONTROL +#undef ALLOW_SFLUX0_CONTROL +#undef ALLOW_HFLUX0_CONTROL +#undef ALLOW_SSS0_CONTROL +#undef ALLOW_SST0_CONTROL + +C >>> Surface fluxes. +#undef ALLOW_HFLUX_CONTROL +#undef ALLOW_SFLUX_CONTROL +#undef ALLOW_USTRESS_CONTROL +#undef ALLOW_VSTRESS_CONTROL +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> Atmospheric state. +#define ALLOW_ATEMP_CONTROL +#define ALLOW_AQH_CONTROL +#define ALLOW_PRECIP_CONTROL +#define ALLOW_SNOWPRECIP_CONTROL +#define ALLOW_SWDOWN_CONTROL +#define ALLOW_LWDOWN_CONTROL +#define ALLOW_UWIND_CONTROL +#define ALLOW_VWIND_CONTROL +#undef ALLOW_EVAP_CONTROL +#define ALLOW_APRESSURE_CONTROL +#undef ALLOW_RUNOFF_CONTROL + +C >>> Radiation +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> seaice init. conditions +CML#define ALLOW_SIAREA_CONTROL +CML#define ALLOW_SIHEFF_CONTROL +#undef ALLOW_SIHSNOW_CONTROL + +C >>> Other Control. +#undef ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#define ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.adx.noecco/CTRL_SIZE.h b/verification/lab_sea/code_tap.adx.noecco/CTRL_SIZE.h new file mode 100644 index 0000000000..dbd88f59eb --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 2 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 2 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 9 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.adx.noecco/DIAGNOSTICS_SIZE.h b/verification/lab_sea/code_tap.adx.noecco/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..1d13bed797 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/DIAGNOSTICS_SIZE.h @@ -0,0 +1,27 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numdiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numdiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numdiags + INTEGER nRegions, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 30, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numdiags = 20*Nr ) + PARAMETER( nRegions = 0 , nStats = 4 ) + PARAMETER( diagSt_size = 10*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.adx.noecco/ECCO_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/ECCO_OPTIONS.h new file mode 100644 index 0000000000..8aa6a90c47 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/ECCO_OPTIONS.h @@ -0,0 +1,107 @@ +CBOP +C !ROUTINE: ECCO_OPTIONS.h +C !INTERFACE: +C #include "ECCO_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for ECCO (ecco) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef ECCO_OPTIONS_H +#define ECCO_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_ECCO +#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 + +# define ALLOW_ATEMP_COST_CONTRIBUTION +# define ALLOW_AQH_COST_CONTRIBUTION +# define ALLOW_UWIND_COST_CONTRIBUTION +# define ALLOW_VWIND_COST_CONTRIBUTION +# define ALLOW_PRECIP_COST_CONTRIBUTION +# define ALLOW_SNOWPRECIP_COST_CONTRIBUTION +# define ALLOW_SWDOWN_COST_CONTRIBUTION +# define ALLOW_LWDOWN_COST_CONTRIBUTION +# undef ALLOW_EVAP_COST_CONTRIBUTION +# define ALLOW_APRESSURE_COST_CONTRIBUTION +# undef ALLOW_RUNOFF_COST_CONTRIBUTION + +# define ALLOW_THETA0_COST_CONTRIBUTION +# define ALLOW_SALT0_COST_CONTRIBUTION +# define ALLOW_THETA_COST_CONTRIBUTION +# define ALLOW_SALT_COST_CONTRIBUTION +# define ALLOW_SST_COST_CONTRIBUTION +# define ALLOW_SSS_COST_CONTRIBUTION + +CML# define ALLOW_SSH_MEAN_COST_CONTRIBUTION +CML# define ALLOW_SSH_TPANOM_COST_CONTRIBUTION +CML# define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION +CML# undef ALLOW_SPH_PROJECTION +CML# if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \ +CML defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \ +CML defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION)) +CML# define ALLOW_SSH_COST_CONTRIBUTION +CML# endif + +C allow for generic cost function and integral terms +#define ALLOW_GENCOST_CONTRIBUTION +C allow for 3 dimensional generic terms +#define ALLOW_GENCOST3D + +C include global mean steric sea level correction +#undef ALLOW_PSBAR_STERIC +C allow for near-shore and high-latitude altimetry +#undef ALLOW_SHALLOW_ALTIMETRY +#undef ALLOW_HIGHLAT_ALTIMETRY + +C allow for In-Situ Profiles cost function contribution +#undef ALLOW_PROFILES_CONTRIBUTION + +C cost function output format +#undef ALLOW_ECCO_OLD_FC_PRINT + +C-- real options? + +C include dump of snap shots for checks +#undef ALLOW_SNAPSHOTS + +cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<< +c#define SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING +cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<< + +C generate more text in STDOUT.0000 +#undef ECCO_VERBOSE + +C allow cost function term for sigmaR +#undef ALLOW_SIGMAR_COST_CONTRIBUTION + +C-- fake options (only used to be printed in S/R ECCO_SUMMARY): + +C allow ??? +#define ALLOW_ECCO_FORWARD_RUN +#undef ALLOW_ECCO_DIAGNOSTIC_RUN +C Just do a "dry" run ( useful for testing ). +#undef ALLOW_NO_DYNAMICS +C Use the Yearly-Monthly-Daily-Stepping call tree. +#undef ALLOW_YMDS_TREE +C Do not call stepping +#define ALLOW_STEPPING_CALL +C Projection onto Spherical Harmonics +#undef ALLOW_SPH_PROJECTION + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_ECCO */ +#endif /* ECCO_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.adx.noecco/EXF_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/EXF_OPTIONS.h new file mode 100644 index 0000000000..7b645a23d9 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/EXF_OPTIONS.h @@ -0,0 +1,233 @@ +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 -------------------- +C pkg/exf CPP options: +C (see also table below on how to combine options) + +C > ( EXF_VERBOSE ) < replaced with run-time integer parameter "exf_debugLev" +C +C >>> ALLOW_ATM_WIND <<< +C If defined, set default value of run-time param. "useAtmWind" to True. +C If useAtmWind=True, read-in and use wind vector (uwind/vwind) +C to compute surface wind stress. +C +C >>> ALLOW_ATM_TEMP <<< +C This is the main EXF option controlling air-sea buoyancy fluxes: +C If undefined, net heat flux (Qnet) and net fresh water flux +C (EmP or EmPmR) are set according to hfluxfile & sfluxfile setting. +C If defined, net heat flux and net fresh water flux are computed +C from sum of various components (radiative SW,LW + turbulent heat +C fluxes SH,LH ; Evap, Precip and optionally RunOff) thus ignoring +C hfluxfile & sfluxfile. +C In addition, it allows to read-in from files atmospheric temperature +C and specific humidity, net radiative fluxes, and precip. +C Also enable to read-in Evap (if EXF_READ_EVAP is defined) or +C turbulent heat fluxes (if ALLOW_READ_TURBFLUXES is defined). +C +C >>> ALLOW_DOWNWARD_RADIATION <<< +C If defined, downward long-wave and short-wave radiation +C can be read-in form files to compute net 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 fluxes (Sensible,Latent,Evap) at the ocean surface. +C +C >>> EXF_CALC_ATMRHO +C Calculate the local air density as function of temp, humidity +C and pressure +C +C >>> EXF_READ_EVAP <<< +C If defined, evaporation field is read-in from file; +C Note: if ALLOW_BULKFORMULAE is defined, evap that is computed from +C atmospheric state will be replaced by read-in evap but computed +C latent heat flux will be kept. +C +C >>> ALLOW_READ_TURBFLUXES <<< +C If defined, turbulent heat fluxes (sensible and latent) can be read-in +C from files (but overwritten if ALLOW_BULKFORMULAE is defined). +C +C >>> ALLOW_RUNOFF <<< +C If defined, river and glacier runoff can be read-in from files. +C +C >>> ALLOW_SALTFLX <<< +C If defined, upward salt flux can be read-in from files. +C +C >>> ALLOW_RUNOFTEMP <<< +C If defined, river and glacier runoff temperature +C 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.h) +C +C >>> EXF_ALLOW_TIDES <<< +C If defined, 2-D tidal geopotential can be read-in from files +C +C >>> EXF_SEAICE_FRACTION <<< +C If defined, seaice fraction can be read-in from files (areaMaskFile) +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 to provide input field on arbitrary Lat-Lon input grid +C (as specified in EXF_NML_04) and to interpolate to model grid. +C Note: default is to interpolate unless {FLD}_interpMethod is set to 0 +C +C ==================================================================== +C +C The following CPP options: +C ALLOW_ATM_WIND / useAtmWind (useWind) +C ALLOW_ATM_TEMP (TEMP) +C ALLOW_DOWNWARD_RADIATION (DOWN) +C ALLOW_BULKFORMULAE (BULK) +C EXF_READ_EVAP (EVAP) +C ALLOW_READ_TURBFLUXES (TURB) +C +C permit all ocean-model forcing configurations listed in the 2 tables below. +C The first configuration (A1,B1) is the flux-forced, ocean model. +C Configurations A2,B3 and A2,B4 use pkg/exf open-water bulk formulae +C to compute, from atmospheric variables, the missing surface fluxes. +C The forcing fields in the rightmost column are defined in EXF_FIELDS.h +C (ocean-model surface forcing field are defined in model/inc/FFIELDS.h) +C +C (A) Surface momentum flux: [model: fu,fv ; exf: ustress,vstress] +C +C # |useWind| actions +C ---|-------|------------------------------------------------------------- +C (1)| False | Read-in ustress,vstress (if needed in B, compute wind-speed) +C | | +C (2)| True | Read-in uwind,vwind ; compute wind stress ustress,vstress. +C ---|-------|------------------------------------------------------------- +C +C (B) Surface buoyancy flux: +C [ net heat flux: Qnet (exf: hflux), net short-wave: Qsw (exf: swflux) +C fresh-water flux: EmPmR (exf: sflux) and saltFlux (exf: saltflx) ] +C +C # |TEMP |DOWN |BULK |EVAP |TURB | actions +C ---|-----|-----|-----|-----|-----|------------------------------------- +C (1)| - | - | - | - | - | Read-in hflux, swflux and sflux. +C | | | | | | +C (2)| - | def | - | - | - | Read-in hflux, swdown and sflux. +C | | | | | | Compute swflux. +C | | | | | | +C (3)| def | def | def | - | - | Read-in atemp, aqh, swdown, lwdown, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (4)| def | - | def | - | - | Read-in atemp, aqh, swflux, lwflux, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux and sflux. +C | | | | | | +C (5)| def | def | - | def | def | Read-in hs, hl, swdown, lwdown, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (6)| def | - | - | def | def | Read-in hs, hl, swflux, lwflux, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux and sflux. +C +C ======================================================================= + +C- Bulk formulae related flags. +#define ALLOW_ATM_TEMP +#define ALLOW_ATM_WIND +#define ALLOW_DOWNWARD_RADIATION +#ifdef ALLOW_ATM_TEMP +C Note: To use ALLOW_BULKFORMULAE or EXF_READ_EVAP, needs #define ALLOW_ATM_TEMP +# define ALLOW_BULKFORMULAE +# undef ALLOW_BULK_LARGEYEAGER04 +# undef EXF_READ_EVAP +# ifndef ALLOW_BULKFORMULAE +C Note: To use ALLOW_READ_TURBFLUXES, ALLOW_ATM_TEMP needs to +C be defined but ALLOW_BULKFORMULAE needs to be undef +# define ALLOW_READ_TURBFLUXES +# endif +#endif /* ALLOW_ATM_TEMP */ + +C- Other forcing fields +#define ALLOW_RUNOFF +#undef ALLOW_RUNOFTEMP +#define ALLOW_SALTFLX + +#if (defined (ALLOW_BULKFORMULAE) && defined (ATMOSPHERIC_LOADING)) +C Note: To use EXF_CALC_ATMRHO, both ALLOW_BULKFORMULAE +C and ATMOSPHERIC_LOADING need to be defined +# undef EXF_CALC_ATMRHO +#endif + +C- Zenith Angle/Albedo related flags. +#ifdef ALLOW_DOWNWARD_RADIATION +# undef ALLOW_ZENITHANGLE +#endif + +C- Use ocean_emissivity*lwdown in lwFlux. This flag should be defined +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. +#define ALLOW_CLIMSST_RELAXATION +#define ALLOW_CLIMSSS_RELAXATION + +C- Allows to read-in (2-d) tidal geopotential forcing +#undef EXF_ALLOW_TIDES + +C- Allows to read-in seaice fraction from files (areaMaskFile) +#define EXF_SEAICE_FRACTION + +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 USE_EXF_INTERPOLATION && 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 */ diff --git a/verification/lab_sea/code_tap.adx.noecco/GMREDI_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..d77fd372c5 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/GMREDI_OPTIONS.h @@ -0,0 +1,47 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.adx.noecco/SEAICE_OPTIONS.h b/verification/lab_sea/code_tap.adx.noecco/SEAICE_OPTIONS.h new file mode 100644 index 0000000000..8c130ed653 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/SEAICE_OPTIONS.h @@ -0,0 +1,183 @@ +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. +#define 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. +#define 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#define 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 +#define SEAICE_DISABLE_SUBLIM + +C-- Suspected missing term in coupled ocn-ice heat budget (to be confirmed) +#define 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. +#define 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. +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Enable grease ice parameterization +C The grease ice parameterization delays formation of solid +C sea ice from frazil ice by a time constant and provides a +C dynamic calculation of the initial solid sea ice thickness +C HO as a function of winds, currents and available grease ice +C volume. Grease ice does not significantly reduce heat loss +C from the ocean in winter and area covered by grease is thus +C handled like open water. +C (For details see Smedsrud and Martin, 2014, Ann.Glac.) +C Set SItrName(1) = 'grease' in namelist SEAICE_PARM03 in data.seaice +C then output SItr01 is SItrNameLong(1) = 'grease ice volume fraction', +C with SItrUnit(1) = '[0-1]', which needs to be multiplied by SIheff +C to yield grease ice volume. Additionally, the actual grease ice +C layer thickness (diagnostic SIgrsLT) can be saved. +#undef SEAICE_GREASE +C-- grease ice uses SItracer: +#ifdef SEAICE_GREASE +# define ALLOW_SITRACER +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Historically, the seaice model was discretized on a B-Grid. This +C discretization should still work but it is not longer actively tested +C and supported. The following flag should always be set in order to use +C the operational C-grid discretization. +#define SEAICE_CGRID + +C-- Only for the C-grid version it is possible to +#ifdef SEAICE_CGRID +C enable advection of sea ice momentum +# undef SEAICE_ALLOW_MOM_ADVECTION +C enable JFNK code by defining the following flag +# undef SEAICE_ALLOW_JFNK +C enable Krylov code by defining the following flag +# undef SEAICE_ALLOW_KRYLOV +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 +# define 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 smooth regularization (without max-function) of delta for +C better differentiability +# undef SEAICE_DELTA_SMOOTHREG +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 +C Use LSR vector code; not useful on non-vector machines, because it +C slows down convergence considerably, but the extra iterations are +C more than made up by the much faster code on vector machines. For +C the only regularly test vector machine these flags a specified +C in the build options file SUPER-UX_SX-8_sxf90_awi, so that we comment +C them out here. +# undef SEAICE_VECTORIZE_LSR +C Use zebra-method (alternate lines) for line-successive-relaxation +C This modification improves the convergence of the vector code +C dramatically, so that is may actually be useful in general, but +C that needs to be tested. Can be used without vectorization options. +# define SEAICE_LSR_ZEBRA +C This flag is also required for an actual adjoint of seaice_lsr; +C increases memory requirements a lot. +# define SEAICE_LSR_ADJOINT_ITER +C Use parameterisation of grounding ice for a better representation +C of fastice in shallow seas +# undef SEAICE_ALLOW_BOTTOMDRAG +#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. +# define 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. +# define 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 +#define SEAICE_ALLOW_FREEDRIFT + +C-- pkg/seaice cost functions compile flags +c >>> Sea-ice volume (requires pkg/cost) +#undef ALLOW_COST_ICE +c >>> Sea-ice misfit to obs (requires pkg/cost and ecco) +#define ALLOW_SEAICE_COST_SMR_AREA + +C-- ssg - This flag turns on the more "correct" seaice themodynamics +C by Arash Bigdeli. +C-- Use the adjointable sea-ice thermodynamic model +C in seaice_growth_adx.F instead of seaice_growth.F +#define SEAICE_USE_GROWTH_ADX +#endif /* ALLOW_SEAICE */ +#endif /* SEAICE_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.adx.noecco/SIZE.h b/verification/lab_sea/code_tap.adx.noecco/SIZE.h new file mode 100644 index 0000000000..8008410a3c --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 10, + & sNy = 8, + & OLx = 4, + & OLy = 4, + & nSx = 2, + & nSy = 2, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 23) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/lab_sea/code_tap.adx.noecco/SIZE.h_mpi b/verification/lab_sea/code_tap.adx.noecco/SIZE.h_mpi new file mode 100644 index 0000000000..6d19398db1 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/SIZE.h_mpi @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 10, + & sNy = 8, + & OLx = 4, + & OLy = 4, + & nSx = 1, + & nSy = 2, + & nPx = 2, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 23) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/lab_sea/code_tap.adx.noecco/packages.conf b/verification/lab_sea/code_tap.adx.noecco/packages.conf new file mode 100644 index 0000000000..54595236d9 --- /dev/null +++ b/verification/lab_sea/code_tap.adx.noecco/packages.conf @@ -0,0 +1,13 @@ +#-- list of packages (or group of packages) to compile for this experiment: +oceanic +cd_code +down_slope +exf +seaice +salt_plume +diagnostics +mnc + +#ecco +adjoint +tapenade diff --git a/verification/lab_sea/code_tap.noecco/AUTODIFF_OPTIONS.h b/verification/lab_sea/code_tap.noecco/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..b92794d8d2 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/AUTODIFF_OPTIONS.h @@ -0,0 +1,83 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o allow using viscFacInAd to recompute viscosities in AD +#define AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.noecco/COST_OPTIONS.h b/verification/lab_sea/code_tap.noecco/COST_OPTIONS.h new file mode 100644 index 0000000000..b9ce4eb93e --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/COST_OPTIONS.h @@ -0,0 +1,78 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT +#undef ALLOW_COST_ATLANTIC_HEAT_DOMASS + +#define ALLOW_COST_TEST +#define ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.noecco/CPP_EEOPTIONS.h b/verification/lab_sea/code_tap.noecco/CPP_EEOPTIONS.h new file mode 100644 index 0000000000..2faf299622 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/CPP_EEOPTIONS.h @@ -0,0 +1,148 @@ +CBOP +C !ROUTINE: CPP_EEOPTIONS.h +C !INTERFACE: +C include "CPP_EEOPTIONS.h" +C +C !DESCRIPTION: +C *==========================================================* +C | CPP\_EEOPTIONS.h | +C *==========================================================* +C | C preprocessor "execution environment" supporting | +C | flags. Use this file to set flags controlling the | +C | execution environment in which a model runs - as opposed | +C | to the dynamical problem the model solves. | +C | Note: Many options are implemented with both compile time| +C | and run-time switches. This allows options to be | +C | removed altogether, made optional at run-time or | +C | to be permanently enabled. This convention helps | +C | with the data-dependence analysis performed by the | +C | adjoint model compiler. This data dependency | +C | analysis can be upset by runtime switches that it | +C | is unable to recoginise as being fixed for the | +C | duration of an integration. | +C | A reasonable way to use these flags is to | +C | set all options as selectable at runtime but then | +C | once an experimental configuration has been | +C | identified, rebuild the code with the appropriate | +C | options set at compile time. | +C *==========================================================* +CEOP + +#ifndef _CPP_EEOPTIONS_H_ +#define _CPP_EEOPTIONS_H_ + +C In general the following convention applies: +C ALLOW - indicates an feature will be included but it may +C CAN have a run-time flag to allow it to be switched +C on and off. +C If ALLOW or CAN directives are "undef'd" this generally +C means that the feature will not be available i.e. it +C will not be included in the compiled code and so no +C run-time option to use the feature will be available. +C +C ALWAYS - indicates the choice will be fixed at compile time +C so no run-time option will be present + +C=== Macro related options === +C-- Control storage of floating point operands +C On many systems it improves performance only to use +C 8-byte precision for time stepped variables. +C Constant in time terms ( geometric factors etc.. ) +C can use 4-byte precision, reducing memory utilisation and +C boosting performance because of a smaller working set size. +C However, on vector CRAY systems this degrades performance. +C Enable to switch REAL4_IS_SLOW from genmake2 (with LET_RS_BE_REAL4): +#ifdef LET_RS_BE_REAL4 +#undef REAL4_IS_SLOW +#else /* LET_RS_BE_REAL4 */ +#define REAL4_IS_SLOW +#endif /* LET_RS_BE_REAL4 */ + +C-- Control use of "double" precision constants. +C Use D0 where it means REAL*8 but not where it means REAL*16 +#define D0 d0 + +C=== IO related options === +C-- Flag used to indicate whether Fortran formatted write +C and read are threadsafe. On SGI the routines can be thread +C safe, on Sun it is not possible - if you are unsure then +C undef this option. +#undef FMTFTN_IO_THREAD_SAFE + +C-- Flag used to indicate whether Binary write to Local file (i.e., +C a different file for each tile) and read are thread-safe. +#undef LOCBIN_IO_THREAD_SAFE + +C-- Flag to turn off the writing of error message to ioUnit zero +#undef DISABLE_WRITE_TO_UNIT_ZERO + +C-- Alternative formulation of BYTESWAP, faster than +C compiler flag -byteswapio on the Altix. +#undef FAST_BYTESWAP + +C-- Flag to turn on old default of opening scratch files with the +C STATUS='SCRATCH' option. This method, while perfectly FORTRAN-standard, +C caused filename conflicts on some multi-node/multi-processor platforms +C in the past and has been replace by something (hopefully) more robust. +#define USE_FORTRAN_SCRATCH_FILES + +C-- Flag defined for eeboot_minimal.F, eeset_parms.F and open_copy_data_file.F +C to write STDOUT, STDERR and scratch files from process 0 only. +C WARNING: to use only when absolutely confident that the setup is working +C since any message (error/warning/print) from any proc <> 0 will be lost. +#undef SINGLE_DISK_IO + +C=== MPI, EXCH and GLOBAL_SUM related options === +C-- Flag turns off MPI_SEND ready_to_receive polling in the +C gather_* subroutines to speed up integrations. +#undef DISABLE_MPI_READY_TO_RECEIVE + +C-- Control use of communication that might overlap computation. +C Under MPI selects/deselects "non-blocking" sends and receives. +#define ALLOW_ASYNC_COMMUNICATION +#undef ALLOW_ASYNC_COMMUNICATION +#undef ALWAYS_USE_ASYNC_COMMUNICATION +C-- Control use of communication that is atomic to computation. +C Under MPI selects/deselects "blocking" sends and receives. +#define ALLOW_SYNC_COMMUNICATION +#undef ALWAYS_USE_SYNC_COMMUNICATION + +C-- Control XY periodicity in processor to grid mappings +C Note: Model code does not need to know whether a domain is +C periodic because it has overlap regions for every box. +C Model assume that these values have been +C filled in some way. +#undef ALWAYS_PREVENT_X_PERIODICITY +#undef ALWAYS_PREVENT_Y_PERIODICITY +#define CAN_PREVENT_X_PERIODICITY +#define CAN_PREVENT_Y_PERIODICITY + +C-- disconnect tiles (no exchange between tiles, just fill-in edges +C assuming locally periodic subdomain) +#undef DISCONNECTED_TILES + +C-- Always cumulate tile local-sum in the same order by applying MPI allreduce +C to array of tiles ; can get slower with large number of tiles (big set-up) +#undef GLOBAL_SUM_ORDER_TILES + +C-- Alternative way of doing global sum without MPI allreduce call +C but instead, explicit MPI send & recv calls. Expected to be slower. +#define GLOBAL_SUM_SEND_RECV + +C-- Alternative way of doing global sum on a single CPU +C to eliminate tiling-dependent roundoff errors. Note: This is slow. +#define CG2D_SINGLECPU_SUM + +C=== Other options (to add/remove pieces of code) === +C-- Flag to turn on checking for errors from all threads and procs +C (calling S/R STOP_IF_ERROR) before stopping. +#define USE_ERROR_STOP + +C-- Control use of communication with other component: +C allow to import and export from/to Coupler interface. +#undef COMPONENT_MODULE + +#endif /* _CPP_EEOPTIONS_H_ */ + +#include "CPP_EEMACROS.h" + diff --git a/verification/lab_sea/code_tap.noecco/CPP_OPTIONS.h b/verification/lab_sea/code_tap.noecco/CPP_OPTIONS.h new file mode 100644 index 0000000000..e1dbee7d8c --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/CPP_OPTIONS.h @@ -0,0 +1,139 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#undef ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#undef INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#undef NONLIN_FRSURF + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.noecco/CTRL_OPTIONS.h b/verification/lab_sea/code_tap.noecco/CTRL_OPTIONS.h new file mode 100644 index 0000000000..3afca9c197 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/CTRL_OPTIONS.h @@ -0,0 +1,122 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +#undef ECCO_CTRL_DEPRECATED + +#undef EXCLUDE_CTRL_PACK +#define ALLOW_NONDIMENSIONAL_CONTROL_IO +#define ALLOW_PACKUNPACK_METHOD2 + +C >>> Initial values. +#define ALLOW_THETA0_CONTROL +#define ALLOW_SALT0_CONTROL +#undef ALLOW_UVEL0_CONTROL +#undef ALLOW_VVEL0_CONTROL +#undef ALLOW_TR10_CONTROL +#undef ALLOW_TAUU0_CONTROL +#undef ALLOW_TAUV0_CONTROL +#undef ALLOW_SFLUX0_CONTROL +#undef ALLOW_HFLUX0_CONTROL +#undef ALLOW_SSS0_CONTROL +#undef ALLOW_SST0_CONTROL + +C >>> Surface fluxes. +#undef ALLOW_HFLUX_CONTROL +#undef ALLOW_SFLUX_CONTROL +#undef ALLOW_USTRESS_CONTROL +#undef ALLOW_VSTRESS_CONTROL +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> Atmospheric state. +#define ALLOW_ATEMP_CONTROL +#define ALLOW_AQH_CONTROL +#define ALLOW_PRECIP_CONTROL +#define ALLOW_SNOWPRECIP_CONTROL +#define ALLOW_SWDOWN_CONTROL +#define ALLOW_LWDOWN_CONTROL +#define ALLOW_UWIND_CONTROL +#define ALLOW_VWIND_CONTROL +#undef ALLOW_EVAP_CONTROL +#define ALLOW_APRESSURE_CONTROL +#undef ALLOW_RUNOFF_CONTROL + +C >>> Radiation +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> seaice init. conditions +CML#define ALLOW_SIAREA_CONTROL +CML#define ALLOW_SIHEFF_CONTROL +#undef ALLOW_SIHSNOW_CONTROL + +C >>> Other Control. +#undef ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#define ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.noecco/CTRL_SIZE.h b/verification/lab_sea/code_tap.noecco/CTRL_SIZE.h new file mode 100644 index 0000000000..dbd88f59eb --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 2 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 2 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 9 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.noecco/DIAGNOSTICS_SIZE.h b/verification/lab_sea/code_tap.noecco/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..1d13bed797 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/DIAGNOSTICS_SIZE.h @@ -0,0 +1,27 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numdiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numdiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numdiags + INTEGER nRegions, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 30, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numdiags = 20*Nr ) + PARAMETER( nRegions = 0 , nStats = 4 ) + PARAMETER( diagSt_size = 10*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.noecco/ECCO_OPTIONS.h b/verification/lab_sea/code_tap.noecco/ECCO_OPTIONS.h new file mode 100644 index 0000000000..8aa6a90c47 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/ECCO_OPTIONS.h @@ -0,0 +1,107 @@ +CBOP +C !ROUTINE: ECCO_OPTIONS.h +C !INTERFACE: +C #include "ECCO_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for ECCO (ecco) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef ECCO_OPTIONS_H +#define ECCO_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_ECCO +#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 + +# define ALLOW_ATEMP_COST_CONTRIBUTION +# define ALLOW_AQH_COST_CONTRIBUTION +# define ALLOW_UWIND_COST_CONTRIBUTION +# define ALLOW_VWIND_COST_CONTRIBUTION +# define ALLOW_PRECIP_COST_CONTRIBUTION +# define ALLOW_SNOWPRECIP_COST_CONTRIBUTION +# define ALLOW_SWDOWN_COST_CONTRIBUTION +# define ALLOW_LWDOWN_COST_CONTRIBUTION +# undef ALLOW_EVAP_COST_CONTRIBUTION +# define ALLOW_APRESSURE_COST_CONTRIBUTION +# undef ALLOW_RUNOFF_COST_CONTRIBUTION + +# define ALLOW_THETA0_COST_CONTRIBUTION +# define ALLOW_SALT0_COST_CONTRIBUTION +# define ALLOW_THETA_COST_CONTRIBUTION +# define ALLOW_SALT_COST_CONTRIBUTION +# define ALLOW_SST_COST_CONTRIBUTION +# define ALLOW_SSS_COST_CONTRIBUTION + +CML# define ALLOW_SSH_MEAN_COST_CONTRIBUTION +CML# define ALLOW_SSH_TPANOM_COST_CONTRIBUTION +CML# define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION +CML# undef ALLOW_SPH_PROJECTION +CML# if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \ +CML defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \ +CML defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION)) +CML# define ALLOW_SSH_COST_CONTRIBUTION +CML# endif + +C allow for generic cost function and integral terms +#define ALLOW_GENCOST_CONTRIBUTION +C allow for 3 dimensional generic terms +#define ALLOW_GENCOST3D + +C include global mean steric sea level correction +#undef ALLOW_PSBAR_STERIC +C allow for near-shore and high-latitude altimetry +#undef ALLOW_SHALLOW_ALTIMETRY +#undef ALLOW_HIGHLAT_ALTIMETRY + +C allow for In-Situ Profiles cost function contribution +#undef ALLOW_PROFILES_CONTRIBUTION + +C cost function output format +#undef ALLOW_ECCO_OLD_FC_PRINT + +C-- real options? + +C include dump of snap shots for checks +#undef ALLOW_SNAPSHOTS + +cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<< +c#define SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING +cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<< + +C generate more text in STDOUT.0000 +#undef ECCO_VERBOSE + +C allow cost function term for sigmaR +#undef ALLOW_SIGMAR_COST_CONTRIBUTION + +C-- fake options (only used to be printed in S/R ECCO_SUMMARY): + +C allow ??? +#define ALLOW_ECCO_FORWARD_RUN +#undef ALLOW_ECCO_DIAGNOSTIC_RUN +C Just do a "dry" run ( useful for testing ). +#undef ALLOW_NO_DYNAMICS +C Use the Yearly-Monthly-Daily-Stepping call tree. +#undef ALLOW_YMDS_TREE +C Do not call stepping +#define ALLOW_STEPPING_CALL +C Projection onto Spherical Harmonics +#undef ALLOW_SPH_PROJECTION + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_ECCO */ +#endif /* ECCO_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap.noecco/EXF_OPTIONS.h b/verification/lab_sea/code_tap.noecco/EXF_OPTIONS.h new file mode 100644 index 0000000000..7b645a23d9 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/EXF_OPTIONS.h @@ -0,0 +1,233 @@ +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 -------------------- +C pkg/exf CPP options: +C (see also table below on how to combine options) + +C > ( EXF_VERBOSE ) < replaced with run-time integer parameter "exf_debugLev" +C +C >>> ALLOW_ATM_WIND <<< +C If defined, set default value of run-time param. "useAtmWind" to True. +C If useAtmWind=True, read-in and use wind vector (uwind/vwind) +C to compute surface wind stress. +C +C >>> ALLOW_ATM_TEMP <<< +C This is the main EXF option controlling air-sea buoyancy fluxes: +C If undefined, net heat flux (Qnet) and net fresh water flux +C (EmP or EmPmR) are set according to hfluxfile & sfluxfile setting. +C If defined, net heat flux and net fresh water flux are computed +C from sum of various components (radiative SW,LW + turbulent heat +C fluxes SH,LH ; Evap, Precip and optionally RunOff) thus ignoring +C hfluxfile & sfluxfile. +C In addition, it allows to read-in from files atmospheric temperature +C and specific humidity, net radiative fluxes, and precip. +C Also enable to read-in Evap (if EXF_READ_EVAP is defined) or +C turbulent heat fluxes (if ALLOW_READ_TURBFLUXES is defined). +C +C >>> ALLOW_DOWNWARD_RADIATION <<< +C If defined, downward long-wave and short-wave radiation +C can be read-in form files to compute net 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 fluxes (Sensible,Latent,Evap) at the ocean surface. +C +C >>> EXF_CALC_ATMRHO +C Calculate the local air density as function of temp, humidity +C and pressure +C +C >>> EXF_READ_EVAP <<< +C If defined, evaporation field is read-in from file; +C Note: if ALLOW_BULKFORMULAE is defined, evap that is computed from +C atmospheric state will be replaced by read-in evap but computed +C latent heat flux will be kept. +C +C >>> ALLOW_READ_TURBFLUXES <<< +C If defined, turbulent heat fluxes (sensible and latent) can be read-in +C from files (but overwritten if ALLOW_BULKFORMULAE is defined). +C +C >>> ALLOW_RUNOFF <<< +C If defined, river and glacier runoff can be read-in from files. +C +C >>> ALLOW_SALTFLX <<< +C If defined, upward salt flux can be read-in from files. +C +C >>> ALLOW_RUNOFTEMP <<< +C If defined, river and glacier runoff temperature +C 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.h) +C +C >>> EXF_ALLOW_TIDES <<< +C If defined, 2-D tidal geopotential can be read-in from files +C +C >>> EXF_SEAICE_FRACTION <<< +C If defined, seaice fraction can be read-in from files (areaMaskFile) +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 to provide input field on arbitrary Lat-Lon input grid +C (as specified in EXF_NML_04) and to interpolate to model grid. +C Note: default is to interpolate unless {FLD}_interpMethod is set to 0 +C +C ==================================================================== +C +C The following CPP options: +C ALLOW_ATM_WIND / useAtmWind (useWind) +C ALLOW_ATM_TEMP (TEMP) +C ALLOW_DOWNWARD_RADIATION (DOWN) +C ALLOW_BULKFORMULAE (BULK) +C EXF_READ_EVAP (EVAP) +C ALLOW_READ_TURBFLUXES (TURB) +C +C permit all ocean-model forcing configurations listed in the 2 tables below. +C The first configuration (A1,B1) is the flux-forced, ocean model. +C Configurations A2,B3 and A2,B4 use pkg/exf open-water bulk formulae +C to compute, from atmospheric variables, the missing surface fluxes. +C The forcing fields in the rightmost column are defined in EXF_FIELDS.h +C (ocean-model surface forcing field are defined in model/inc/FFIELDS.h) +C +C (A) Surface momentum flux: [model: fu,fv ; exf: ustress,vstress] +C +C # |useWind| actions +C ---|-------|------------------------------------------------------------- +C (1)| False | Read-in ustress,vstress (if needed in B, compute wind-speed) +C | | +C (2)| True | Read-in uwind,vwind ; compute wind stress ustress,vstress. +C ---|-------|------------------------------------------------------------- +C +C (B) Surface buoyancy flux: +C [ net heat flux: Qnet (exf: hflux), net short-wave: Qsw (exf: swflux) +C fresh-water flux: EmPmR (exf: sflux) and saltFlux (exf: saltflx) ] +C +C # |TEMP |DOWN |BULK |EVAP |TURB | actions +C ---|-----|-----|-----|-----|-----|------------------------------------- +C (1)| - | - | - | - | - | Read-in hflux, swflux and sflux. +C | | | | | | +C (2)| - | def | - | - | - | Read-in hflux, swdown and sflux. +C | | | | | | Compute swflux. +C | | | | | | +C (3)| def | def | def | - | - | Read-in atemp, aqh, swdown, lwdown, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (4)| def | - | def | - | - | Read-in atemp, aqh, swflux, lwflux, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux and sflux. +C | | | | | | +C (5)| def | def | - | def | def | Read-in hs, hl, swdown, lwdown, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (6)| def | - | - | def | def | Read-in hs, hl, swflux, lwflux, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux and sflux. +C +C ======================================================================= + +C- Bulk formulae related flags. +#define ALLOW_ATM_TEMP +#define ALLOW_ATM_WIND +#define ALLOW_DOWNWARD_RADIATION +#ifdef ALLOW_ATM_TEMP +C Note: To use ALLOW_BULKFORMULAE or EXF_READ_EVAP, needs #define ALLOW_ATM_TEMP +# define ALLOW_BULKFORMULAE +# undef ALLOW_BULK_LARGEYEAGER04 +# undef EXF_READ_EVAP +# ifndef ALLOW_BULKFORMULAE +C Note: To use ALLOW_READ_TURBFLUXES, ALLOW_ATM_TEMP needs to +C be defined but ALLOW_BULKFORMULAE needs to be undef +# define ALLOW_READ_TURBFLUXES +# endif +#endif /* ALLOW_ATM_TEMP */ + +C- Other forcing fields +#define ALLOW_RUNOFF +#undef ALLOW_RUNOFTEMP +#define ALLOW_SALTFLX + +#if (defined (ALLOW_BULKFORMULAE) && defined (ATMOSPHERIC_LOADING)) +C Note: To use EXF_CALC_ATMRHO, both ALLOW_BULKFORMULAE +C and ATMOSPHERIC_LOADING need to be defined +# undef EXF_CALC_ATMRHO +#endif + +C- Zenith Angle/Albedo related flags. +#ifdef ALLOW_DOWNWARD_RADIATION +# undef ALLOW_ZENITHANGLE +#endif + +C- Use ocean_emissivity*lwdown in lwFlux. This flag should be defined +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. +#define ALLOW_CLIMSST_RELAXATION +#define ALLOW_CLIMSSS_RELAXATION + +C- Allows to read-in (2-d) tidal geopotential forcing +#undef EXF_ALLOW_TIDES + +C- Allows to read-in seaice fraction from files (areaMaskFile) +#define EXF_SEAICE_FRACTION + +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 USE_EXF_INTERPOLATION && 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 */ diff --git a/verification/lab_sea/code_tap.noecco/GMREDI_OPTIONS.h b/verification/lab_sea/code_tap.noecco/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..d77fd372c5 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/GMREDI_OPTIONS.h @@ -0,0 +1,47 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.noecco/SEAICE_OPTIONS.h b/verification/lab_sea/code_tap.noecco/SEAICE_OPTIONS.h new file mode 100644 index 0000000000..47df0f5b9f --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/SEAICE_OPTIONS.h @@ -0,0 +1,183 @@ +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. +#define 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. +#define 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#define 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 +#define SEAICE_DISABLE_SUBLIM + +C-- Suspected missing term in coupled ocn-ice heat budget (to be confirmed) +#define 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. +#define 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. +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Enable grease ice parameterization +C The grease ice parameterization delays formation of solid +C sea ice from frazil ice by a time constant and provides a +C dynamic calculation of the initial solid sea ice thickness +C HO as a function of winds, currents and available grease ice +C volume. Grease ice does not significantly reduce heat loss +C from the ocean in winter and area covered by grease is thus +C handled like open water. +C (For details see Smedsrud and Martin, 2014, Ann.Glac.) +C Set SItrName(1) = 'grease' in namelist SEAICE_PARM03 in data.seaice +C then output SItr01 is SItrNameLong(1) = 'grease ice volume fraction', +C with SItrUnit(1) = '[0-1]', which needs to be multiplied by SIheff +C to yield grease ice volume. Additionally, the actual grease ice +C layer thickness (diagnostic SIgrsLT) can be saved. +#undef SEAICE_GREASE +C-- grease ice uses SItracer: +#ifdef SEAICE_GREASE +# define ALLOW_SITRACER +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Historically, the seaice model was discretized on a B-Grid. This +C discretization should still work but it is not longer actively tested +C and supported. The following flag should always be set in order to use +C the operational C-grid discretization. +#define SEAICE_CGRID + +C-- Only for the C-grid version it is possible to +#ifdef SEAICE_CGRID +C enable advection of sea ice momentum +# undef SEAICE_ALLOW_MOM_ADVECTION +C enable JFNK code by defining the following flag +# undef SEAICE_ALLOW_JFNK +C enable Krylov code by defining the following flag +# undef SEAICE_ALLOW_KRYLOV +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 +# define 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 smooth regularization (without max-function) of delta for +C better differentiability +# undef SEAICE_DELTA_SMOOTHREG +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 +C Use LSR vector code; not useful on non-vector machines, because it +C slows down convergence considerably, but the extra iterations are +C more than made up by the much faster code on vector machines. For +C the only regularly test vector machine these flags a specified +C in the build options file SUPER-UX_SX-8_sxf90_awi, so that we comment +C them out here. +# undef SEAICE_VECTORIZE_LSR +C Use zebra-method (alternate lines) for line-successive-relaxation +C This modification improves the convergence of the vector code +C dramatically, so that is may actually be useful in general, but +C that needs to be tested. Can be used without vectorization options. +# define SEAICE_LSR_ZEBRA +C This flag is also required for an actual adjoint of seaice_lsr; +C increases memory requirements a lot. +# define SEAICE_LSR_ADJOINT_ITER +C Use parameterisation of grounding ice for a better representation +C of fastice in shallow seas +# undef SEAICE_ALLOW_BOTTOMDRAG +#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. +# define 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. +# define 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 +#define SEAICE_ALLOW_FREEDRIFT + +C-- pkg/seaice cost functions compile flags +c >>> Sea-ice volume (requires pkg/cost) +#undef ALLOW_COST_ICE +c >>> Sea-ice misfit to obs (requires pkg/cost and ecco) +#define ALLOW_SEAICE_COST_SMR_AREA + +C-- ssg - This flag turns on the more "correct" seaice themodynamics +C by Arash Bigdeli. +C-- Use the adjointable sea-ice thermodynamic model +C in seaice_growth_adx.F instead of seaice_growth.F +#undef SEAICE_USE_GROWTH_ADX +#endif /* ALLOW_SEAICE */ +#endif /* SEAICE_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap.noecco/SIZE.h b/verification/lab_sea/code_tap.noecco/SIZE.h new file mode 100644 index 0000000000..8008410a3c --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 10, + & sNy = 8, + & OLx = 4, + & OLy = 4, + & nSx = 2, + & nSy = 2, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 23) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/lab_sea/code_tap.noecco/SIZE.h_mpi b/verification/lab_sea/code_tap.noecco/SIZE.h_mpi new file mode 100644 index 0000000000..6d19398db1 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/SIZE.h_mpi @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 10, + & sNy = 8, + & OLx = 4, + & OLy = 4, + & nSx = 1, + & nSy = 2, + & nPx = 2, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 23) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/lab_sea/code_tap.noecco/packages.conf b/verification/lab_sea/code_tap.noecco/packages.conf new file mode 100644 index 0000000000..54595236d9 --- /dev/null +++ b/verification/lab_sea/code_tap.noecco/packages.conf @@ -0,0 +1,13 @@ +#-- list of packages (or group of packages) to compile for this experiment: +oceanic +cd_code +down_slope +exf +seaice +salt_plume +diagnostics +mnc + +#ecco +adjoint +tapenade diff --git a/verification/lab_sea/code_tap/AUTODIFF_OPTIONS.h b/verification/lab_sea/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..b92794d8d2 --- /dev/null +++ b/verification/lab_sea/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,83 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o allow using viscFacInAd to recompute viscosities in AD +#define AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap/CPP_EEOPTIONS.h b/verification/lab_sea/code_tap/CPP_EEOPTIONS.h new file mode 100644 index 0000000000..2faf299622 --- /dev/null +++ b/verification/lab_sea/code_tap/CPP_EEOPTIONS.h @@ -0,0 +1,148 @@ +CBOP +C !ROUTINE: CPP_EEOPTIONS.h +C !INTERFACE: +C include "CPP_EEOPTIONS.h" +C +C !DESCRIPTION: +C *==========================================================* +C | CPP\_EEOPTIONS.h | +C *==========================================================* +C | C preprocessor "execution environment" supporting | +C | flags. Use this file to set flags controlling the | +C | execution environment in which a model runs - as opposed | +C | to the dynamical problem the model solves. | +C | Note: Many options are implemented with both compile time| +C | and run-time switches. This allows options to be | +C | removed altogether, made optional at run-time or | +C | to be permanently enabled. This convention helps | +C | with the data-dependence analysis performed by the | +C | adjoint model compiler. This data dependency | +C | analysis can be upset by runtime switches that it | +C | is unable to recoginise as being fixed for the | +C | duration of an integration. | +C | A reasonable way to use these flags is to | +C | set all options as selectable at runtime but then | +C | once an experimental configuration has been | +C | identified, rebuild the code with the appropriate | +C | options set at compile time. | +C *==========================================================* +CEOP + +#ifndef _CPP_EEOPTIONS_H_ +#define _CPP_EEOPTIONS_H_ + +C In general the following convention applies: +C ALLOW - indicates an feature will be included but it may +C CAN have a run-time flag to allow it to be switched +C on and off. +C If ALLOW or CAN directives are "undef'd" this generally +C means that the feature will not be available i.e. it +C will not be included in the compiled code and so no +C run-time option to use the feature will be available. +C +C ALWAYS - indicates the choice will be fixed at compile time +C so no run-time option will be present + +C=== Macro related options === +C-- Control storage of floating point operands +C On many systems it improves performance only to use +C 8-byte precision for time stepped variables. +C Constant in time terms ( geometric factors etc.. ) +C can use 4-byte precision, reducing memory utilisation and +C boosting performance because of a smaller working set size. +C However, on vector CRAY systems this degrades performance. +C Enable to switch REAL4_IS_SLOW from genmake2 (with LET_RS_BE_REAL4): +#ifdef LET_RS_BE_REAL4 +#undef REAL4_IS_SLOW +#else /* LET_RS_BE_REAL4 */ +#define REAL4_IS_SLOW +#endif /* LET_RS_BE_REAL4 */ + +C-- Control use of "double" precision constants. +C Use D0 where it means REAL*8 but not where it means REAL*16 +#define D0 d0 + +C=== IO related options === +C-- Flag used to indicate whether Fortran formatted write +C and read are threadsafe. On SGI the routines can be thread +C safe, on Sun it is not possible - if you are unsure then +C undef this option. +#undef FMTFTN_IO_THREAD_SAFE + +C-- Flag used to indicate whether Binary write to Local file (i.e., +C a different file for each tile) and read are thread-safe. +#undef LOCBIN_IO_THREAD_SAFE + +C-- Flag to turn off the writing of error message to ioUnit zero +#undef DISABLE_WRITE_TO_UNIT_ZERO + +C-- Alternative formulation of BYTESWAP, faster than +C compiler flag -byteswapio on the Altix. +#undef FAST_BYTESWAP + +C-- Flag to turn on old default of opening scratch files with the +C STATUS='SCRATCH' option. This method, while perfectly FORTRAN-standard, +C caused filename conflicts on some multi-node/multi-processor platforms +C in the past and has been replace by something (hopefully) more robust. +#define USE_FORTRAN_SCRATCH_FILES + +C-- Flag defined for eeboot_minimal.F, eeset_parms.F and open_copy_data_file.F +C to write STDOUT, STDERR and scratch files from process 0 only. +C WARNING: to use only when absolutely confident that the setup is working +C since any message (error/warning/print) from any proc <> 0 will be lost. +#undef SINGLE_DISK_IO + +C=== MPI, EXCH and GLOBAL_SUM related options === +C-- Flag turns off MPI_SEND ready_to_receive polling in the +C gather_* subroutines to speed up integrations. +#undef DISABLE_MPI_READY_TO_RECEIVE + +C-- Control use of communication that might overlap computation. +C Under MPI selects/deselects "non-blocking" sends and receives. +#define ALLOW_ASYNC_COMMUNICATION +#undef ALLOW_ASYNC_COMMUNICATION +#undef ALWAYS_USE_ASYNC_COMMUNICATION +C-- Control use of communication that is atomic to computation. +C Under MPI selects/deselects "blocking" sends and receives. +#define ALLOW_SYNC_COMMUNICATION +#undef ALWAYS_USE_SYNC_COMMUNICATION + +C-- Control XY periodicity in processor to grid mappings +C Note: Model code does not need to know whether a domain is +C periodic because it has overlap regions for every box. +C Model assume that these values have been +C filled in some way. +#undef ALWAYS_PREVENT_X_PERIODICITY +#undef ALWAYS_PREVENT_Y_PERIODICITY +#define CAN_PREVENT_X_PERIODICITY +#define CAN_PREVENT_Y_PERIODICITY + +C-- disconnect tiles (no exchange between tiles, just fill-in edges +C assuming locally periodic subdomain) +#undef DISCONNECTED_TILES + +C-- Always cumulate tile local-sum in the same order by applying MPI allreduce +C to array of tiles ; can get slower with large number of tiles (big set-up) +#undef GLOBAL_SUM_ORDER_TILES + +C-- Alternative way of doing global sum without MPI allreduce call +C but instead, explicit MPI send & recv calls. Expected to be slower. +#define GLOBAL_SUM_SEND_RECV + +C-- Alternative way of doing global sum on a single CPU +C to eliminate tiling-dependent roundoff errors. Note: This is slow. +#define CG2D_SINGLECPU_SUM + +C=== Other options (to add/remove pieces of code) === +C-- Flag to turn on checking for errors from all threads and procs +C (calling S/R STOP_IF_ERROR) before stopping. +#define USE_ERROR_STOP + +C-- Control use of communication with other component: +C allow to import and export from/to Coupler interface. +#undef COMPONENT_MODULE + +#endif /* _CPP_EEOPTIONS_H_ */ + +#include "CPP_EEMACROS.h" + diff --git a/verification/lab_sea/code_tap/CPP_OPTIONS.h b/verification/lab_sea/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..e1dbee7d8c --- /dev/null +++ b/verification/lab_sea/code_tap/CPP_OPTIONS.h @@ -0,0 +1,139 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#undef ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#undef INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#undef NONLIN_FRSURF + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap/CTRL_OPTIONS.h b/verification/lab_sea/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..3afca9c197 --- /dev/null +++ b/verification/lab_sea/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,122 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +#undef ECCO_CTRL_DEPRECATED + +#undef EXCLUDE_CTRL_PACK +#define ALLOW_NONDIMENSIONAL_CONTROL_IO +#define ALLOW_PACKUNPACK_METHOD2 + +C >>> Initial values. +#define ALLOW_THETA0_CONTROL +#define ALLOW_SALT0_CONTROL +#undef ALLOW_UVEL0_CONTROL +#undef ALLOW_VVEL0_CONTROL +#undef ALLOW_TR10_CONTROL +#undef ALLOW_TAUU0_CONTROL +#undef ALLOW_TAUV0_CONTROL +#undef ALLOW_SFLUX0_CONTROL +#undef ALLOW_HFLUX0_CONTROL +#undef ALLOW_SSS0_CONTROL +#undef ALLOW_SST0_CONTROL + +C >>> Surface fluxes. +#undef ALLOW_HFLUX_CONTROL +#undef ALLOW_SFLUX_CONTROL +#undef ALLOW_USTRESS_CONTROL +#undef ALLOW_VSTRESS_CONTROL +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> Atmospheric state. +#define ALLOW_ATEMP_CONTROL +#define ALLOW_AQH_CONTROL +#define ALLOW_PRECIP_CONTROL +#define ALLOW_SNOWPRECIP_CONTROL +#define ALLOW_SWDOWN_CONTROL +#define ALLOW_LWDOWN_CONTROL +#define ALLOW_UWIND_CONTROL +#define ALLOW_VWIND_CONTROL +#undef ALLOW_EVAP_CONTROL +#define ALLOW_APRESSURE_CONTROL +#undef ALLOW_RUNOFF_CONTROL + +C >>> Radiation +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> seaice init. conditions +CML#define ALLOW_SIAREA_CONTROL +CML#define ALLOW_SIHEFF_CONTROL +#undef ALLOW_SIHSNOW_CONTROL + +C >>> Other Control. +#undef ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#define ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap/CTRL_SIZE.h b/verification/lab_sea/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..dbd88f59eb --- /dev/null +++ b/verification/lab_sea/code_tap/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 2 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 2 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 9 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap/DIAGNOSTICS_SIZE.h b/verification/lab_sea/code_tap/DIAGNOSTICS_SIZE.h new file mode 100644 index 0000000000..1d13bed797 --- /dev/null +++ b/verification/lab_sea/code_tap/DIAGNOSTICS_SIZE.h @@ -0,0 +1,27 @@ +C Diagnostics Array Dimension +C --------------------------- +C ndiagMax :: maximum total number of available diagnostics +C numlists :: maximum number of diagnostics list (in data.diagnostics) +C numperlist :: maximum number of active diagnostics per list (data.diagnostics) +C numLevels :: maximum number of levels to write (data.diagnostics) +C numdiags :: maximum size of the storage array for active 2D/3D diagnostics +C nRegions :: maximum number of regions (statistics-diagnostics) +C nStats :: maximum number of statistics (e.g.: aver,min,max ...) +C diagSt_size:: maximum size of the storage array for statistics-diagnostics +C Note : may need to increase "numdiags" when using several 2D/3D diagnostics, +C and "diagSt_size" (statistics-diags) since values here are deliberately small. + INTEGER ndiagMax + INTEGER numlists, numperlist, numLevels + INTEGER numdiags + INTEGER nRegions, nStats + INTEGER diagSt_size + PARAMETER( ndiagMax = 500 ) + PARAMETER( numlists = 30, numperlist = 50, numLevels=2*Nr ) + PARAMETER( numdiags = 20*Nr ) + PARAMETER( nRegions = 0 , nStats = 4 ) + PARAMETER( diagSt_size = 10*Nr ) + + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap/ECCO_OPTIONS.h b/verification/lab_sea/code_tap/ECCO_OPTIONS.h new file mode 100644 index 0000000000..8aa6a90c47 --- /dev/null +++ b/verification/lab_sea/code_tap/ECCO_OPTIONS.h @@ -0,0 +1,107 @@ +CBOP +C !ROUTINE: ECCO_OPTIONS.h +C !INTERFACE: +C #include "ECCO_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for ECCO (ecco) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef ECCO_OPTIONS_H +#define ECCO_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_ECCO +#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 + +# define ALLOW_ATEMP_COST_CONTRIBUTION +# define ALLOW_AQH_COST_CONTRIBUTION +# define ALLOW_UWIND_COST_CONTRIBUTION +# define ALLOW_VWIND_COST_CONTRIBUTION +# define ALLOW_PRECIP_COST_CONTRIBUTION +# define ALLOW_SNOWPRECIP_COST_CONTRIBUTION +# define ALLOW_SWDOWN_COST_CONTRIBUTION +# define ALLOW_LWDOWN_COST_CONTRIBUTION +# undef ALLOW_EVAP_COST_CONTRIBUTION +# define ALLOW_APRESSURE_COST_CONTRIBUTION +# undef ALLOW_RUNOFF_COST_CONTRIBUTION + +# define ALLOW_THETA0_COST_CONTRIBUTION +# define ALLOW_SALT0_COST_CONTRIBUTION +# define ALLOW_THETA_COST_CONTRIBUTION +# define ALLOW_SALT_COST_CONTRIBUTION +# define ALLOW_SST_COST_CONTRIBUTION +# define ALLOW_SSS_COST_CONTRIBUTION + +CML# define ALLOW_SSH_MEAN_COST_CONTRIBUTION +CML# define ALLOW_SSH_TPANOM_COST_CONTRIBUTION +CML# define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION +CML# undef ALLOW_SPH_PROJECTION +CML# if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \ +CML defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \ +CML defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION)) +CML# define ALLOW_SSH_COST_CONTRIBUTION +CML# endif + +C allow for generic cost function and integral terms +#define ALLOW_GENCOST_CONTRIBUTION +C allow for 3 dimensional generic terms +#define ALLOW_GENCOST3D + +C include global mean steric sea level correction +#undef ALLOW_PSBAR_STERIC +C allow for near-shore and high-latitude altimetry +#undef ALLOW_SHALLOW_ALTIMETRY +#undef ALLOW_HIGHLAT_ALTIMETRY + +C allow for In-Situ Profiles cost function contribution +#undef ALLOW_PROFILES_CONTRIBUTION + +C cost function output format +#undef ALLOW_ECCO_OLD_FC_PRINT + +C-- real options? + +C include dump of snap shots for checks +#undef ALLOW_SNAPSHOTS + +cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<< +c#define SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING +cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<< + +C generate more text in STDOUT.0000 +#undef ECCO_VERBOSE + +C allow cost function term for sigmaR +#undef ALLOW_SIGMAR_COST_CONTRIBUTION + +C-- fake options (only used to be printed in S/R ECCO_SUMMARY): + +C allow ??? +#define ALLOW_ECCO_FORWARD_RUN +#undef ALLOW_ECCO_DIAGNOSTIC_RUN +C Just do a "dry" run ( useful for testing ). +#undef ALLOW_NO_DYNAMICS +C Use the Yearly-Monthly-Daily-Stepping call tree. +#undef ALLOW_YMDS_TREE +C Do not call stepping +#define ALLOW_STEPPING_CALL +C Projection onto Spherical Harmonics +#undef ALLOW_SPH_PROJECTION + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_ECCO */ +#endif /* ECCO_OPTIONS_H */ diff --git a/verification/lab_sea/code_tap/EXF_OPTIONS.h b/verification/lab_sea/code_tap/EXF_OPTIONS.h new file mode 100644 index 0000000000..7b645a23d9 --- /dev/null +++ b/verification/lab_sea/code_tap/EXF_OPTIONS.h @@ -0,0 +1,233 @@ +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 -------------------- +C pkg/exf CPP options: +C (see also table below on how to combine options) + +C > ( EXF_VERBOSE ) < replaced with run-time integer parameter "exf_debugLev" +C +C >>> ALLOW_ATM_WIND <<< +C If defined, set default value of run-time param. "useAtmWind" to True. +C If useAtmWind=True, read-in and use wind vector (uwind/vwind) +C to compute surface wind stress. +C +C >>> ALLOW_ATM_TEMP <<< +C This is the main EXF option controlling air-sea buoyancy fluxes: +C If undefined, net heat flux (Qnet) and net fresh water flux +C (EmP or EmPmR) are set according to hfluxfile & sfluxfile setting. +C If defined, net heat flux and net fresh water flux are computed +C from sum of various components (radiative SW,LW + turbulent heat +C fluxes SH,LH ; Evap, Precip and optionally RunOff) thus ignoring +C hfluxfile & sfluxfile. +C In addition, it allows to read-in from files atmospheric temperature +C and specific humidity, net radiative fluxes, and precip. +C Also enable to read-in Evap (if EXF_READ_EVAP is defined) or +C turbulent heat fluxes (if ALLOW_READ_TURBFLUXES is defined). +C +C >>> ALLOW_DOWNWARD_RADIATION <<< +C If defined, downward long-wave and short-wave radiation +C can be read-in form files to compute net 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 fluxes (Sensible,Latent,Evap) at the ocean surface. +C +C >>> EXF_CALC_ATMRHO +C Calculate the local air density as function of temp, humidity +C and pressure +C +C >>> EXF_READ_EVAP <<< +C If defined, evaporation field is read-in from file; +C Note: if ALLOW_BULKFORMULAE is defined, evap that is computed from +C atmospheric state will be replaced by read-in evap but computed +C latent heat flux will be kept. +C +C >>> ALLOW_READ_TURBFLUXES <<< +C If defined, turbulent heat fluxes (sensible and latent) can be read-in +C from files (but overwritten if ALLOW_BULKFORMULAE is defined). +C +C >>> ALLOW_RUNOFF <<< +C If defined, river and glacier runoff can be read-in from files. +C +C >>> ALLOW_SALTFLX <<< +C If defined, upward salt flux can be read-in from files. +C +C >>> ALLOW_RUNOFTEMP <<< +C If defined, river and glacier runoff temperature +C 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.h) +C +C >>> EXF_ALLOW_TIDES <<< +C If defined, 2-D tidal geopotential can be read-in from files +C +C >>> EXF_SEAICE_FRACTION <<< +C If defined, seaice fraction can be read-in from files (areaMaskFile) +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 to provide input field on arbitrary Lat-Lon input grid +C (as specified in EXF_NML_04) and to interpolate to model grid. +C Note: default is to interpolate unless {FLD}_interpMethod is set to 0 +C +C ==================================================================== +C +C The following CPP options: +C ALLOW_ATM_WIND / useAtmWind (useWind) +C ALLOW_ATM_TEMP (TEMP) +C ALLOW_DOWNWARD_RADIATION (DOWN) +C ALLOW_BULKFORMULAE (BULK) +C EXF_READ_EVAP (EVAP) +C ALLOW_READ_TURBFLUXES (TURB) +C +C permit all ocean-model forcing configurations listed in the 2 tables below. +C The first configuration (A1,B1) is the flux-forced, ocean model. +C Configurations A2,B3 and A2,B4 use pkg/exf open-water bulk formulae +C to compute, from atmospheric variables, the missing surface fluxes. +C The forcing fields in the rightmost column are defined in EXF_FIELDS.h +C (ocean-model surface forcing field are defined in model/inc/FFIELDS.h) +C +C (A) Surface momentum flux: [model: fu,fv ; exf: ustress,vstress] +C +C # |useWind| actions +C ---|-------|------------------------------------------------------------- +C (1)| False | Read-in ustress,vstress (if needed in B, compute wind-speed) +C | | +C (2)| True | Read-in uwind,vwind ; compute wind stress ustress,vstress. +C ---|-------|------------------------------------------------------------- +C +C (B) Surface buoyancy flux: +C [ net heat flux: Qnet (exf: hflux), net short-wave: Qsw (exf: swflux) +C fresh-water flux: EmPmR (exf: sflux) and saltFlux (exf: saltflx) ] +C +C # |TEMP |DOWN |BULK |EVAP |TURB | actions +C ---|-----|-----|-----|-----|-----|------------------------------------- +C (1)| - | - | - | - | - | Read-in hflux, swflux and sflux. +C | | | | | | +C (2)| - | def | - | - | - | Read-in hflux, swdown and sflux. +C | | | | | | Compute swflux. +C | | | | | | +C (3)| def | def | def | - | - | Read-in atemp, aqh, swdown, lwdown, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (4)| def | - | def | - | - | Read-in atemp, aqh, swflux, lwflux, +C | | | | | | precip, and runoff. +C | | | | | | Compute hflux and sflux. +C | | | | | | +C (5)| def | def | - | def | def | Read-in hs, hl, swdown, lwdown, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux, swflux and sflux. +C | | | | | | +C (6)| def | - | - | def | def | Read-in hs, hl, swflux, lwflux, +C | | | | | | evap, precip and runoff. +C | | | | | | Compute hflux and sflux. +C +C ======================================================================= + +C- Bulk formulae related flags. +#define ALLOW_ATM_TEMP +#define ALLOW_ATM_WIND +#define ALLOW_DOWNWARD_RADIATION +#ifdef ALLOW_ATM_TEMP +C Note: To use ALLOW_BULKFORMULAE or EXF_READ_EVAP, needs #define ALLOW_ATM_TEMP +# define ALLOW_BULKFORMULAE +# undef ALLOW_BULK_LARGEYEAGER04 +# undef EXF_READ_EVAP +# ifndef ALLOW_BULKFORMULAE +C Note: To use ALLOW_READ_TURBFLUXES, ALLOW_ATM_TEMP needs to +C be defined but ALLOW_BULKFORMULAE needs to be undef +# define ALLOW_READ_TURBFLUXES +# endif +#endif /* ALLOW_ATM_TEMP */ + +C- Other forcing fields +#define ALLOW_RUNOFF +#undef ALLOW_RUNOFTEMP +#define ALLOW_SALTFLX + +#if (defined (ALLOW_BULKFORMULAE) && defined (ATMOSPHERIC_LOADING)) +C Note: To use EXF_CALC_ATMRHO, both ALLOW_BULKFORMULAE +C and ATMOSPHERIC_LOADING need to be defined +# undef EXF_CALC_ATMRHO +#endif + +C- Zenith Angle/Albedo related flags. +#ifdef ALLOW_DOWNWARD_RADIATION +# undef ALLOW_ZENITHANGLE +#endif + +C- Use ocean_emissivity*lwdown in lwFlux. This flag should be defined +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. +#define ALLOW_CLIMSST_RELAXATION +#define ALLOW_CLIMSSS_RELAXATION + +C- Allows to read-in (2-d) tidal geopotential forcing +#undef EXF_ALLOW_TIDES + +C- Allows to read-in seaice fraction from files (areaMaskFile) +#define EXF_SEAICE_FRACTION + +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 USE_EXF_INTERPOLATION && 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 */ diff --git a/verification/lab_sea/code_tap/GMREDI_OPTIONS.h b/verification/lab_sea/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..d77fd372c5 --- /dev/null +++ b/verification/lab_sea/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,47 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap/SEAICE_OPTIONS.h b/verification/lab_sea/code_tap/SEAICE_OPTIONS.h new file mode 100644 index 0000000000..8e1df30deb --- /dev/null +++ b/verification/lab_sea/code_tap/SEAICE_OPTIONS.h @@ -0,0 +1,183 @@ +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. +#define 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. +#define 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#define 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 +#define SEAICE_DISABLE_SUBLIM + +C-- Suspected missing term in coupled ocn-ice heat budget (to be confirmed) +#define 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. +#define 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. +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Enable grease ice parameterization +C The grease ice parameterization delays formation of solid +C sea ice from frazil ice by a time constant and provides a +C dynamic calculation of the initial solid sea ice thickness +C HO as a function of winds, currents and available grease ice +C volume. Grease ice does not significantly reduce heat loss +C from the ocean in winter and area covered by grease is thus +C handled like open water. +C (For details see Smedsrud and Martin, 2014, Ann.Glac.) +C Set SItrName(1) = 'grease' in namelist SEAICE_PARM03 in data.seaice +C then output SItr01 is SItrNameLong(1) = 'grease ice volume fraction', +C with SItrUnit(1) = '[0-1]', which needs to be multiplied by SIheff +C to yield grease ice volume. Additionally, the actual grease ice +C layer thickness (diagnostic SIgrsLT) can be saved. +#undef SEAICE_GREASE +C-- grease ice uses SItracer: +#ifdef SEAICE_GREASE +# define ALLOW_SITRACER +# define ALLOW_SITRACER_ADVCAP +#endif + +C-- Historically, the seaice model was discretized on a B-Grid. This +C discretization should still work but it is not longer actively tested +C and supported. The following flag should always be set in order to use +C the operational C-grid discretization. +#define SEAICE_CGRID + +C-- Only for the C-grid version it is possible to +#ifdef SEAICE_CGRID +C enable advection of sea ice momentum +# undef SEAICE_ALLOW_MOM_ADVECTION +C enable JFNK code by defining the following flag +# undef SEAICE_ALLOW_JFNK +C enable Krylov code by defining the following flag +# undef SEAICE_ALLOW_KRYLOV +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 +# define 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 smooth regularization (without max-function) of delta for +C better differentiability +# undef SEAICE_DELTA_SMOOTHREG +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 +C Use LSR vector code; not useful on non-vector machines, because it +C slows down convergence considerably, but the extra iterations are +C more than made up by the much faster code on vector machines. For +C the only regularly test vector machine these flags a specified +C in the build options file SUPER-UX_SX-8_sxf90_awi, so that we comment +C them out here. +# undef SEAICE_VECTORIZE_LSR +C Use zebra-method (alternate lines) for line-successive-relaxation +C This modification improves the convergence of the vector code +C dramatically, so that is may actually be useful in general, but +C that needs to be tested. Can be used without vectorization options. +# define SEAICE_LSR_ZEBRA +C This flag is also required for an actual adjoint of seaice_lsr; +C increases memory requirements a lot. +# define SEAICE_LSR_ADJOINT_ITER +C Use parameterisation of grounding ice for a better representation +C of fastice in shallow seas +# undef SEAICE_ALLOW_BOTTOMDRAG +#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. +# define 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. +# define 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 +#define SEAICE_ALLOW_FREEDRIFT + +C-- pkg/seaice cost functions compile flags +c >>> Sea-ice volume (requires pkg/cost) +#undef ALLOW_COST_ICE +c >>> Sea-ice misfit to obs (requires pkg/cost and ecco) +c#define ALLOW_SEAICE_COST_SMR_AREA + +C-- ssg - This flag turns on the more "correct" seaice themodynamics +C by Arash Bigdeli. +C-- Use the adjointable sea-ice thermodynamic model +C in seaice_growth_adx.F instead of seaice_growth.F +#undef SEAICE_USE_GROWTH_ADX +#endif /* ALLOW_SEAICE */ +#endif /* SEAICE_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/lab_sea/code_tap/SIZE.h b/verification/lab_sea/code_tap/SIZE.h new file mode 100644 index 0000000000..8008410a3c --- /dev/null +++ b/verification/lab_sea/code_tap/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 10, + & sNy = 8, + & OLx = 4, + & OLy = 4, + & nSx = 2, + & nSy = 2, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 23) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/lab_sea/code_tap/SIZE.h_mpi b/verification/lab_sea/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..6d19398db1 --- /dev/null +++ b/verification/lab_sea/code_tap/SIZE.h_mpi @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 10, + & sNy = 8, + & OLx = 4, + & OLy = 4, + & nSx = 1, + & nSy = 2, + & nPx = 2, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 23) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/lab_sea/code_tap/packages.conf b/verification/lab_sea/code_tap/packages.conf new file mode 100644 index 0000000000..f221c99721 --- /dev/null +++ b/verification/lab_sea/code_tap/packages.conf @@ -0,0 +1,13 @@ +#-- list of packages (or group of packages) to compile for this experiment: +oceanic +cd_code +down_slope +exf +seaice +salt_plume +diagnostics +mnc + +ecco +adjoint +tapenade diff --git a/verification/lab_sea/input_tap.noecco/data.cost b/verification/lab_sea/input_tap.noecco/data.cost new file mode 100644 index 0000000000..8ee4bd7566 --- /dev/null +++ b/verification/lab_sea/input_tap.noecco/data.cost @@ -0,0 +1,9 @@ +# ****************** +# Cost function +# ****************** + &COST_NML +# + mult_tracer = 1., + mult_test = 1., + mult_atl = 1., + & diff --git a/verification/lab_sea/input_tap.noecco/data.ctrl b/verification/lab_sea/input_tap.noecco/data.ctrl new file mode 100644 index 0000000000..c4f1fe81d5 --- /dev/null +++ b/verification/lab_sea/input_tap.noecco/data.ctrl @@ -0,0 +1,102 @@ +# +# +# ********************* +# ECCO controlvariables +# ********************* + &CTRL_NML + & +# +# ********************* +# names for ctrl_pack/unpack +# ********************* + &CTRL_PACKNAMES + & +# +# ********************* +# names for CTRL_GENARR, CTRL_GENTIM +# ********************* + &CTRL_NML_GENARR + xx_genarr3d_file(1) = 'xx_theta', + xx_genarr3d_weight(1) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +#mult_genarr3d(1) = 1.0, +# + xx_genarr3d_file(2) = 'xx_salt', + xx_genarr3d_weight(2) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +#mult_genarr3d(2) = 1.0, +# + xx_genarr2d_file(1) = 'xx_siarea', + xx_genarr2d_weight(1) = 'ones_64b.bin', +#xx_genarr2d_bounds(1:5,1) = 0.,0.,1.,1.,0., +#mult_genarr2d(1) = 1.0, +# + xx_genarr2d_file(2) = 'xx_siheff', + xx_genarr2d_weight(2) = 'ones_64b.bin', +#xx_genarr2d_bounds(1:5,2) = 0.,0.,1.,1.,0., +#mult_genarr2d(2) = 1.0, +# + xx_gentim2d_file(1) = 'xx_atemp', + xx_gentim2d_weight(1) = 'ones_64b.bin', + xx_gentim2d_startdate1(1) = 19790101, + xx_gentim2d_startdate2(1) = 000000, + xx_gentim2d_period(1) = 864000.0, +#mult_gentim2d(9) = 1.0, + + xx_gentim2d_file(2) = 'xx_aqh', + xx_gentim2d_weight(2) = 'ones_64b.bin', + xx_gentim2d_startdate1(2) = 19790101, + xx_gentim2d_startdate2(2) = 000000, + xx_gentim2d_period(2) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + xx_gentim2d_file(3) = 'xx_precip', + xx_gentim2d_weight(3) = 'ones_64b.bin', + xx_gentim2d_startdate1(3) = 19790101, + xx_gentim2d_startdate2(3) = 000000, + xx_gentim2d_period(3) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + xx_gentim2d_file(4) = 'xx_snowprecip', + xx_gentim2d_weight(4) = 'ones_64b.bin', + xx_gentim2d_startdate1(4) = 19790101, + xx_gentim2d_startdate2(4) = 000000, + xx_gentim2d_period(4) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + xx_gentim2d_file(5) = 'xx_swdown', + xx_gentim2d_weight(5) = 'ones_64b.bin', + xx_gentim2d_startdate1(5) = 19790101, + xx_gentim2d_startdate2(5) = 000000, + xx_gentim2d_period(5) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + xx_gentim2d_file(6) = 'xx_lwdown', + xx_gentim2d_weight(6) = 'ones_64b.bin', + xx_gentim2d_startdate1(6) = 19790101, + xx_gentim2d_startdate2(6) = 000000, + xx_gentim2d_period(6) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + xx_gentim2d_file(7) = 'xx_uwind', + xx_gentim2d_weight(7) = 'ones_64b.bin', + xx_gentim2d_startdate1(7) = 19790101, + xx_gentim2d_startdate2(7) = 000000, + xx_gentim2d_period(7) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + xx_gentim2d_file(8) = 'xx_vwind', + xx_gentim2d_weight(8) = 'ones_64b.bin', + xx_gentim2d_startdate1(8) = 19790101, + xx_gentim2d_startdate2(8) = 000000, + xx_gentim2d_period(8) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + xx_gentim2d_file(9) = 'xx_apressure', + xx_gentim2d_weight(9) = 'ones_64b.bin', + xx_gentim2d_startdate1(9) = 19790101, + xx_gentim2d_startdate2(9) = 000000, + xx_gentim2d_period(9) = 864000.0, +#mult_gentim2d(9) = 1.0, +# + & diff --git a/verification/lab_sea/input_tap.noecco/data.pkg b/verification/lab_sea/input_tap.noecco/data.pkg new file mode 100644 index 0000000000..2c4d4665c0 --- /dev/null +++ b/verification/lab_sea/input_tap.noecco/data.pkg @@ -0,0 +1,13 @@ +# Packages + &PACKAGES + useGMRedi = .TRUE., + useKPP = .TRUE., + useEXF = .TRUE., + useSEAICE = .TRUE., + useDOWN_SLOPE=.TRUE., + useDiagnostics = .FALSE., + useCAL = .TRUE., +# useMNC = .TRUE., +# useECCO = .TRUE., + useGrdchk = .TRUE., + & diff --git a/verification/lab_sea/input_tap.noecco/data.seaice b/verification/lab_sea/input_tap.noecco/data.seaice new file mode 100644 index 0000000000..7e19228d19 --- /dev/null +++ b/verification/lab_sea/input_tap.noecco/data.seaice @@ -0,0 +1,62 @@ +# SEAICE parameters + &SEAICE_PARM01 + SEAICE_initialHEFF = 1.0, + SEAICE_deltaTtherm = 3600., + SEAICE_deltaTdyn = 3600., + SEAICEuseDYNAMICS =.TRUE., +#-- According to Martin, SEAICE_clipVelocities is not recommended +# SEAICE_clipVelocities=.TRUE., + SEAICEadvSalt =.FALSE., +#-- above: to reproduce old results + LSR_ERROR = 1.E-6, +### SEAICE_deltaTevp = 60, + SEAICE_EPS = 1.E-8, + SEAICE_multDim = 7, +#- to reproduce old results with former #defined SEAICE_SOLVE4TEMP_LEGACY code + useMaykutSatVapPoly = .TRUE., + postSolvTempIter = 0, +#- paramaters from SEAICE_GROWTH_LEGACY branch + SEAICE_doOpenWaterGrowth=.FALSE., + SEAICE_doOpenWaterMelt=.FALSE., + SEAICE_areaGainFormula=2, + SEAICE_areaLossFormula=3, +# + SEAICE_saltFrac = 0.3, + SEAICE_tempFrz0 = -1.96, + SEAICE_dTempFrz_dS = 0., + SEAICE_availHeatFrac = 0.8, + SEAICEdiffKhArea = 200., + SEAICEwriteState = .TRUE., +# SEAICE_tave_mnc = .FALSE., +# SEAICE_dump_mnc = .FALSE., +# SEAICE_mon_mnc = .FALSE., +# old defaults + SEAICEadvScheme = 2, + SEAICEscaleSurfStress = .FALSE., + SEAICEaddSnowMass = .FALSE., + SEAICE_useMultDimSnow = .FALSE., + SEAICEetaZmethod = 0, + SEAICE_Olx = 0, + SEAICE_Oly = 0, + SEAICE_drag = 0.002, + SEAICE_waterDrag = 0.005355404089581304, + & + + &SEAICE_PARM02 +# currently COST_ICE_TEST is undefined in SEAICE_OPTIONS.h, +# so that none of these parameters are used and the cost function +# contribution by sea ice is zero (f_ice = 0.) + mult_ice = 1., +# choose which seaice cost term you want + cost_ice_flag = 1, +# the following timings are obsolete; +# replaced by lastinterval +# ssg - Dates same as in data.cal + costIceStart1 = 19790101, + costIceStart2 = 00000, + costIceEnd1 = 19790201, + costIceEnd2 = 00000, + & + + &SEAICE_PARM03 + & diff --git a/verification/lab_sea/input_tap/data.mnc b/verification/lab_sea/input_tap/data.mnc new file mode 100644 index 0000000000..cdb9c0ae5a --- /dev/null +++ b/verification/lab_sea/input_tap/data.mnc @@ -0,0 +1,15 @@ +# Example "data.mnc" file +# Lines beginning "#" are comments + &MNC_01 +# mnc_echo_gvtypes=.FALSE., +# mnc_use_indir=.FALSE., + mnc_use_outdir=.TRUE., + mnc_outdir_str='mnc_test_', +#mnc_outdir_date=.TRUE., + monitor_mnc=.FALSE., +#timeave_mnc=.FALSE., +#snapshot_mnc=.FALSE., +#autodiff_mnc=.FALSE., + pickup_write_mnc=.FALSE., + pickup_read_mnc=.FALSE., + & diff --git a/verification/lab_sea/input_tap/data.pkg b/verification/lab_sea/input_tap/data.pkg new file mode 100644 index 0000000000..f5387c5ea6 --- /dev/null +++ b/verification/lab_sea/input_tap/data.pkg @@ -0,0 +1,13 @@ +# Packages + &PACKAGES + useGMRedi = .TRUE., + useKPP = .TRUE., + useEXF = .TRUE., + useSEAICE = .TRUE., + useDOWN_SLOPE=.TRUE., + useDiagnostics = .FALSE., + useCAL = .TRUE., + useMNC = .TRUE., + useECCO = .TRUE., + useGrdchk = .TRUE., + & diff --git a/verification/lab_sea/input_tap/prepare_run b/verification/lab_sea/input_tap/prepare_run new file mode 100755 index 0000000000..7be0a65d2d --- /dev/null +++ b/verification/lab_sea/input_tap/prepare_run @@ -0,0 +1,77 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take *.1979 files +#- from this dir: +fromDir="../input" + +fileList=`( cd $fromDir ; echo *1979 )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And take file 'ones_64b.bin' +#- from this dir: +fromDir="../../isomip/input_ad" + +fileList='ones_64b.bin' + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And to simplify maintenance, take parameter files +#- from this dir: +fromDir="../input_ad" + +fileList=`( cd $fromDir ; echo data* eedata *.bin labsea_* )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/lab_sea/results/output_tap_adj.noecco.txt b/verification/lab_sea/results/output_tap_adj.noecco.txt new file mode 100644 index 0000000000..2a7d248370 --- /dev/null +++ b/verification/lab_sea/results/output_tap_adj.noecco.txt @@ -0,0 +1,5565 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Wed May 24 08:41:37 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 10 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 8 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 4 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 4 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 23 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 20 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 16 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># tRef - Reference vertical potential temperature (deg C) +(PID.TID 0000.0001) ># sRef - Reference vertical salinity (PSU) +(PID.TID 0000.0001) ># viscAh - Horizontal eddy viscosity coefficient (m^2/s) +(PID.TID 0000.0001) ># viscAz - Vertical eddy viscosity coefficient (m^2/s) +(PID.TID 0000.0001) ># diffKhT - Horizontal temperature diffusivity (m^2/s) +(PID.TID 0000.0001) ># diffKzT - Vertical temperature diffusivity (m^2/s) +(PID.TID 0000.0001) ># diffKhS - Horizontal salt diffusivity (m^2/s) +(PID.TID 0000.0001) ># diffKzS - Vertical salt diffusivity (m^2/s) +(PID.TID 0000.0001) ># gravity - Acceleration due to gravity (m/s^2) +(PID.TID 0000.0001) ># rigidLid - Set to true to use rigid lid +(PID.TID 0000.0001) ># implicitFreeSurface - Set to true to use implicit free surface +(PID.TID 0000.0001) ># eosType - Flag for linear or polynomial equation of state +(PID.TID 0000.0001) ># momAdvection - On/Off flag for momentum self transport +(PID.TID 0000.0001) ># momViscosity - On/Off flag for momentum mixing +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef= 24.0 , 23.0 , 22.0 , 21.0 , 20.0 , +(PID.TID 0000.0001) > 19.0 , 18.0 , 17.0 , 16.0 , 15.0 , +(PID.TID 0000.0001) > 14.0 , 13.0 , 12.0 , 11.0 , 10.0 , +(PID.TID 0000.0001) > 9.0 , 8.0 , 7.0 , 6.0, 5.0 , +(PID.TID 0000.0001) > 4.0 , 3.0 , 2.0 , +(PID.TID 0000.0001) > sRef= 34.65, 34.75, 34.82, 34.87, 34.90, +(PID.TID 0000.0001) > 34.90, 34.86, 34.78, 34.69, 34.60, +(PID.TID 0000.0001) > 34.58, 34.62, 34.68, 34.72, 34.73, +(PID.TID 0000.0001) > 34.74, 34.73, 34.73, 34.72, 34.72, +(PID.TID 0000.0001) > 34.71, 34.70, 34.69, +(PID.TID 0000.0001) > no_slip_sides=.FALSE., +(PID.TID 0000.0001) > no_slip_bottom=.TRUE., +(PID.TID 0000.0001) > viscAz=1.93e-5, +(PID.TID 0000.0001) > viscAh=5.E4, +(PID.TID 0000.0001) > diffKhT=0.0, +(PID.TID 0000.0001) > diffKzT=1.46e-5, +(PID.TID 0000.0001) > diffKhS=0.0, +(PID.TID 0000.0001) > diffKzS=1.46e-5, +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > saltStepping=.TRUE., +(PID.TID 0000.0001) > tempStepping=.TRUE., +(PID.TID 0000.0001) > momStepping=.TRUE., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > implicitViscosity=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.FALSE., +(PID.TID 0000.0001) >#- set wrong celsius2K to reproduce old results: +(PID.TID 0000.0001) > celsius2K=273.16, +(PID.TID 0000.0001) > HeatCapacity_Cp = 3986.D0, +(PID.TID 0000.0001) > gravity = 9.8156, +(PID.TID 0000.0001) > rhoConst = 1027.D0, +(PID.TID 0000.0001) > rhoConstFresh = 999.8, +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) >#ph( +(PID.TID 0000.0001) > staggerTimeStep=.TRUE., +(PID.TID 0000.0001) > multiDimAdvection=.TRUE., +(PID.TID 0000.0001) > tempAdvScheme=30, +(PID.TID 0000.0001) > saltAdvScheme=30, +(PID.TID 0000.0001) >#ph) +(PID.TID 0000.0001) >#globalFiles=.TRUE., +(PID.TID 0000.0001) >#- not safe to use globalFiles in multi-processors runs; set instead useSingleCpuIO +(PID.TID 0000.0001) > useSingleCpuIO=.FALSE., +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) > writeBinaryPrec=32, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># cg2dMaxIters - Maximum number of 2d solver iterations +(PID.TID 0000.0001) ># cg2dTargetResidual - Solver target residual +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># startTime - Integration starting time (s) +(PID.TID 0000.0001) ># endTime - Integration ending time (s) +(PID.TID 0000.0001) ># tauCD - CD scheme coupling timescale (s) +(PID.TID 0000.0001) ># deltaTMom - Timestep for momemtum equations (s) +(PID.TID 0000.0001) ># deltaTtracer - Tracer timestep (s) +(PID.TID 0000.0001) ># deltaTClock - Timestep used as model "clock" (s) +(PID.TID 0000.0001) ># abEps - Adams-Bashforth stabilising factor +(PID.TID 0000.0001) ># pChkPtFreq - Frequency of permanent check pointing (s) +(PID.TID 0000.0001) ># chkPtFreq - Frequency of rolling check pointing (s) +(PID.TID 0000.0001) ># dumpFreq - Frequency at which model state is stored (s) +(PID.TID 0000.0001) ># tauThetaClimRelax - Relaxation to climatology time scale (s) +(PID.TID 0000.0001) ># tauSaltClimRelax - Relaxation to climatology time scale (s) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > tauCD=172800., +(PID.TID 0000.0001) > startTime=0.0, +(PID.TID 0000.0001) > nTimeSteps=4, +(PID.TID 0000.0001) > deltaTmom=3600.0, +(PID.TID 0000.0001) > deltaTtracer=3600.0, +(PID.TID 0000.0001) > deltaTClock =3600.0, +(PID.TID 0000.0001) > cAdjFreq=0., +(PID.TID 0000.0001) > abEps=0.1, +(PID.TID 0000.0001) > forcing_In_AB = .FALSE., +(PID.TID 0000.0001) > pChkptFreq=36000., +(PID.TID 0000.0001) > chkptFreq= 0., +(PID.TID 0000.0001) > dumpFreq = 0., +(PID.TID 0000.0001) > monitorFreq=1., +(PID.TID 0000.0001) > adjMonitorFreq=1., +(PID.TID 0000.0001) > adjDumpFreq=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># usingSphericalPolarGrid - On/Off flag for spherical polar coordinates +(PID.TID 0000.0001) ># delX - Zonal grid spacing (degrees) +(PID.TID 0000.0001) ># delY - Meridional grid spacing (degrees) +(PID.TID 0000.0001) ># delZ - Vertical grid spacing (m) +(PID.TID 0000.0001) ># ygOrigin - Southern boundary latitude (degrees) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delX=20*2.E0, +(PID.TID 0000.0001) > delY=16*2.E0, +(PID.TID 0000.0001) > delZ= 10., 10., 15., 20., 20., 25., 35., 50., 75., +(PID.TID 0000.0001) > 100., 150., 200., 275., 350., 415., 450., +(PID.TID 0000.0001) > 500., 500., 500., 500., 500., 500., 500., +(PID.TID 0000.0001) > ygOrigin=46., +(PID.TID 0000.0001) > xgOrigin=280., +(PID.TID 0000.0001) > rSphere = 6371.D3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># bathyFile - File containing bathymetry +(PID.TID 0000.0001) ># hydrogThetaFile - File containing initial potential temperature data +(PID.TID 0000.0001) ># hydrogSaltFile - File containing initial salinity data +(PID.TID 0000.0001) ># zonalWindFile - File containing zonal wind data +(PID.TID 0000.0001) ># meridWindFile - File containing meridional wind data +(PID.TID 0000.0001) ># thetaClimFile - File containing theta climatology used for relaxation +(PID.TID 0000.0001) ># saltClimFile - File containing salt climatology used for relaxation +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile = 'bathy.labsea1979', +(PID.TID 0000.0001) > hydrogThetaFile = 'LevCli_temp.labsea1979', +(PID.TID 0000.0001) > hydrogSaltFile = 'LevCli_salt.labsea1979', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useKPP = .TRUE., +(PID.TID 0000.0001) > useEXF = .TRUE., +(PID.TID 0000.0001) > useSEAICE = .TRUE., +(PID.TID 0000.0001) > useDOWN_SLOPE=.TRUE., +(PID.TID 0000.0001) > useDiagnostics = .FALSE., +(PID.TID 0000.0001) > useCAL = .TRUE., +(PID.TID 0000.0001) ># useMNC = .TRUE., +(PID.TID 0000.0001) ># useECCO = .TRUE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/kpp compiled and used ( useKPP = T ) + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/down_slope compiled and used ( useDOWN_SLOPE = T ) + pkg/cal compiled and used ( useCAL = T ) + pkg/exf compiled and used ( useEXF = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ecco compiled and used ( useECCO = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/seaice compiled and used ( useSEAICE = T ) + pkg/salt_plume compiled but not used ( useSALT_PLUME = F ) + pkg/diagnostics compiled but not used ( useDiagnostics = F ) + pkg/mnc compiled but not used ( useMNC = F ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: opening data.cal +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cal +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cal" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># Calendar Parameters +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &CAL_NML +(PID.TID 0000.0001) > TheCalendar='gregorian', +(PID.TID 0000.0001) ># TheCalendar='model', +(PID.TID 0000.0001) > startDate_1=19790101, +(PID.TID 0000.0001) > startDate_2=000000, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: finished reading data.cal +(PID.TID 0000.0001) EXF_READPARMS: opening data.exf +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.exf +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.exf" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># External Forcing Data +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_01 +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > useExfCheckRange = .TRUE., +(PID.TID 0000.0001) > repeatPeriod = 31622400.0, +(PID.TID 0000.0001) > exf_iprec = 32, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > exf_adjMonSelect = 3, +(PID.TID 0000.0001) > exf_adjMonFreq = 10800., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_02 +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > hfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > hfluxstartdate2 = 180000, +(PID.TID 0000.0001) > hfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > sfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > sfluxstartdate2 = 180000, +(PID.TID 0000.0001) > sfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > ustressstartdate1 = 19781216, +(PID.TID 0000.0001) > ustressstartdate2 = 180000, +(PID.TID 0000.0001) > ustressperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > vstressstartdate1 = 19781216, +(PID.TID 0000.0001) > vstressstartdate2 = 180000, +(PID.TID 0000.0001) > vstressperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > atempstartdate1 = 19781216, +(PID.TID 0000.0001) > atempstartdate2 = 180000, +(PID.TID 0000.0001) > atempperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > aqhstartdate1 = 19781216, +(PID.TID 0000.0001) > aqhstartdate2 = 180000, +(PID.TID 0000.0001) > aqhperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#evapstartdate1 = 19781216, +(PID.TID 0000.0001) >#evapstartdate2 = 180000, +(PID.TID 0000.0001) >#evapperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > precipstartdate1 = 19781216, +(PID.TID 0000.0001) > precipstartdate2 = 180000, +(PID.TID 0000.0001) > precipperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > uwindstartdate1 = 19781216, +(PID.TID 0000.0001) > uwindstartdate2 = 180000, +(PID.TID 0000.0001) > uwindperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > vwindstartdate1 = 19781216, +(PID.TID 0000.0001) > vwindstartdate2 = 180000, +(PID.TID 0000.0001) > vwindperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > swfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > swfluxstartdate2 = 180000, +(PID.TID 0000.0001) > swfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > lwfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > lwfluxstartdate2 = 180000, +(PID.TID 0000.0001) > lwfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > swdownstartdate1 = 19781216, +(PID.TID 0000.0001) > swdownstartdate2 = 180000, +(PID.TID 0000.0001) > swdownperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > lwdownstartdate1 = 19781216, +(PID.TID 0000.0001) > lwdownstartdate2 = 180000, +(PID.TID 0000.0001) > lwdownperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsststartdate1 = 19781216, +(PID.TID 0000.0001) > climsststartdate2 = 180000, +(PID.TID 0000.0001) > climsstperiod = 2635200.0, +(PID.TID 0000.0001) > climsstTauRelax = 0.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsssstartdate1 = 19781216, +(PID.TID 0000.0001) > climsssstartdate2 = 180000, +(PID.TID 0000.0001) > climsssperiod = 2635200.0, +(PID.TID 0000.0001) > climsssTauRelax = 4142330.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > hfluxfile = ' ', +(PID.TID 0000.0001) > sfluxfile = ' ', +(PID.TID 0000.0001) > ustressfile = ' ', +(PID.TID 0000.0001) > vstressfile = ' ', +(PID.TID 0000.0001) > atempfile = 'tair.labsea1979', +(PID.TID 0000.0001) > aqhfile = 'qa.labsea1979', +(PID.TID 0000.0001) > uwindfile = 'u10m.labsea1979', +(PID.TID 0000.0001) > vwindfile = 'v10m.labsea1979', +(PID.TID 0000.0001) >#evapfile = 'evap.labsea1979', +(PID.TID 0000.0001) > precipfile = 'prate.labsea1979', +(PID.TID 0000.0001) > lwfluxfile = ' ', +(PID.TID 0000.0001) > swfluxfile = ' ', +(PID.TID 0000.0001) > lwdownfile = 'flo.labsea1979', +(PID.TID 0000.0001) > swdownfile = 'fsh.labsea1979', +(PID.TID 0000.0001) > runoffFile = ' ' +(PID.TID 0000.0001) > climsstfile = ' ', +(PID.TID 0000.0001) > climsssfile = 'SSS_monthly.labsea1979', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_03 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_04 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_01 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_02 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_03 +(PID.TID 0000.0001) EXF_READPARMS: finished reading data.exf +(PID.TID 0000.0001) KPP_READPARMS: opening data.kpp +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.kpp +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.kpp" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># KPP parameters +(PID.TID 0000.0001) > &KPP_PARM01 +(PID.TID 0000.0001) > KPPmixingMaps = .FALSE., +(PID.TID 0000.0001) > KPPwriteState = .TRUE., +(PID.TID 0000.0001) > KPP_ghatUseTotalDiffus=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) KPP_READPARMS ; starts to read KPP_PARM01 +(PID.TID 0000.0001) KPP_READPARMS ; read KPP_PARM01 : OK +(PID.TID 0000.0001) KPP_READPARMS: finished reading data.kpp +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .FALSE., +(PID.TID 0000.0001) ># GM_isopycK = 1.1D+3, +(PID.TID 0000.0001) ># GM_background_K = 0.9D+3, +(PID.TID 0000.0001) > GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) > GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) > GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) > GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) > GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) DWNSLP_READPARMS: opening data.down_slope +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.down_slope +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.down_slope" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># DOWN_SLOPE package parameters (lines beginning "#" are comments): +(PID.TID 0000.0001) ># DWNSLP_slope :: fixed slope (=0 => use the local slope) +(PID.TID 0000.0001) ># DWNSLP_rec_mu :: reciprol friction parameter (unit = time scale [s]) +(PID.TID 0000.0001) ># used to compute the flow: U=dy*dz*(slope * g/mu * dRho / rho0) +(PID.TID 0000.0001) ># dwnslp_drFlow :: max. thickness [m] of the effective downsloping flow layer +(PID.TID 0000.0001) > &DWNSLP_PARM01 +(PID.TID 0000.0001) > DWNSLP_slope = 5.E-3, +(PID.TID 0000.0001) > DWNSLP_rec_mu= 1.E+4, +(PID.TID 0000.0001) > DWNSLP_drFlow= 30., +(PID.TID 0000.0001) ># temp_useDWNSLP=.FALSE., +(PID.TID 0000.0001) ># salt_useDWNSLP=.FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) DWNSLP_READPARMS: finished reading data.downslp +(PID.TID 0000.0001) DWNSLP_slope = /* DOWNSLP fixed slope (=0 => use local slope) */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DWNSLP_rec_mu = /* DOWNSLP recip. friction parameter (time, s ) */ +(PID.TID 0000.0001) 1.000000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DWNSLP_drFlow = /* DOWNSLP effective layer thickness ( m ) */ +(PID.TID 0000.0001) 3.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) SEAICE_READPARMS: opening data.seaice +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.seaice +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.seaice" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># SEAICE parameters +(PID.TID 0000.0001) > &SEAICE_PARM01 +(PID.TID 0000.0001) > SEAICE_initialHEFF = 1.0, +(PID.TID 0000.0001) > SEAICE_deltaTtherm = 3600., +(PID.TID 0000.0001) > SEAICE_deltaTdyn = 3600., +(PID.TID 0000.0001) > SEAICEuseDYNAMICS =.TRUE., +(PID.TID 0000.0001) >#-- According to Martin, SEAICE_clipVelocities is not recommended +(PID.TID 0000.0001) ># SEAICE_clipVelocities=.TRUE., +(PID.TID 0000.0001) > SEAICEadvSalt =.FALSE., +(PID.TID 0000.0001) >#-- above: to reproduce old results +(PID.TID 0000.0001) > LSR_ERROR = 1.E-6, +(PID.TID 0000.0001) >### SEAICE_deltaTevp = 60, +(PID.TID 0000.0001) > SEAICE_EPS = 1.E-8, +(PID.TID 0000.0001) > SEAICE_multDim = 7, +(PID.TID 0000.0001) >#- to reproduce old results with former #defined SEAICE_SOLVE4TEMP_LEGACY code +(PID.TID 0000.0001) > useMaykutSatVapPoly = .TRUE., +(PID.TID 0000.0001) > postSolvTempIter = 0, +(PID.TID 0000.0001) >#- paramaters from SEAICE_GROWTH_LEGACY branch +(PID.TID 0000.0001) > SEAICE_doOpenWaterGrowth=.FALSE., +(PID.TID 0000.0001) > SEAICE_doOpenWaterMelt=.FALSE., +(PID.TID 0000.0001) > SEAICE_areaGainFormula=2, +(PID.TID 0000.0001) > SEAICE_areaLossFormula=3, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > SEAICE_saltFrac = 0.3, +(PID.TID 0000.0001) > SEAICE_tempFrz0 = -1.96, +(PID.TID 0000.0001) > SEAICE_dTempFrz_dS = 0., +(PID.TID 0000.0001) > SEAICE_availHeatFrac = 0.8, +(PID.TID 0000.0001) > SEAICEdiffKhArea = 200., +(PID.TID 0000.0001) > SEAICEwriteState = .TRUE., +(PID.TID 0000.0001) ># SEAICE_tave_mnc = .FALSE., +(PID.TID 0000.0001) ># SEAICE_dump_mnc = .FALSE., +(PID.TID 0000.0001) ># SEAICE_mon_mnc = .FALSE., +(PID.TID 0000.0001) ># old defaults +(PID.TID 0000.0001) > SEAICEadvScheme = 2, +(PID.TID 0000.0001) > SEAICEscaleSurfStress = .FALSE., +(PID.TID 0000.0001) > SEAICEaddSnowMass = .FALSE., +(PID.TID 0000.0001) > SEAICE_useMultDimSnow = .FALSE., +(PID.TID 0000.0001) > SEAICEetaZmethod = 0, +(PID.TID 0000.0001) > SEAICE_Olx = 0, +(PID.TID 0000.0001) > SEAICE_Oly = 0, +(PID.TID 0000.0001) > SEAICE_drag = 0.002, +(PID.TID 0000.0001) > SEAICE_waterDrag = 0.005355404089581304, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &SEAICE_PARM02 +(PID.TID 0000.0001) ># currently COST_ICE_TEST is undefined in SEAICE_OPTIONS.h, +(PID.TID 0000.0001) ># so that none of these parameters are used and the cost function +(PID.TID 0000.0001) ># contribution by sea ice is zero (f_ice = 0.) +(PID.TID 0000.0001) > mult_ice = 1., +(PID.TID 0000.0001) ># choose which seaice cost term you want +(PID.TID 0000.0001) > cost_ice_flag = 1, +(PID.TID 0000.0001) ># the following timings are obsolete; +(PID.TID 0000.0001) ># replaced by lastinterval +(PID.TID 0000.0001) ># ssg - Dates same as in data.cal +(PID.TID 0000.0001) > costIceStart1 = 19790101, +(PID.TID 0000.0001) > costIceStart2 = 00000, +(PID.TID 0000.0001) > costIceEnd1 = 19790201, +(PID.TID 0000.0001) > costIceEnd2 = 00000, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &SEAICE_PARM03 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) SEAICE_READPARMS: finished reading data.seaice +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) ># useKPPinAdMode = .FALSE., +(PID.TID 0000.0001) ># useGMRediInAdMode = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseDYNAMICSswitchInAd = /* switch On/Off SEAICE Dyn in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFREEDRIFTswitchInAd= /* switch On/Off Free-Drift in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEapproxLevInAd = /* -1:SEAICE_FAKE, >0:other adjoint approximation */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) >#mult_genarr3d(1) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) >#mult_genarr3d(2) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(1) = 'xx_siarea', +(PID.TID 0000.0001) > xx_genarr2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr2d_bounds(1:5,1) = 0.,0.,1.,1.,0., +(PID.TID 0000.0001) >#mult_genarr2d(1) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(2) = 'xx_siheff', +(PID.TID 0000.0001) > xx_genarr2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr2d_bounds(1:5,2) = 0.,0.,1.,1.,0., +(PID.TID 0000.0001) >#mult_genarr2d(2) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_atemp', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(1) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(1) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(1) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_aqh', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(2) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(2) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(2) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_precip', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(3) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(3) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(3) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_snowprecip', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(4) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(4) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(4) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(5) = 'xx_swdown', +(PID.TID 0000.0001) > xx_gentim2d_weight(5) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(5) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(5) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(5) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(6) = 'xx_lwdown', +(PID.TID 0000.0001) > xx_gentim2d_weight(6) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(6) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(6) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(6) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(7) = 'xx_uwind', +(PID.TID 0000.0001) > xx_gentim2d_weight(7) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(7) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(7) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(7) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(8) = 'xx_vwind', +(PID.TID 0000.0001) > xx_gentim2d_weight(8) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(8) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(8) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(8) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(9) = 'xx_apressure', +(PID.TID 0000.0001) > xx_gentim2d_weight(9) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(9) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(9) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(9) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > mult_tracer = 1., +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > mult_atl = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-4, +(PID.TID 0000.0001) ># nbeg = 4, +(PID.TID 0000.0001) > iGloPos = 4, +(PID.TID 0000.0001) > jGloPos = 8, +(PID.TID 0000.0001) > kGloPos = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) > grdchkvarindex = 301, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 301 +(PID.TID 0000.0001) eps: 0.100E-03 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ECCO_READPARMS: opening data.ecco +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ecco +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ecco" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &ECCO_COST_NML +(PID.TID 0000.0001) > cost_iprec = 64, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &ECCO_GENCOST_NML +(PID.TID 0000.0001) > gencost_avgperiod(1) = 'month', +(PID.TID 0000.0001) > gencost_barfile(1) = 'm_theta_month', +(PID.TID 0000.0001) > gencost_datafile(1) = 'labsea_Lev.ptmp', +(PID.TID 0000.0001) > gencost_errfile(1) = 'sigma_theta.bin', +(PID.TID 0000.0001) > gencost_name(1) = 'theta', +(PID.TID 0000.0001) > gencost_spmin(1) = -1.8, +(PID.TID 0000.0001) > gencost_spmax(1) = 40., +(PID.TID 0000.0001) > gencost_spzero(1) = 0., +(PID.TID 0000.0001) > gencost_outputlevel(1)=1, +(PID.TID 0000.0001) > mult_gencost(1) = 1., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > gencost_avgperiod(2) = 'month', +(PID.TID 0000.0001) > gencost_barfile(2) = 'm_salt_month', +(PID.TID 0000.0001) > gencost_datafile(2) = 'labsea_Lev.salt', +(PID.TID 0000.0001) > gencost_errfile(2) = 'sigma_salt.bin', +(PID.TID 0000.0001) > gencost_name(2) = 'salt', +(PID.TID 0000.0001) > gencost_spmin(2) = 25., +(PID.TID 0000.0001) > gencost_spmax(2) = 40., +(PID.TID 0000.0001) > gencost_spzero(2) = 0., +(PID.TID 0000.0001) > gencost_outputlevel(2)=1, +(PID.TID 0000.0001) > mult_gencost(2) = 1., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > gencost_avgperiod(3) = 'month', +(PID.TID 0000.0001) > gencost_barfile(3) = 'm_sst_month', +(PID.TID 0000.0001) > gencost_datafile(3) = 'labsea_SST_fields', +(PID.TID 0000.0001) > gencost_errfile(3) = 'sigma_sst.bin', +(PID.TID 0000.0001) > gencost_name(3) = 'sst', +(PID.TID 0000.0001) > gencost_startdate1(3) = 19790101, +(PID.TID 0000.0001) > gencost_startdate2(3) = 00000, +(PID.TID 0000.0001) > gencost_spmin(3) = -1.8, +(PID.TID 0000.0001) > gencost_spmax(3) = 40., +(PID.TID 0000.0001) > gencost_spzero(3) = 0., +(PID.TID 0000.0001) > gencost_outputlevel(3)=1, +(PID.TID 0000.0001) > mult_gencost(3) = 1., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > gencost_avgperiod(4) = 'month', +(PID.TID 0000.0001) > gencost_barfile(4) = 'm_eta_month', +(PID.TID 0000.0001) > gencost_preproc(1,4) = 'mean', +(PID.TID 0000.0001) > gencost_preproc(2,4) = 'offset', +(PID.TID 0000.0001) > gencost_preproc(3,4) = 'mindepth', +(PID.TID 0000.0001) > gencost_preproc_r(3,4) = -200., +(PID.TID 0000.0001) > gencost_datafile(4) = 'labsea_TP_mean_meters', +(PID.TID 0000.0001) > gencost_errfile(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > gencost_name(4) = 'mdt', +(PID.TID 0000.0001) > gencost_startdate1(4) = 19790101, +(PID.TID 0000.0001) > gencost_startdate2(4) = 000000, +(PID.TID 0000.0001) > gencost_spmin(4) = -4., +(PID.TID 0000.0001) > gencost_spmax(4) = 4., +(PID.TID 0000.0001) > gencost_spzero(4) = -9999.0, +(PID.TID 0000.0001) > gencost_outputlevel(4)=5, +(PID.TID 0000.0001) > mult_gencost(4) = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) ECCO_READPARMS: finished reading #1: ecco_cost_nml +(PID.TID 0000.0001) ECCO_READPARMS: finished reading #2: ecco_gencost_nml +(PID.TID 0000.0001) ECCO_READPARMS: done +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.1900000000000E+02 +(PID.TID 0000.0001) %MON XC_min = 2.8100000000000E+02 +(PID.TID 0000.0001) %MON XC_mean = 3.0000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.1532562594671E+01 +(PID.TID 0000.0001) %MON XG_max = 3.1800000000000E+02 +(PID.TID 0000.0001) %MON XG_min = 2.8000000000000E+02 +(PID.TID 0000.0001) %MON XG_mean = 2.9900000000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.1532562594671E+01 +(PID.TID 0000.0001) %MON DXC_max = 1.5166951523772E+05 +(PID.TID 0000.0001) %MON DXC_min = 5.0026831972764E+04 +(PID.TID 0000.0001) %MON DXC_mean = 1.0305926321463E+05 +(PID.TID 0000.0001) %MON DXC_sd = 3.1375805318756E+04 +(PID.TID 0000.0001) %MON DXF_max = 1.5166951523772E+05 +(PID.TID 0000.0001) %MON DXF_min = 5.0026831972764E+04 +(PID.TID 0000.0001) %MON DXF_mean = 1.0305926321463E+05 +(PID.TID 0000.0001) %MON DXF_sd = 3.1375805318756E+04 +(PID.TID 0000.0001) %MON DXG_max = 1.5448497309243E+05 +(PID.TID 0000.0001) %MON DXG_min = 5.3800974869835E+04 +(PID.TID 0000.0001) %MON DXG_mean = 1.0642630187324E+05 +(PID.TID 0000.0001) %MON DXG_sd = 3.1081829200899E+04 +(PID.TID 0000.0001) %MON DXV_max = 1.5448497309243E+05 +(PID.TID 0000.0001) %MON DXV_min = 5.3800974869835E+04 +(PID.TID 0000.0001) %MON DXV_mean = 1.0642630187324E+05 +(PID.TID 0000.0001) %MON DXV_sd = 3.1081829200899E+04 +(PID.TID 0000.0001) %MON YC_max = 7.7000000000000E+01 +(PID.TID 0000.0001) %MON YC_min = 4.7000000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 6.2000000000000E+01 +(PID.TID 0000.0001) %MON YC_sd = 9.2195444572929E+00 +(PID.TID 0000.0001) %MON YG_max = 7.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = 4.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = 6.1000000000000E+01 +(PID.TID 0000.0001) %MON YG_sd = 9.2195444572929E+00 +(PID.TID 0000.0001) %MON DYC_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYC_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYC_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYC_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON DYF_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYF_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYF_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYF_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON DYG_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYG_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYG_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYG_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON DYU_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYU_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYU_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYU_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON RA_max = 3.3728048822756E+10 +(PID.TID 0000.0001) %MON RA_min = 1.1124894996734E+10 +(PID.TID 0000.0001) %MON RA_mean = 2.2918170839356E+10 +(PID.TID 0000.0001) %MON RA_sd = 6.9773064942263E+09 +(PID.TID 0000.0001) %MON RAW_max = 3.3728048822756E+10 +(PID.TID 0000.0001) %MON RAW_min = 1.1124894996734E+10 +(PID.TID 0000.0001) %MON RAW_mean = 2.2918170839356E+10 +(PID.TID 0000.0001) %MON RAW_sd = 6.9773064942263E+09 +(PID.TID 0000.0001) %MON RAS_max = 3.4354146294179E+10 +(PID.TID 0000.0001) %MON RAS_min = 1.1964183470077E+10 +(PID.TID 0000.0001) %MON RAS_mean = 2.3666928057229E+10 +(PID.TID 0000.0001) %MON RAS_sd = 6.9119325076329E+09 +(PID.TID 0000.0001) %MON RAZ_max = 3.4354146294179E+10 +(PID.TID 0000.0001) %MON RAZ_min = 1.1964183470077E+10 +(PID.TID 0000.0001) %MON RAZ_mean = 2.3666928057229E+10 +(PID.TID 0000.0001) %MON RAZ_sd = 6.9119325076329E+09 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) modelstart = /* Start time of the model integration [s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelend = /* End time of the model integration [s] */ +(PID.TID 0000.0001) 1.440000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStep = /* Time interval for a model forward step [s] */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingGregorianCalendar= /* Calendar Type: Gregorian Calendar */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingJulianCalendar = /* Calendar Type: Julian Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingNoLeapYearCal = /* Calendar Type: without Leap Year */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingModelCalendar = /* Calendar Type: Model Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate YYYYMMDD = /* Model start date YYYY-MM-DD */ +(PID.TID 0000.0001) 19790101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate HHMMSS = /* Model start date HH-MM-SS */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate YYYYMMDD = /* Model end date YYYY-MM-DD */ +(PID.TID 0000.0001) 19790101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate HHMMSS = /* Model end date HH-MM-SS */ +(PID.TID 0000.0001) 40000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intyears = /* Number of calendar years affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intmonths= /* Number of calendar months affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intdays = /* Number of calendar days affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIter0 = /* Base timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIterEnd = /* Final timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIntSteps= /* Number of model timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 2 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF general parameters: +(PID.TID 0000.0001) +(PID.TID 0000.0001) exf_iprec = /* exf file precision */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfYearlyFields = /* add extension _YEAR to input file names */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) twoDigitYear = /* use 2-digit year extension */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfCheckRange = /* check for fields range */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diags_opOceWeighted = /* weight flux diags by open-ocean fraction */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_debugLev = /* select EXF-debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_monFreq = /* EXF monitor frequency [ s ] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_adjMonSelect = /* select group of exf AD-variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) repeatPeriod = /* period for cycling forcing dataset [ s ] */ +(PID.TID 0000.0001) 3.162240000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) climTempFreeze= /* Minimum climatological temperature [deg.C] */ +(PID.TID 0000.0001) -1.900000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) windStressMax = /* Maximum absolute windstress [ Pa ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) stressIsOnCgrid = /* set u,v_stress on Arakawa C-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateStressOnAgrid = /* rotate u,v_stress on Arakawa A-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cen2kel = /* conversion of deg. Centigrade to Kelvin [K] */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity_mks= /* gravitational acceleration [m/s^2] */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmrho = /* mean atmospheric density [kg/m^3] */ +(PID.TID 0000.0001) 1.200000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmcp = /* mean atmospheric specific heat [J/kg/K] */ +(PID.TID 0000.0001) 1.005000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flamb = /* latent heat of evaporation [J/kg] */ +(PID.TID 0000.0001) 2.500000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flami = /* latent heat of pure-ice melting [J/kg] */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 6.403800000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.107400000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 1.163780000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.897800000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) humid_fac = /* humidity coef. in virtual temp. [(kg/kg)^-1] */ +(PID.TID 0000.0001) 6.060000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gamma_blk = /* adiabatic lapse rate [?] */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltsat = /* reduction of Qsat over salty water [-] */ +(PID.TID 0000.0001) 9.800000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) noNegativeEvap = /* prevent negative Evaporation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sstExtrapol = /* extrapolation coeff from lev. 1 & 2 to surf [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_1 = /* coef used in drag calculation [m/s] */ +(PID.TID 0000.0001) 2.700000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_2 = /* coef used in drag calculation [-] */ +(PID.TID 0000.0001) 1.420000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_3 = /* coef used in drag calculation [s/m] */ +(PID.TID 0000.0001) 7.640000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_8 = /* coef used in drag calculation [(s/m)^6] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDragMax = /* maximum drag (Large and Yeager, 2009) [-] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* at maximum wind (Large and Yeager, 2009) [m/s] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_1 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 3.270000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_2 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 1.800000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDalton = /* Dalton number [-] */ +(PID.TID 0000.0001) 3.460000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_scal_BulkCdn= /* Drag coefficient scaling factor [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zolmin = /* minimum stability parameter [?] */ +(PID.TID 0000.0001) -1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psim_fac = /* coef used in turbulent fluxes calculation [-] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zref = /* reference height [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hu = /* height of mean wind [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ht = /* height of mean temperature [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hq = /* height of mean spec.humidity [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uMin = /* minimum wind speed [m/s] */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStabilityFct_overIce= /* transfert Coeffs over sea-ice depend on stability */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCd = /* drag coefficient over sea-ice (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCe = /* transfert coeff. over sea-ice, for Evap (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCh = /* transfert coeff. over sea-ice, Sens.Heat.(fixed)[-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_albedo = /* Sea-water albedo [-] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenAlbedo = /* Sea-water albedo varies with zenith angle */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_ZenAlbedo = /* Sea-water albedo computation method */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenIncoming = /* compute incoming solar radiation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ocean_emissivity = /* longwave ocean-surface emissivity [-] */ +(PID.TID 0000.0001) 9.700176366843034E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ice_emissivity = /* longwave seaice emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snow_emissivity = /* longwave snow emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF main CPP flags: +(PID.TID 0000.0001) +(PID.TID 0000.0001) // USE_EXF_INTERPOLATION: NOT defined +(PID.TID 0000.0001) // ALLOW_ATM_TEMP: defined +(PID.TID 0000.0001) // ALLOW_ATM_WIND (useAtmWind): defined +(PID.TID 0000.0001) // ALLOW_DOWNWARD_RADIATION: defined +(PID.TID 0000.0001) // ALLOW_BULKFORMULAE: defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Zonal wind forcing starts at -1317600. +(PID.TID 0000.0001) Zonal wind forcing period is 2635200. +(PID.TID 0000.0001) Zonal wind forcing repeat-cycle is 31622400. +(PID.TID 0000.0001) Zonal wind forcing is read from file: +(PID.TID 0000.0001) >> u10m.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Meridional wind forcing starts at -1317600. +(PID.TID 0000.0001) Meridional wind forcing period is 2635200. +(PID.TID 0000.0001) Meridional wind forcing repeat-cycle is 31622400. +(PID.TID 0000.0001) Meridional wind forcing is read from file: +(PID.TID 0000.0001) >> v10m.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Atmospheric temperature starts at -1317600. +(PID.TID 0000.0001) Atmospheric temperature period is 2635200. +(PID.TID 0000.0001) Atmospheric temperature repeat-cycle is 31622400. +(PID.TID 0000.0001) Atmospheric temperature is read from file: +(PID.TID 0000.0001) >> tair.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Atmospheric specific humidity starts at -1317600. +(PID.TID 0000.0001) Atmospheric specific humidity period is 2635200. +(PID.TID 0000.0001) Atmospheric specific humidity rep-cycle is 31622400. +(PID.TID 0000.0001) Atmospheric specific humidity is read from file: +(PID.TID 0000.0001) >> qa.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_READ_TURBFLUXES: NOT defined +(PID.TID 0000.0001) // EXF_READ_EVAP: NOT defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Precipitation data starts at -1317600. +(PID.TID 0000.0001) Precipitation data period is 2635200. +(PID.TID 0000.0001) Precipitation data repeat-cycle is 31622400. +(PID.TID 0000.0001) Precipitation data is read from file: +(PID.TID 0000.0001) >> prate.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_RUNOFF: defined +(PID.TID 0000.0001) // ALLOW_RUNOFTEMP: NOT defined +(PID.TID 0000.0001) // ALLOW_SALTFLX: defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Downward shortwave flux starts at -1317600. +(PID.TID 0000.0001) Downward shortwave flux period is 2635200. +(PID.TID 0000.0001) Downward shortwave flux repeat-cycle is 31622400. +(PID.TID 0000.0001) Downward shortwave flux is read from file: +(PID.TID 0000.0001) >> fsh.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Downward longwave flux starts at -1317600. +(PID.TID 0000.0001) Downward longwave flux period is 2635200. +(PID.TID 0000.0001) Downward longwave flux repeat-cycle is 31622400. +(PID.TID 0000.0001) Downward longwave flux is read from file: +(PID.TID 0000.0001) >> flo.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) climatology configuration : +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSST_RELAXATION: defined +(PID.TID 0000.0001) climsst relaxation is NOT used +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSSS_RELAXATION: defined +(PID.TID 0000.0001) Climatological SSS starts at -1317600. +(PID.TID 0000.0001) Climatological SSS period is 2635200. +(PID.TID 0000.0001) Climatological SSS repeat-cycle is 31622400. +(PID.TID 0000.0001) Climatological SSS is read from file: +(PID.TID 0000.0001) >> SSS_monthly.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 1 1 19 +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 2 1 90 +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 1 2 57 +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 2 2 36 +(PID.TID 0000.0001) etaday defined by gencost 4 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ECCO configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 1) = theta +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_Lev.ptmp +(PID.TID 0000.0001) model file = m_theta_month +(PID.TID 0000.0001) error file = sigma_theta.bin +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 1 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) gencost_pointer3d = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 2) = salt +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_Lev.salt +(PID.TID 0000.0001) model file = m_salt_month +(PID.TID 0000.0001) error file = sigma_salt.bin +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 1 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) gencost_pointer3d = 2 +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 3) = sst +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_SST_fields +(PID.TID 0000.0001) model file = m_sst_month +(PID.TID 0000.0001) error file = sigma_sst.bin +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 1 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 4) = mdt +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_TP_mean_meters +(PID.TID 0000.0001) model file = m_eta_month +(PID.TID 0000.0001) error file = ones_64b.bin +(PID.TID 0000.0001) preprocess = mean +(PID.TID 0000.0001) preprocess = offset +(PID.TID 0000.0001) preprocess = mindepth +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 5 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ECCO configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Seaice configuration (SEAICE_PARM01) >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice time stepping configuration > START < +(PID.TID 0000.0001) ---------------------------------------------- +(PID.TID 0000.0001) SEAICE_deltaTtherm= /* thermodynamic timestep */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_deltaTdyn = /* dynamic timestep */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_deltaTevp = /* EVP timestep */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseBDF2 = /* use backw. differencing for mom. eq. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEupdateOceanStress= /* update Ocean surf. stress */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICErestoreUnderIce = /* restore T and S under ice */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice dynamics configuration > START < +(PID.TID 0000.0001) ------------------------------------------ +(PID.TID 0000.0001) SEAICEuseDYNAMICS = /* use dynamics */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) model grid type = /* type of sea ice model grid */ +(PID.TID 0000.0001) 'C-GRID' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseStrImpCpl = /* use strongly implicit coupling */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEusePicardAsPrecon = /* Picard as preconditioner */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseLSR = /* use default Picard-LSR solver */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseKrylov = /* use Picard-Krylov solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseEVP = /* use EVP solver rather than LSR */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseJFNK = /* use JFNK solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFREEDRIFT = /* use free drift solution */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) OCEAN_drag = /* air-ocean drag coefficient */ +(PID.TID 0000.0001) 1.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drag = /* air-ice drag coefficient */ +(PID.TID 0000.0001) 2.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drag_south = /* Southern Ocean SEAICE_drag */ +(PID.TID 0000.0001) 2.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_waterDrag = /* water-ice drag (no units) */ +(PID.TID 0000.0001) 5.355404089581304E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_waterDrag_south = /* Southern Ocean waterDrag (no units) */ +(PID.TID 0000.0001) 5.355404089581304E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdWatMin = /* minimum linear water-ice drag (in m/s) */ +(PID.TID 0000.0001) 2.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseTilt = /* include surface tilt in dyna. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseTEM = /* use truncated ellipse rheology */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_strength = /* sea-ice strength Pstar */ +(PID.TID 0000.0001) 2.750000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_cStar = /* sea-ice strength parameter cStar */ +(PID.TID 0000.0001) 2.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEpressReplFac= /* press. replacement method factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tensilFac = /* sea-ice tensile strength factor */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tensilDepth= /* crit. depth for tensile strength */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEpresH0 = /* sea-ice strength Heff threshold */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEpresPow0 = /* exponent for HeffSEAICEpresH0 */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEetaZmethod = /* method computing eta at Z-point */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_zetaMaxFac = /* factor for upper viscosity bound */ +(PID.TID 0000.0001) 2.500000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_zetaMin = /* lower bound for viscosity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_eccen = /* elliptical yield curve eccent */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEstressFactor = /* wind stress scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_airTurnAngle = /* air-ice turning angle */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_waterTurnAngle = /* ice-water turning angle */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseMetricTerms = /* use metric terms */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_no_slip = /* no slip boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_2ndOrderBC = /* 2nd order no slip boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_clipVeloctities = /* impose max. vels. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHB87stressCoupling = /* altern. ice-ocean stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEscaleSurfStress = /* scale atm. and ocean-surface stress with AREA */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_maskRHS = /* mask RHS of solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEaddSnowMass = /* add snow mass to seaiceMassC/U/V */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) LSR_mixIniGuess = /* mix free-drift sol. into LSR initial Guess */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_LSRrelaxU = /* LSR solver: relaxation parameter */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_LSRrelaxV = /* LSR solver: relaxation parameter */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) LSR_ERROR = /* sets accuracy of LSR solver */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SOLV_NCHECK = /* test interval for LSR solver */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseMultiTileSolver = /* use full domain tri-diag solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_OLx = /* overlap for LSR/preconditioner */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_OLy = /* overlap for LSR/preconditioner */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEnonLinIterMax = /* max. number of nonlinear solver steps */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICElinearIterMax = /* max. number of linear solver steps */ +(PID.TID 0000.0001) 500 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEnonLinTol = /* non-linear solver tolerance */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice advection diffusion config, > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICEmomAdvection = /* advect sea ice momentum */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvHeff = /* advect effective ice thickness */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvArea = /* advect fractional ice area */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSnow = /* advect snow layer together with ice */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSalt = /* advect salinity together with ice */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvScheme = /* advection scheme for ice */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFluxForm = /* advection in FV flux form */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSchArea = /* advection scheme for area */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSchHeff = /* advection scheme for thickness */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSchSnow = /* advection scheme for snow */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdiffKhArea = /* diffusivity (m^2/s) for area */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdiffKhHeff = /* diffusivity (m^2/s) for heff */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdiffKhSnow = /* diffusivity (m^2/s) for snow */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIFF1 = /* parameter used in advect.F [m/s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice thermodynamics configuration > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICE_rhoIce = /* density of sea ice (kg/m3) */ +(PID.TID 0000.0001) 9.100000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_rhoSnow = /* density of snow (kg/m3) */ +(PID.TID 0000.0001) 3.300000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_rhoAir = /* density of air (kg/m3) */ +(PID.TID 0000.0001) 1.200000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usePW79thermodynamics = /* default 0-layer TD */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_lhEvap = /* latent heat of evaporation */ +(PID.TID 0000.0001) 2.500000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_lhFusion = /* latent heat of fusion */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mcPheePiston = /* turbulent flux "piston velocity" a la McPhee (m/s) */ +(PID.TID 0000.0001) 2.222222222222222E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mcPheeTaper = /* tapering of turbulent flux (0.< <1.) for AREA=1. */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mcPheeStepFunc = /* replace linear tapering with step funct. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_frazilFrac = /* frazil (T0 by ATM and OCN +(PID.TID 0000.0001) 3=from predicted melt by ATM +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HO = /* nominal thickness of new ice */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HO_south = /* Southern Ocean HO */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_area_max = /* set to les than 1. to mimic open leads */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Sea ice has a variable salinity such that +(PID.TID 0000.0001) SEAICE_saltFrac = /* fraction of ocn salinity in new ice */ +(PID.TID 0000.0001) 3.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_salinityTracer = /* test SITR varia. salinity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFlooding = /* turn submerged snow into ice */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice air-sea fluxes configuration, > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICEheatConsFix = /* accound for ocn<->seaice advect. heat flux */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_multDim = /* number of ice categories (1 or 7) */ +(PID.TID 0000.0001) 7 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_PDF = /* sea-ice distribution (-) */ +(PID.TID 0000.0001) 7 @ 1.428571428571428E-01 /* K = 1: 7 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) IMAX_TICE = /* iterations for ice surface temp */ +(PID.TID 0000.0001) 10 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) postSolvTempIter= /* flux calculation after surf. temp iter */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dryIceAlb = /* winter albedo */ +(PID.TID 0000.0001) 7.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetIceAlb = /* summer albedo */ +(PID.TID 0000.0001) 6.600000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drySnowAlb = /* dry snow albedo */ +(PID.TID 0000.0001) 8.400000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetSnowAlb = /* wet snow albedo */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dryIceAlb_south = /* Southern Ocean dryIceAlb */ +(PID.TID 0000.0001) 7.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetIceAlb_south = /* Southern Ocean wetIceAlb */ +(PID.TID 0000.0001) 6.600000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drySnowAlb_south= /* Southern Ocean drySnowAlb */ +(PID.TID 0000.0001) 8.400000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetSnowAlb_south= /* Southern Ocean wetSnowAlb */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetAlbTemp= /* Temp (o.C) threshold for wet-albedo */ +(PID.TID 0000.0001) -1.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_snow_emiss = /* snow emissivity */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_ice_emiss = /* seaice emissivity */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_cpAir = /* heat capacity of air */ +(PID.TID 0000.0001) 1.005000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dalton = /* constant dalton number */ +(PID.TID 0000.0001) 1.750000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_iceConduct = /* sea-ice conductivity */ +(PID.TID 0000.0001) 2.165600000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_snowConduct= /* snow conductivity */ +(PID.TID 0000.0001) 3.100000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_snowThick = /* cutoff snow thickness (for albedo) */ +(PID.TID 0000.0001) 1.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_shortwave = /* penetration shortwave radiation */ +(PID.TID 0000.0001) 3.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMaykutSatVapPoly = /* use Maykut Polynomial for Sat.Vap.Pr */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) MIN_ATEMP = /* minimum air temperature */ +(PID.TID 0000.0001) -5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) MIN_LWDOWN = /* minimum downward longwave */ +(PID.TID 0000.0001) 6.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) MIN_TICE = /* minimum ice temperature */ +(PID.TID 0000.0001) -5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice initialization and IO config., > START < +(PID.TID 0000.0001) ------------------------------------------------- +(PID.TID 0000.0001) SEAICE_initialHEFF= /* initial sea-ice thickness */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AreaFile = /* Initial ice concentration File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeffFile = /* Initial effective ice thickness File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HsnowFile = /* Initial snow thickness File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HsaltFile = /* Initial HSALT File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uIceFile = /* Initial U-ice velocity File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vIceFile = /* Initial V-ice velocity File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEwriteState = /* write sea ice state to file */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_monFreq = /* monitor frequency */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dumpFreq = /* dump frequency */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_taveFreq = /* time-averaging frequency */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mon_stdio = /* write monitor to std-outp */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dump_mdsio = /* write snap-shot using MDSIO */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tave_mdsio = /* write TimeAverage using MDSIO */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mon_mnc = /* write monitor to netcdf file */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dump_mnc = /* write snap-shot using MNC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tave_mnc = /* write TimeAverage using MNC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice regularization numbers, > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICE_deltaMin = /* reduce singularities in Delta */ +(PID.TID 0000.0001) 1.000000000000000E-08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_EPS = /* small number */ +(PID.TID 0000.0001) 1.000000000000000E-08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_EPS_SQ = /* small number squared */ +(PID.TID 0000.0001) 1.000000000000000E-16 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_area_reg = /* reduce derivative singularities */ +(PID.TID 0000.0001) 1.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_hice_reg = /* reduce derivative singularities */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_area_floor = /* reduce derivative singularities */ +(PID.TID 0000.0001) 1.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Seaice configuration (SEAICE_PARM01) >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 6720 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 14 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 8 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 6 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 106 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 212 +(PID.TID 0000.0001) ctrl-wet 8: atmos 212 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 23 6720 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 145 116 125 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 140 112 119 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 133 104 111 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 126 98 106 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 115 89 95 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 99 77 82 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 90 68 73 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 82 62 66 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 71 54 57 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 68 52 54 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 58 44 45 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 16 50 40 40 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 17 40 31 31 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 18 30 22 23 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 19 10 6 6 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 20 3 2 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 21 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 22 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 23 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 13 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 6720 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 1840 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 000106 000034 000058 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 001076 000874 000933 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 000457 000336 000354 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 000221 000213 000204 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 2D control, genarr2d no. 1 is in use +(PID.TID 0000.0001) file = xx_siarea +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0101 +(PID.TID 0000.0001) ncvarindex = 0201 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 2 is in use +(PID.TID 0000.0001) file = xx_siheff +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0102 +(PID.TID 0000.0001) ncvarindex = 0202 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_atemp +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_aqh +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_precip +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_snowprecip +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 5 is in use +(PID.TID 0000.0001) file = xx_swdown +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0305 +(PID.TID 0000.0001) ncvarindex = 0405 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 6 is in use +(PID.TID 0000.0001) file = xx_lwdown +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0306 +(PID.TID 0000.0001) ncvarindex = 0406 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 7 is in use +(PID.TID 0000.0001) file = xx_uwind +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0307 +(PID.TID 0000.0001) ncvarindex = 0407 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 8 is in use +(PID.TID 0000.0001) file = xx_vwind +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0308 +(PID.TID 0000.0001) ncvarindex = 0408 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 9 is in use +(PID.TID 0000.0001) file = xx_apressure +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0309 +(PID.TID 0000.0001) ncvarindex = 0409 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4210453727344E-04 +(PID.TID 0000.0001) %MON fCori_min = 1.0666243053630E-04 +(PID.TID 0000.0001) %MON fCori_mean = 1.2711058365303E-04 +(PID.TID 0000.0001) %MON fCori_sd = 1.1031533875266E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4151032568025E-04 +(PID.TID 0000.0001) %MON fCoriG_min = 1.0491029349513E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = 1.2591168756569E-04 +(PID.TID 0000.0001) %MON fCoriG_sd = 1.1383815633153E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 9.9464325599212E-05 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.2807417471054E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 6.7585896192312E-05 +(PID.TID 0000.0001) %MON fCoriCos_sd = 2.0576140902612E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 1.6094939840939192E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 2.400000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 2.300000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 2.100000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2.000000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 1.900000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 1.700000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 1.600000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 1.500000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* K = 11 */ +(PID.TID 0000.0001) 1.300000000000000E+01, /* K = 12 */ +(PID.TID 0000.0001) 1.200000000000000E+01, /* K = 13 */ +(PID.TID 0000.0001) 1.100000000000000E+01, /* K = 14 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* K = 15 */ +(PID.TID 0000.0001) 9.000000000000000E+00, /* K = 16 */ +(PID.TID 0000.0001) 8.000000000000000E+00, /* K = 17 */ +(PID.TID 0000.0001) 7.000000000000000E+00, /* K = 18 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* K = 19 */ +(PID.TID 0000.0001) 5.000000000000000E+00, /* K = 20 */ +(PID.TID 0000.0001) 4.000000000000000E+00, /* K = 21 */ +(PID.TID 0000.0001) 3.000000000000000E+00, /* K = 22 */ +(PID.TID 0000.0001) 2.000000000000000E+00 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 3.465000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 3.475000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 3.482000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 3.487000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2 @ 3.490000000000000E+01, /* K = 5: 6 */ +(PID.TID 0000.0001) 3.486000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 3.478000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 3.469000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 3.460000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 3.458000000000000E+01, /* K = 11 */ +(PID.TID 0000.0001) 3.462000000000000E+01, /* K = 12 */ +(PID.TID 0000.0001) 3.468000000000000E+01, /* K = 13 */ +(PID.TID 0000.0001) 3.472000000000000E+01, /* K = 14 */ +(PID.TID 0000.0001) 3.473000000000000E+01, /* K = 15 */ +(PID.TID 0000.0001) 3.474000000000000E+01, /* K = 16 */ +(PID.TID 0000.0001) 2 @ 3.473000000000000E+01, /* K = 17: 18 */ +(PID.TID 0000.0001) 2 @ 3.472000000000000E+01, /* K = 19: 20 */ +(PID.TID 0000.0001) 3.471000000000000E+01, /* K = 21 */ +(PID.TID 0000.0001) 3.470000000000000E+01, /* K = 22 */ +(PID.TID 0000.0001) 3.469000000000000E+01 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.023399597669854E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.023810240320856E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.024201435647580E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.024591510588746E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.024969611150069E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.025328017199967E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.025680833282475E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.026050051489947E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.026491970185416E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.027036952689552E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.027794852671120E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.028814168587807E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.030119722650770E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.031735154401125E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.033628649568903E+03, /* K = 15 */ +(PID.TID 0000.0001) 1.035732830613343E+03, /* K = 16 */ +(PID.TID 0000.0001) 1.037997052952795E+03, /* K = 17 */ +(PID.TID 0000.0001) 1.040366267417616E+03, /* K = 18 */ +(PID.TID 0000.0001) 1.042716568158493E+03, /* K = 19 */ +(PID.TID 0000.0001) 1.045063813536698E+03, /* K = 20 */ +(PID.TID 0000.0001) 1.047393250130134E+03, /* K = 21 */ +(PID.TID 0000.0001) 1.049712998140759E+03, /* K = 22 */ +(PID.TID 0000.0001) 1.052023490263938E+03 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 3.513461801096672E-04, /* K = 2 */ +(PID.TID 0000.0001) 2.578462793867026E-04, /* K = 3 */ +(PID.TID 0000.0001) 1.716535447918954E-04, /* K = 4 */ +(PID.TID 0000.0001) 1.391849606744939E-04, /* K = 5 */ +(PID.TID 0000.0001) 1.106038973987551E-04, /* K = 6 */ +(PID.TID 0000.0001) 7.062448315028799E-05, /* K = 7 */ +(PID.TID 0000.0001) 4.112152780686669E-05, /* K = 8 */ +(PID.TID 0000.0001) 2.554455911799560E-05, /* K = 9 */ +(PID.TID 0000.0001) 1.739274227427603E-05, /* K = 10 */ +(PID.TID 0000.0001) 1.573008010125636E-05, /* K = 11 */ +(PID.TID 0000.0001) 1.341763357458043E-05, /* K = 12 */ +(PID.TID 0000.0001) 1.029886793911016E-05, /* K = 13 */ +(PID.TID 0000.0001) 7.244777660794312E-06, /* K = 14 */ +(PID.TID 0000.0001) 5.291061202791868E-06, /* K = 15 */ +(PID.TID 0000.0001) 4.668992652371521E-06, /* K = 16 */ +(PID.TID 0000.0001) 3.952349989520169E-06, /* K = 17 */ +(PID.TID 0000.0001) 3.937600045035830E-06, /* K = 18 */ +(PID.TID 0000.0001) 3.833348475309353E-06, /* K = 19 */ +(PID.TID 0000.0001) 4.027570774400333E-06, /* K = 20 */ +(PID.TID 0000.0001) 3.935806005392895E-06, /* K = 21 */ +(PID.TID 0000.0001) 3.995673930141529E-06, /* K = 22 */ +(PID.TID 0000.0001) 4.061338744769299E-06 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 23 @ 1.930000000000000E-05 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 23 @ 1.460000000000000E-05 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 23 @ 1.460000000000000E-05 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.986000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731600000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.027000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 23 @ 1.000000000000000E+00 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 24 @ 1.000000000000000E+00 /* K = 1: 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.815600000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.815600000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 23 @ 1.000000000000000E+00 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 24 @ 1.000000000000000E+00 /* K = 1: 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.500000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 23 @ 3.600000000000000E+03 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 1.728000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.791666666666666E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 1.440000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 4.142330000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.737098344693282E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.027000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.250000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.750000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2.000000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 2.250000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 4.250000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 6.250000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 8.750000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 1.250000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 1.750000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 2.375000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 3.125000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 3.825000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 4.325000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 4.750000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) 6 @ 5.000000000000000E+02, /* K = 18: 23 */ +(PID.TID 0000.0001) 2.500000000000000E+02 /* K = 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 2 @ 1.000000000000000E+01, /* K = 1: 2 */ +(PID.TID 0000.0001) 1.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 2 @ 2.000000000000000E+01, /* K = 4: 5 */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 3.500000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 7.500000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 1.500000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 2.000000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 2.750000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 3.500000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 4.500000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 7 @ 5.000000000000000E+02 /* K = 17: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 20 @ 2.000000000000000E+00 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 16 @ 2.000000000000000E+00 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 2.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 4.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.371000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.810000000000000E+02, /* I = 1 */ +(PID.TID 0000.0001) 2.830000000000000E+02, /* I = 2 */ +(PID.TID 0000.0001) 2.850000000000000E+02, /* I = 3 */ +(PID.TID 0000.0001) 2.870000000000000E+02, /* I = 4 */ +(PID.TID 0000.0001) 2.890000000000000E+02, /* I = 5 */ +(PID.TID 0000.0001) 2.910000000000000E+02, /* I = 6 */ +(PID.TID 0000.0001) 2.930000000000000E+02, /* I = 7 */ +(PID.TID 0000.0001) 2.950000000000000E+02, /* I = 8 */ +(PID.TID 0000.0001) 2.970000000000000E+02, /* I = 9 */ +(PID.TID 0000.0001) 2.990000000000000E+02, /* I = 10 */ +(PID.TID 0000.0001) 3.010000000000000E+02, /* I = 11 */ +(PID.TID 0000.0001) 3.030000000000000E+02, /* I = 12 */ +(PID.TID 0000.0001) 3.050000000000000E+02, /* I = 13 */ +(PID.TID 0000.0001) 3.070000000000000E+02, /* I = 14 */ +(PID.TID 0000.0001) 3.090000000000000E+02, /* I = 15 */ +(PID.TID 0000.0001) 3.110000000000000E+02, /* I = 16 */ +(PID.TID 0000.0001) 3.130000000000000E+02, /* I = 17 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* I = 18 */ +(PID.TID 0000.0001) 3.170000000000000E+02, /* I = 19 */ +(PID.TID 0000.0001) 3.190000000000000E+02 /* I = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 4.700000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) 4.900000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) 5.100000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) 5.300000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) 5.500000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) 5.700000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) 5.900000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) 6.100000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) 6.300000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) 6.500000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) 6.700000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) 6.900000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) 7.100000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) 7.300000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) 7.500000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) 7.700000000000000E+01 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -5.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -1.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -2.750000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -4.500000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) -6.500000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) -8.750000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) -1.175000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.600000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -2.225000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -3.100000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -4.350000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -6.100000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -8.475000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -1.160000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -1.542500000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -1.975000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -2.450000000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -2.950000000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -3.450000000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -3.950000000000000E+03, /* K = 20 */ +(PID.TID 0000.0001) -4.450000000000000E+03, /* K = 21 */ +(PID.TID 0000.0001) -4.950000000000000E+03, /* K = 22 */ +(PID.TID 0000.0001) -5.450000000000000E+03 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -2.000000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -3.500000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) -5.500000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) -7.500000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) -1.000000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.350000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -1.850000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -2.600000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -5.100000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -7.100000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -9.850000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) -1.335000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -1.750000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -2.200000000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -2.700000000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -3.200000000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -3.700000000000000E+03, /* K = 20 */ +(PID.TID 0000.0001) -4.200000000000000E+03, /* K = 21 */ +(PID.TID 0000.0001) -4.700000000000000E+03, /* K = 22 */ +(PID.TID 0000.0001) -5.200000000000000E+03, /* K = 23 */ +(PID.TID 0000.0001) -5.700000000000000E+03 /* K = 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 23 @ 1.000000000000000E+00 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 24 @ 1.000000000000000E+00 /* K = 1: 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.516695152377178E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.516695152377178E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.459008712061998E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.399544694374234E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.338375547059709E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.275575795302040E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.211221950925184E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.145392419175564E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.078167403197357E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.009628806317309E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.398601322581600E+04, /* J = 10 */ +(PID.TID 0000.0001) 8.689463834022089E+04, /* J = 11 */ +(PID.TID 0000.0001) 7.969739572290120E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.240305410533583E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.502050051917860E+04, /* J = 14 */ +(PID.TID 0000.0001) 5.755872946877906E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.002683197276441E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.544849730924338E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.544849730924338E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.488078573794047E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.429494422142520E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.369168651734348E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.307174760228300E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.243588277631750E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.178486674278995E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.111949266445588E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.044057119713670E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.748929502060512E+04, /* J = 10 */ +(PID.TID 0000.0001) 9.045410238093534E+04, /* J = 11 */ +(PID.TID 0000.0001) 8.330870535090075E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.606180949611843E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.872224404288860E+04, /* J = 14 */ +(PID.TID 0000.0001) 6.129895112114271E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.380097486983529E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.516695152377178E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.516695152377178E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.459008712061998E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.399544694374234E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.338375547059709E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.275575795302040E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.211221950925184E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.145392419175564E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.078167403197357E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.009628806317309E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.398601322581600E+04, /* J = 10 */ +(PID.TID 0000.0001) 8.689463834022089E+04, /* J = 11 */ +(PID.TID 0000.0001) 7.969739572290120E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.240305410533583E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.502050051917860E+04, /* J = 14 */ +(PID.TID 0000.0001) 5.755872946877906E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.002683197276441E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.544849730924338E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.544849730924338E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.488078573794047E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.429494422142520E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.369168651734348E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.307174760228300E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.243588277631750E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.178486674278995E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.111949266445588E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.044057119713670E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.748929502060512E+04, /* J = 10 */ +(PID.TID 0000.0001) 9.045410238093534E+04, /* J = 11 */ +(PID.TID 0000.0001) 8.330870535090075E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.606180949611843E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.872224404288860E+04, /* J = 14 */ +(PID.TID 0000.0001) 6.129895112114271E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.380097486983529E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 20 @ 3.372804882275630E+10 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.372804882275630E+10, /* J = 1 */ +(PID.TID 0000.0001) 3.244522605358471E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.112287377427108E+10, /* J = 3 */ +(PID.TID 0000.0001) 2.976260306737437E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.836607121321784E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.693497967074614E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.547107200456132E+10, /* J = 7 */ +(PID.TID 0000.0001) 2.397613176065682E+10, /* J = 8 */ +(PID.TID 0000.0001) 2.245198029344207E+10, /* J = 9 */ +(PID.TID 0000.0001) 2.090047454670177E+10, /* J = 10 */ +(PID.TID 0000.0001) 1.932350479119805E+10, /* J = 11 */ +(PID.TID 0000.0001) 1.772299232166360E+10, /* J = 12 */ +(PID.TID 0000.0001) 1.610088711600326E+10, /* J = 13 */ +(PID.TID 0000.0001) 1.445916545954351E+10, /* J = 14 */ +(PID.TID 0000.0001) 1.279982753723478E+10, /* J = 15 */ +(PID.TID 0000.0001) 1.112489499673432E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 20 @ 3.372804882275630E+10 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.372804882275630E+10, /* J = 1 */ +(PID.TID 0000.0001) 3.244522605358471E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.112287377427108E+10, /* J = 3 */ +(PID.TID 0000.0001) 2.976260306737437E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.836607121321784E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.693497967074614E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.547107200456132E+10, /* J = 7 */ +(PID.TID 0000.0001) 2.397613176065682E+10, /* J = 8 */ +(PID.TID 0000.0001) 2.245198029344207E+10, /* J = 9 */ +(PID.TID 0000.0001) 2.090047454670177E+10, /* J = 10 */ +(PID.TID 0000.0001) 1.932350479119805E+10, /* J = 11 */ +(PID.TID 0000.0001) 1.772299232166360E+10, /* J = 12 */ +(PID.TID 0000.0001) 1.610088711600326E+10, /* J = 13 */ +(PID.TID 0000.0001) 1.445916545954351E+10, /* J = 14 */ +(PID.TID 0000.0001) 1.279982753723478E+10, /* J = 15 */ +(PID.TID 0000.0001) 1.112489499673432E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 20 @ 3.435414629417918E+10 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.435414629417918E+10, /* J = 1 */ +(PID.TID 0000.0001) 3.309167746093097E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.178889151607872E+10, /* J = 3 */ +(PID.TID 0000.0001) 3.044737570361747E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.906876445392020E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.765473739243563E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.620701729332415E+10, /* J = 7 */ +(PID.TID 0000.0001) 2.472736798052209E+10, /* J = 8 */ +(PID.TID 0000.0001) 2.321759217879512E+10, /* J = 9 */ +(PID.TID 0000.0001) 2.167952931739416E+10, /* J = 10 */ +(PID.TID 0000.0001) 2.011505328899539E+10, /* J = 11 */ +(PID.TID 0000.0001) 1.852607016665020E+10, /* J = 12 */ +(PID.TID 0000.0001) 1.691451588152944E+10, /* J = 13 */ +(PID.TID 0000.0001) 1.528235386428863E+10, /* J = 14 */ +(PID.TID 0000.0001) 1.363157265293026E+10, /* J = 15 */ +(PID.TID 0000.0001) 1.196418347007692E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.562528105304877E+12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) KPP_CHECK: #define ALLOW_KPP +(PID.TID 0000.0001) kpp_freq = /* frequency of KPP calculation */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPP_ghatUseTotalDiffus= /* non-local term fct of total diffus */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPPuseDoubleDiff = /* include double diffusive contrib */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) LimitHblStable = /* limits depth of hbl if stable cond.*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) minKPPhbl = /* minimum KPPhbl value [m] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsln = /* constant [-] */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phepsi = /* constant [-] */ +(PID.TID 0000.0001) 1.000000000000000E-10 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsilon = /* constant [-] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vonk = /* Von Karmans constant [-] */ +(PID.TID 0000.0001) 4.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dB_dz = /* maximum N^2 in mixed layer [s^-2] */ +(PID.TID 0000.0001) 5.200000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc1 = /* scalar constant [-] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conam = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.257000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concm = /* scalar constant [-] */ +(PID.TID 0000.0001) 8.380000000000001E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc2 = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conas = /* scalar constant [-] */ +(PID.TID 0000.0001) -2.886000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concs = /* scalar constant [-] */ +(PID.TID 0000.0001) 9.895999999999999E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc3 = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zetam = /* scalar constant [-] */ +(PID.TID 0000.0001) -2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zetas = /* scalar constant [-] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Ricr = /* critical bulk Richardson Number [-] */ +(PID.TID 0000.0001) 3.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cekman = /* coeff for Ekman depth [-] */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cmonob = /* coeff for Monin-Obukhov depth [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concv = /* buoyancy freq ratio [-] */ +(PID.TID 0000.0001) 1.800000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hbf = /* solar radiation depth ratio [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zmin = /* minimum for zehat in table [m3/s3] */ +(PID.TID 0000.0001) -4.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zmax = /* maximum for zehat in table [m3/s3] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umin = /* minimum for ustar in table [m/s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* maximum for ustar in table [m/s] */ +(PID.TID 0000.0001) 4.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) num_v_smooth_Ri = /* number of vertical smoothing */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Riinfty = /* shear instability Ri number limit [-] */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) BVSQcon = /* Brunt-Vaisala squared (=N^2) [s^-2] */ +(PID.TID 0000.0001) -2.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difm0 = /* max viscosity from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difs0 = /* max diffusiv. from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dift0 = /* max diffusiv. from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difmcon = /* convective viscosity [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difscon = /* convective diffusiv. [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diftcon = /* convective diffusiv. [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Rrho0 = /* double diffusion density ratio [-] */ +(PID.TID 0000.0001) 1.900000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dsfmax = /* max diffusiv. for salt fingering [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cstar = /* coeff for non-locak transport [-] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPPwriteState = /* write KPP fields to file */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kpp_dumpFreq = /* dump freq of KPP output */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kpp_taveFreq = /* time-averaging freq of KPP output */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) EXF_CHECK: #define ALLOW_EXF +(PID.TID 0000.0001) SEAICE_CHECK: #define ALLOW_SEAICE +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) etaday defined by gencost 4 +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 0 +(PID.TID 0000.0001) %MON time_secondsf = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_max = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3333076477051E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.4103618860245E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1168426975828E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4047681849177E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.5049819722560E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5450622558594E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.0128698348999E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4759355674691E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.4306214753982E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6452478048952E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON pe_b_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_r_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067278094140E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8115075987134E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843892147E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1689234854242E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 0 +(PID.TID 0000.0001) %MON seaice_time_sec = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0000000000000E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 2.0000000000000E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 2.0000000000000E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 9.5205094642639E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = 8.2251346492767E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 9.0515124880142E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 3.2399715379512E+02 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 6.5705700303689E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 0 +(PID.TID 0000.0001) %MON exf_time_sec = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON exf_ustress_max = 6.3903775845771E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.5324050318348E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 2.2585053845627E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.7275868295507E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.3810540854857E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.4708944127586E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -6.2488440618747E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.5966769927411E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.5564946659994E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.2446640646997E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 7.3527440806105E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = 1.1759678238206E+02 +(PID.TID 0000.0001) %MON exf_hflux_mean = 2.8333404528937E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.5742193163805E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.7940332098124E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 5.5100078770193E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -6.0802354200242E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -6.5150265743063E-09 +(PID.TID 0000.0001) %MON exf_sflux_sd = 2.6751431080853E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.8965728806310E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4643745422363E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8372380733490E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7697727336031E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9900402496951E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 1.6625569786913E-01 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9240682125092E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0197033882141E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.6089868124963E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7293437592941E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 1.5097945843360E-01 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8832820454477E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.6035219539401E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1981217095273E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5991724245810E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646792253828E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8188281250000E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3646176910400E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6394605784141E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1983417694612E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0525892037380E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3231729436666E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6369274817407E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4803629101886E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4265074770275E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6519352415610E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 2.0326754555358E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 7.1683500197106E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 1.1087529350502E+02 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.5154607039034E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 5.3834650635925E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 6.1424286594286E-08 +(PID.TID 0000.0001) %MON exf_evap_min = 1.1021039945128E-08 +(PID.TID 0000.0001) %MON exf_evap_mean = 2.9875053968778E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 9.5466440695483E-09 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.6734130637722E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0498766300771E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7359498694368E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390080543085E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0578148171209E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6835041457522E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1205755472183E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.3973114013672E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6453223022948E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9625901079469E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7059823758366E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1081237792969E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0228617191315E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9392470025498E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1806556754965E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5622026398184E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0567971801758E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1599769210815E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2594931695913E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6277429231296E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1741979598658E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040330886841E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0666313171387E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3459319600989E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0319548925494E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6975862895226E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.94851485E-02 2.03143980E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 5.95498043E+00 1.09255839E+00 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 28 8.63477172E-07 2.02291536E-05 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 58 8.31721269E-07 2.15674408E-05 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 3.89145512E-02 1.68786586E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 5.85800620E+00 1.09024537E+00 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 28 7.51559742E-07 1.75964282E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 52 9.03030712E-07 2.34120170E-05 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 +(PID.TID 0000.0001) cg2d_init_res = 1.59852054923669E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 47 +(PID.TID 0000.0001) cg2d_last_res = 5.76526654009719E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 1 +(PID.TID 0000.0001) %MON time_secondsf = 3.6000000000000E+03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.0635788969790E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -7.9180095035590E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -7.0243415133306E-17 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 4.6882439869013E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.0374699991175E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.3189733381625E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.9761328680594E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -9.4725826026055E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.8475894987251E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.3605386664599E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.0428468728729E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1377323511950E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.7096157484286E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.3712427065811E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0842532167986E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.1653036437818E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -4.2713146544853E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 5.8080264182517E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.4879746033964E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 4.3463537310767E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3244059135356E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.4101961597080E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0799050402967E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4087902407495E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.9668609587769E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5450777873699E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7656099401412E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4748274370859E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.9950761807460E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.7427815459421E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 9.0561102310369E+04 +(PID.TID 0000.0001) %MON forcing_qnet_min = 2.6204517276812E+04 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 6.2508444244181E+04 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.9048452078585E+04 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7858189494162E+02 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -7.4467175578701E-03 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -4.2933257089527E-04 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.1045667717750E-03 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.0195935462279E-04 +(PID.TID 0000.0001) %MON forcing_empmr_max = -7.8376483162499E-02 +(PID.TID 0000.0001) %MON forcing_empmr_min = -2.7120986112334E-01 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -1.8716151376320E-01 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 5.7112046530665E-02 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 8.3343148578546E-04 +(PID.TID 0000.0001) %MON forcing_fu_max = 3.0104736869831E-03 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.8984959041597E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = 8.4608935579449E-04 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.2081178438277E-04 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1157665774485E-05 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0219555778038E-03 +(PID.TID 0000.0001) %MON forcing_fv_min = -1.4975873109393E-03 +(PID.TID 0000.0001) %MON forcing_fv_mean = -2.4787241135348E-04 +(PID.TID 0000.0001) %MON forcing_fv_sd = 6.5005480255251E-04 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.2701456971386E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.8543423515976E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.2446881340043E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.1163796268600E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.8540451336809E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.3069173946446E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 4.1271577939578E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.1699547437806E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 7.2459152814998E-06 +(PID.TID 0000.0001) %MON ke_max = 1.5940966858268E-04 +(PID.TID 0000.0001) %MON ke_mean = 1.2133746438612E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -1.3728781712160E-07 +(PID.TID 0000.0001) %MON vort_r_max = 1.1140677138452E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277213448E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8106506473760E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734842597826E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1691075637735E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 5.0972065690995E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -5.2016300712729E-06 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 1 +(PID.TID 0000.0001) %MON seaice_time_sec = 3.6000000000000E+03 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.2041894747932E-02 +(PID.TID 0000.0001) %MON seaice_uice_min = -1.1593983616639E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 3.3843574231780E-03 +(PID.TID 0000.0001) %MON seaice_uice_sd = 3.2832471375311E-03 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 8.4630663097942E-05 +(PID.TID 0000.0001) %MON seaice_vice_max = 4.0878223112151E-03 +(PID.TID 0000.0001) %MON seaice_vice_min = -5.9903492437573E-03 +(PID.TID 0000.0001) %MON seaice_vice_mean = -9.9148964541391E-04 +(PID.TID 0000.0001) %MON seaice_vice_sd = 2.6002192102100E-03 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 5.0805827885543E-05 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 8.8241200735970E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 3.2210186371195E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 2.6666475771526E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 6.8993406595551E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 2.9490283368986E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 2.0099377743190E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 2.9401727925079E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0039559082223E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.0299378294785E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.8795826585774E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.0521014004339E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 6.1745749519298E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 2.4300919428475E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.8706060700323E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 2.8445152958901E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 1 +(PID.TID 0000.0001) %MON exf_time_sec = 3.6000000000000E+03 +(PID.TID 0000.0001) %MON exf_ustress_max = 5.2952831527506E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.4100144350760E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8607622224619E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.4057684016500E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.2068569743786E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.4006716586934E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -5.9442497948679E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.6680490960420E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.4567614592354E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.1360912373180E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 6.4939682078218E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -4.8611740966314E+01 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.6832654558975E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.8362699584315E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.4309352542320E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 4.2969162591452E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -8.3459440709124E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.3745892148706E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 3.1300300282014E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.7775968330834E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4648819946852E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8372648550513E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7698802859475E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9903162155877E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 8.0271726639726E-02 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9240983933048E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0187974783892E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.6028090815952E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7294518007626E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 4.8609855321605E-02 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8833202965791E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.6010935417159E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1982241536133E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5994287774633E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646545747982E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8188110034713E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3645730413635E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6394141375606E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1984878226631E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0555651533612E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3224764028055E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6359864467567E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4798025537840E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4264043737180E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6495489306751E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.8955025039790E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 3.4245037134592E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5810049831882E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 4.1998013274789E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 4.6578132531727E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 4.9292707704615E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -5.5793937045122E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.2644177550344E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 1.2089187924457E-08 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.1141554196263E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0498904445033E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7346106047101E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390069699050E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0578598603627E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6837812825023E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1206038349965E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.3991984364244E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6463755238823E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9629736696482E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7099997232451E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1102204849160E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0228931499961E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9404172487581E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1810818551646E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5666663591612E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0567089193375E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1598258522951E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2593360963007E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6281398610271E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1732435942730E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040515633880E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0667072499385E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3459840934468E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0318832207269E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6974851931992E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.75225254E-02 1.60827528E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 3.18315241E+00 4.45406602E-01 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 32 8.45308276E-07 8.77751038E-06 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 66 9.33157556E-07 1.13117848E-05 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 3.98170501E-02 1.55616639E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.60509046E+00 3.91872896E-01 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 30 9.33942248E-07 1.59410246E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 80 9.60218226E-07 9.23096746E-06 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 +(PID.TID 0000.0001) cg2d_init_res = 3.33861453555208E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 45 +(PID.TID 0000.0001) cg2d_last_res = 6.10582955160977E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 2 +(PID.TID 0000.0001) %MON time_secondsf = 7.2000000000000E+03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.8860214066455E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.2834439688048E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.7283570390193E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.4578719722373E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3372870653705E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 3.2345826796125E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.0242717023285E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -7.7159234578009E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 4.4562846520541E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2553071351452E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 4.2183991412244E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.6486095579799E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.4847792359670E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.8134725662719E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.6588814399235E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.6868646010609E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -6.5653696378060E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.5446878771946E-23 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.1157564917175E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.4553627765810E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3260653674899E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8315674624044E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0744366062651E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4246112736440E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.8795611679600E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5450923640175E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7609290591066E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4746539609627E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.1057030246173E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6664870938342E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 2.1573266973592E+04 +(PID.TID 0000.0001) %MON forcing_qnet_min = -4.8611740966314E+01 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 9.2444927793605E+03 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 4.7500174554482E+03 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7845494915853E+02 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -6.3991984364244E+01 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -5.7626906252125E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.6010569106582E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1743806699306E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = -2.3123557540698E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -6.4527858968686E-02 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.7653547917575E-02 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.4200488283459E-02 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 8.3330925716492E-04 +(PID.TID 0000.0001) %MON forcing_fu_max = 7.6564711972844E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.4036178826050E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.6841309095131E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 1.9808546009021E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 7.1680515545349E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0679733761674E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -9.2402214137863E-03 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.4380454253311E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 4.5680741221470E-03 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.7098747736311E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 9.5524230098397E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.7001544852826E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 8.8043830807270E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 9.5519380448179E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.8286554821658E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.6448850193329E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.7542151153017E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 1.8335919294502E-05 +(PID.TID 0000.0001) %MON ke_max = 8.0879325078038E-04 +(PID.TID 0000.0001) %MON ke_mean = 2.7009722489498E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -2.8349398945986E-07 +(PID.TID 0000.0001) %MON vort_r_max = 1.7945184540995E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277951547E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8107579894347E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843682583E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1691469783295E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.7634913629106E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -3.6372988734050E-06 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 2 +(PID.TID 0000.0001) %MON seaice_time_sec = 7.2000000000000E+03 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.8482156442362E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.7249933601916E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 5.7157660179467E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 5.8268081571691E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.3647647561458E-03 +(PID.TID 0000.0001) %MON seaice_vice_max = 6.2586659794800E-02 +(PID.TID 0000.0001) %MON seaice_vice_min = -3.1698716685261E-02 +(PID.TID 0000.0001) %MON seaice_vice_mean = -4.8700347008974E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.9696940744667E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 7.1962371252570E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 7.0982369743073E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.5366700221756E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 3.2657733890698E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.8895104755355E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.9760806111850E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.8921541607071E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.6497137537374E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0023562424984E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 7.0013847648030E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.6991315879810E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.2920145865824E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.1951816758568E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = -2.2737367544323E-13 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 1.6198683356839E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.6616485821955E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.4260168131154E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 2 +(PID.TID 0000.0001) %MON exf_time_sec = 7.2000000000000E+03 +(PID.TID 0000.0001) %MON exf_ustress_max = 5.2373899561505E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.3848318241134E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.7851228006896E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.3646263958233E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.1409483588771E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.3862389789206E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -5.8693724233832E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.5186534649124E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.4411101226349E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.1437992111410E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 6.3300299509194E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -4.7714562046830E+01 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.5446258169740E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.8080228835383E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.3650362462098E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 4.0782196220262E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -8.7527688899396E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.5524596916123E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 3.0933055214115E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.7683999600605E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4653894471340E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8372916367536E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7699878382919E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9905922217476E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 8.0271529751792E-02 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9241285741003E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0178915685643E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.5966313506940E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7295599554900E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 4.8609699266683E-02 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8833585477315E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.5986651533145E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1983267266652E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5996852426804E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646299926724E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8187938819427E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3645283916869E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6393676967070E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1986339246462E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0585416752362E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3217798619445E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6350454117726E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4792421973794E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4263013062694E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6471629231506E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.8572616849287E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 3.4440387118459E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.2250277570937E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 4.1895085597792E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 4.5267129390048E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 4.7105078622494E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -5.4066076787296E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0865461938893E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 1.1696618292870E-08 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.0242885848096E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0499042589295E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7332713399833E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390058855016E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0579049691733E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6840584643800E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1206321227746E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.4010854714816E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6474287454698E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9633572905820E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7140179220378E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1123171905351E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0229245808607E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9415874949665E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1815081006466E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5711310244864E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0566206584993E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1596747835086E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2591790230100E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6285369157135E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1722892696108E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040700380919E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0667831827383E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3460362267948E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0318117788237E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6973864151273E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 2.86268655E-02 1.55520244E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.74940742E+00 2.38021429E-01 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 36 8.03453505E-07 1.02721689E-05 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 76 9.82671780E-07 3.72577455E-06 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 1.73268298E-02 1.13232277E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.67667951E+00 2.13603102E-01 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 36 9.83282302E-07 2.30633388E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 62 7.86209399E-07 1.81170152E-06 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.65585935462282E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 44 +(PID.TID 0000.0001) cg2d_last_res = 8.58723452545735E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 3 +(PID.TID 0000.0001) %MON time_secondsf = 1.0800000000000E+04 +(PID.TID 0000.0001) %MON dynstat_eta_max = 3.1200571210931E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4175050217332E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.1672663449666E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 8.4432999959959E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.1981798555172E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.4856320293537E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.8577077898496E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.0146479170342E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.7072406453746E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.7446705388097E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 5.5108523081937E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.9360355565528E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -9.4159239083143E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.4372997768564E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.8518921774123E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.1830276214993E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0184732200242E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.0627452595099E-21 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.7266423173375E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 6.6814097167347E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3263111506735E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9325037762574E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0735109946567E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4276089311250E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.8667004030101E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5451057670656E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7614330464559E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4746250543494E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.1242061790498E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6601984720847E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.3296428273802E+03 +(PID.TID 0000.0001) %MON forcing_qnet_min = -4.7714562046830E+01 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 1.5566928962727E+03 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0971332564756E+03 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 8.9382853834998E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -6.4010854714816E+01 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.3420132056940E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 2.1915797496867E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.2846407512099E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = -2.1966493315379E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.2855352557884E-02 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -4.6219743448643E-03 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 3.2453751952297E-03 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 2.6661731270929E-04 +(PID.TID 0000.0001) %MON forcing_fu_max = 9.3784155584468E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = -3.6575324129790E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 2.4295749030177E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 2.4715582265044E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 1.1825442548098E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0715885866973E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -4.3774232380724E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -6.2001517676089E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 1.1360971466021E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 5.6327922948076E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.7002376318934E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.7529796433053E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 4.6112689300872E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 1.7001513128747E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 8.9208513860142E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 8.5006880041735E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.1077424408867E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 2.3501591982197E-05 +(PID.TID 0000.0001) %MON ke_max = 2.0713043335779E-03 +(PID.TID 0000.0001) %MON ke_mean = 4.0939854603399E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -3.7035222459306E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.2218960180709E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277963980E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8113036948354E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843700856E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1691163898609E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.6901840770127E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.6277922435323E-06 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 3 +(PID.TID 0000.0001) %MON seaice_time_sec = 1.0800000000000E+04 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.6142182325436E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -4.8887769062788E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 7.1103198736411E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 5.7080755674205E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.6086542694329E-03 +(PID.TID 0000.0001) %MON seaice_vice_max = 8.9083652893255E-02 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.5124609590471E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -1.8009273104343E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 4.1716525401934E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.6083280170802E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 6.5733635985703E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.7423616716142E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 3.6507465588865E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.7530330464859E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.8152202990544E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.8493975928864E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.9427730005235E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0012996226770E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 6.4344009499758E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.5540561537986E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.3974679417050E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.0759529291364E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = -3.5527136788005E-15 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 1.4935841572077E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.6045761693369E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.5792946694910E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 3 +(PID.TID 0000.0001) %MON exf_time_sec = 1.0800000000000E+04 +(PID.TID 0000.0001) %MON exf_ustress_max = 5.2253598198161E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.3800177447582E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.7761693545994E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.3595528219142E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.1415463543815E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.3834963506767E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -5.8522651112696E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.4696471724590E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.4383722124016E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.1529625550114E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 6.2984723466062E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -4.7347423591597E+01 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.5220071441143E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.7990960100422E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.3523184366411E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 4.0360779869846E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -8.8306536701970E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.5805447491622E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 3.0822708057213E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.7672733525641E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4658968995829E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8373184184559E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7700953906363E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9908682681638E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 8.0271336255764E-02 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9241587548959E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0169856587394E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.5904536197929E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7296682234552E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 4.8609550037542E-02 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8833967989048E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.5962367887737E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1984294286706E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5999418201857E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646054790944E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8187767604140E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3644837420104E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6393212558534E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1987800753926E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0615187686393E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3210833210834E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6341043767886E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4786818409748E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4261982746893E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6447772192714E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.8516255042579E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 3.4493568839759E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.1681922077285E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 4.1769273547920E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 4.5006206066376E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 4.6682999561148E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -5.3342154475673E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0584600519359E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 1.1576042080970E-08 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.0074628262555E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0499180733557E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7319320752566E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390048010982E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0579501435483E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6843356913630E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1206604105527E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.4029725065388E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6484819670573E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9637409707136E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7180369708849E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1144138961542E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0229560117253E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9427577411748E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1819344119040E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5755966343166E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0565323976611E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1595237147222E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2590219497194E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6289340871590E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1713349858933E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040885127959E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0668591155380E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3460883601427E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0317405668875E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6972899555616E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 1.92432265E-02 9.42131536E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.53414557E+00 1.96161826E-01 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 42 8.71647096E-07 2.34054491E-05 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 46 7.47279511E-07 1.11762431E-06 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 8.86796066E-03 5.30245093E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.50953507E+00 1.91708728E-01 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 44 9.99010196E-07 2.68869550E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 36 7.29226934E-07 9.42201385E-07 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.25006909262882E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 44 +(PID.TID 0000.0001) cg2d_last_res = 9.20603291526689E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 4 +(PID.TID 0000.0001) %MON time_secondsf = 1.4400000000000E+04 +(PID.TID 0000.0001) %MON dynstat_eta_max = 3.2000545184694E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3349338937347E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.5207370268035E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 8.5184292488422E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.0934637775163E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 8.2512406374979E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.5127658349185E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.6858722141188E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 6.7179469096981E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.0034753321535E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 6.6473080704341E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -5.4309651745800E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -5.9193420182227E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 9.3729426406751E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.9142700806046E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.6784756713641E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.5011707685896E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.4487010863205E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.4063919558286E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 7.6544432094708E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3261119623659E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9532335461641E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0733266932513E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4281134149900E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.8552715446868E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5451168695842E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7619300672645E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4746200189789E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.1270389614300E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6563772376287E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 8.7757792393125E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -4.7347423591597E+01 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 3.0507319980419E+02 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 2.3699181155992E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.3268200966658E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -6.4029725065388E+01 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.5761010937622E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 2.2895611002370E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.2825569840473E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = -2.1977294661131E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -2.5019541967335E-03 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -8.7217501134798E-04 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 6.5854743674227E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 6.8219711070130E-05 +(PID.TID 0000.0001) %MON forcing_fu_max = 8.2449272116085E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = -4.5632567268432E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 2.4073994705238E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 2.3131242220756E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 1.1286790923426E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0733265513237E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -6.0122420618096E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -8.4627902163586E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 1.5042336154921E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 6.8323783419072E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.2161666942356E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.0558031493020E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 4.8438172668422E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.2160541821192E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.0760521984091E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.5754574305290E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.4318891569936E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 2.3921691359412E-05 +(PID.TID 0000.0001) %MON ke_max = 4.4630819685464E-03 +(PID.TID 0000.0001) %MON ke_mean = 5.2190237265223E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -5.9719988753608E-07 +(PID.TID 0000.0001) %MON vort_r_max = 3.3649429719562E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277722320E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8117909143867E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843345698E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1690608850023E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.7265234057788E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.4052396312230E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 4 +(PID.TID 0000.0001) %MON seaice_time_sec = 1.4400000000000E+04 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.9278613664963E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -6.6336420486095E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 8.0980071875100E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 6.5934108724636E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.9774517829662E-03 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.0422521997256E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.5834238711265E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -2.4536983137141E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 4.7780118682829E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.2747441208059E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 6.4837610795517E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.7688271947091E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 3.5900585080448E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.7249106227686E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.7858987674424E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.8389251216999E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.9767313359982E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0013780623038E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 6.3308038477445E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.5176643246776E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.4095623457340E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.0526892340529E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 1.4693342058545E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.5930872779066E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.6109274783666E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %CHECKPOINT 4 ckptA +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833143926D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269643D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189129671D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986541647D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986541647D+04 +(PID.TID 0000.0001) global fc = 0.723648986541647D+04 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833143926D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269643D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189129671D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986541647D+04 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 + cg2d: Sum(rhs),rhsMax = -1.11022302462516E-16 1.04090595757221E-03 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = -1.13659082146000E-14 8.36868947309287E-04 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = -5.56499291093360E-15 1.48212043427929E-03 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = -3.34177130412172E-14 2.04326452102084E-04 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833143926D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269643D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189129671D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986541647D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986541647D+04 +(PID.TID 0000.0001) global fc = 0.723648986541647D+04 +(PID.TID 0000.0001) grdchk reference fc: fcref = 7.23648986541647E+03 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj + grad-res closest next position: + grad-res 0 10 4 8 1 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 10 300 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 6 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 6 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.40779618465581E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.25821919128822E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 5.30825383648903E-15 1.20525368718142E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979589970E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006180D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833145784D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269637D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189127731D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986544492D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986544492D+04 +(PID.TID 0000.0001) global fc = 0.723648986544492D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986544492E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.02615701994091E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 8.35095881335235E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 4.35762537165374E-15 1.20525368718145E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979584440E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006192D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833142069D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269649D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131610D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986540802D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986540802D+04 +(PID.TID 0000.0001) global fc = 0.723648986540802D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986540802E+03 +grad-res ------------------------------- + grad-res 0 1 6 8 1 1 1 1 7.23648986542E+03 7.23648986544E+03 7.23648986541E+03 + grad-res 0 1 1 10 0 1 1 1 1.84514928426E-04 1.84527380043E-04 -6.74829749971E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 1.84514928426408E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 1.84527380042709E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 11 300 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 10 2 + ph-grd -->hit<-- 7 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 7 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.11636264069170E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.97986415729457E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 7.41073868937292E-15 1.20525368718143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979589073E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006182D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833145723D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269639D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189128178D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986544436D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986544436D+04 +(PID.TID 0000.0001) global fc = 0.723648986544436D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986544436E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.47024622979097E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.17596904436468E-14 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 1.00544572667616E-14 1.20525368718145E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979585330E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006190D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833142129D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269647D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131163D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986540858D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986540858D+04 +(PID.TID 0000.0001) global fc = 0.723648986540858D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986540858E+03 +grad-res ------------------------------- + grad-res 0 2 7 8 1 1 1 1 7.23648986542E+03 7.23648986544E+03 7.23648986541E+03 + grad-res 0 2 2 11 0 1 1 1 1.78844911598E-04 1.78856680577E-04 -6.58055008793E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 1.78844911598168E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 1.78856680577155E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 12 300 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 11 3 + ph-grd -->hit<-- 8 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 8 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.70616862252382E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.01411934405604E-14 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 3.27515792264421E-15 1.20525368718141E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979588209E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833146249D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269642D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189128136D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986544969D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986544969D+04 +(PID.TID 0000.0001) global fc = 0.723648986544969D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986544969E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.91433543964104E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.02643588073548E-14 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 8.56606452437347E-15 1.20525368718149E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979586203E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006187D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833141604D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269644D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131205D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986540325D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986540325D+04 +(PID.TID 0000.0001) global fc = 0.723648986540325D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986540325E+03 +grad-res ------------------------------- + grad-res 0 3 8 8 1 1 1 1 7.23648986542E+03 7.23648986545E+03 7.23648986540E+03 + grad-res 0 3 3 12 0 1 1 1 2.32148292248E-04 2.32153070101E-04 -2.05810383180E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 2.32148292248151E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 2.32153070101049E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 13 300 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 12 4 + ph-grd -->hit<-- 9 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 9 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.95596880306448E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.02383379552151E-14 1.20987150232972E+00 + cg2d: Sum(rhs),rhsMax = 6.88338275267597E-15 1.20525368718140E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979590600E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006160D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833146962D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269616D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189128123D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986545629D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986545629D+04 +(PID.TID 0000.0001) global fc = 0.723648986545629D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986545629E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 1.80411241501588E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.03025227238263E-14 1.20987150232974E+00 + cg2d: Sum(rhs),rhsMax = 7.59808882477842E-15 1.20525368718151E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979583810E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006213D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833140891D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269670D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131217D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986539665D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986539665D+04 +(PID.TID 0000.0001) global fc = 0.723648986539665D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986539665E+03 +grad-res ------------------------------- + grad-res 0 4 9 8 1 1 1 1 7.23648986542E+03 7.23648986546E+03 7.23648986540E+03 + grad-res 0 4 4 13 0 1 1 1 2.98190171886E-04 2.98218765238E-04 -9.58896513321E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 2.98190171886221E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 2.98218765237834E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 14 300 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 13 5 + ph-grd -->hit<-- 10 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 10 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.58126853225349E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.16107467663352E-15 1.20987150232972E+00 + cg2d: Sum(rhs),rhsMax = 6.07500161287078E-15 1.20525368718137E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979591467E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006156D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833147736D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269613D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189137502D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986546397D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986546397D+04 +(PID.TID 0000.0001) global fc = 0.723648986546397D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986546397E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.31759056390501E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.33628174770718E-15 1.20987150232974E+00 + cg2d: Sum(rhs),rhsMax = 8.45157277495900E-15 1.20525368718153E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979582938E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006216D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833140117D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269673D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189121841D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986538897D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986538897D+04 +(PID.TID 0000.0001) global fc = 0.723648986538897D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986538897E+03 +grad-res ------------------------------- + grad-res 0 5 10 8 1 1 1 1 7.23648986542E+03 7.23648986546E+03 7.23648986539E+03 + grad-res 0 5 5 14 0 1 1 1 3.75009053569E-04 3.75011950382E-04 -7.72464950316E-06 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 3.75009053568532E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 3.75011950382032E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 6 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 1 7.2364898654165E+03 7.2364898654449E+03 7.2364898654080E+03 +(PID.TID 0000.0001) grdchk output (g): 1 1.8452738004271E-04 1.8451492842641E-04 -6.7482974997146E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 7 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 2 7.2364898654165E+03 7.2364898654444E+03 7.2364898654086E+03 +(PID.TID 0000.0001) grdchk output (g): 2 1.7885668057716E-04 1.7884491159817E-04 -6.5805500879312E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 8 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 3 7.2364898654165E+03 7.2364898654497E+03 7.2364898654033E+03 +(PID.TID 0000.0001) grdchk output (g): 3 2.3215307010105E-04 2.3214829224815E-04 -2.0581038318035E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 9 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 4 7.2364898654165E+03 7.2364898654563E+03 7.2364898653966E+03 +(PID.TID 0000.0001) grdchk output (g): 4 2.9821876523783E-04 2.9819017188622E-04 -9.5889651332115E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 10 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 5 7.2364898654165E+03 7.2364898654640E+03 7.2364898653890E+03 +(PID.TID 0000.0001) grdchk output (g): 5 3.7501195038203E-04 3.7500905356853E-04 -7.7246495031602E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 6.0930108224477E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 8.8484845990315080 +(PID.TID 0000.0001) System time: 0.36996998591348529 +(PID.TID 0000.0001) Wall clock time: 9.2735590934753418 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 6.2364002456888556E-002 +(PID.TID 0000.0001) System time: 2.2825000109151006E-002 +(PID.TID 0000.0001) Wall clock time: 8.6004972457885742E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 5.1007818356156349 +(PID.TID 0000.0001) System time: 1.5424046665430069E-002 +(PID.TID 0000.0001) Wall clock time: 5.1302950382232666 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.5463813245296478E-002 +(PID.TID 0000.0001) System time: 8.3950012922286987E-003 +(PID.TID 0000.0001) Wall clock time: 6.4281940460205078E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "EXF_GETFORCING [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 4.0097303688526154E-002 +(PID.TID 0000.0001) System time: 2.1870583295822144E-003 +(PID.TID 0000.0001) Wall clock time: 4.2495727539062500E-002 +(PID.TID 0000.0001) No. starts: 56 +(PID.TID 0000.0001) No. stops: 56 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 3.1476467847824097E-004 +(PID.TID 0000.0001) System time: 5.9492886066436768E-006 +(PID.TID 0000.0001) Wall clock time: 3.2258033752441406E-004 +(PID.TID 0000.0001) No. starts: 56 +(PID.TID 0000.0001) No. stops: 56 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.4401689171791077E-002 +(PID.TID 0000.0001) System time: 1.3000518083572388E-004 +(PID.TID 0000.0001) Wall clock time: 1.4615535736083984E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.1684508323669434E-003 +(PID.TID 0000.0001) System time: 5.1956623792648315E-005 +(PID.TID 0000.0001) Wall clock time: 4.2378902435302734E-003 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.0334334447979927 +(PID.TID 0000.0001) System time: 2.1570697426795959E-003 +(PID.TID 0000.0001) Wall clock time: 2.0416865348815918 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "SEAICE_MODEL [DO_OCEANIC_PHYS]": +(PID.TID 0000.0001) User time: 0.55746244639158249 +(PID.TID 0000.0001) System time: 3.0495971441268921E-004 +(PID.TID 0000.0001) Wall clock time: 0.56000685691833496 +(PID.TID 0000.0001) No. starts: 56 +(PID.TID 0000.0001) No. stops: 56 +(PID.TID 0000.0001) Seconds in section "SEAICE_DYNSOLVER [SEAICE_MODEL]": +(PID.TID 0000.0001) User time: 0.51504363864660263 +(PID.TID 0000.0001) System time: 2.1701306104660034E-004 +(PID.TID 0000.0001) Wall clock time: 0.51742410659790039 +(PID.TID 0000.0001) No. starts: 60 +(PID.TID 0000.0001) No. stops: 60 +(PID.TID 0000.0001) Seconds in section "KPP_CALC [DO_OCEANIC_PHYS]": +(PID.TID 0000.0001) User time: 1.0292500779032707 +(PID.TID 0000.0001) System time: 1.0209903120994568E-003 +(PID.TID 0000.0001) Wall clock time: 1.0328898429870605 +(PID.TID 0000.0001) No. starts: 224 +(PID.TID 0000.0001) No. stops: 224 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.0330418497323990 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.0357983112335205 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.11693871021270752 +(PID.TID 0000.0001) System time: 9.7097456455230713E-004 +(PID.TID 0000.0001) Wall clock time: 0.11820340156555176 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.5043492913246155E-002 +(PID.TID 0000.0001) System time: 7.0201605558395386E-004 +(PID.TID 0000.0001) Wall clock time: 3.5863399505615234E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.7663747072219849E-002 +(PID.TID 0000.0001) System time: 2.4600327014923096E-004 +(PID.TID 0000.0001) Wall clock time: 1.7950534820556641E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.1377649903297424E-002 +(PID.TID 0000.0001) System time: 3.9000064134597778E-005 +(PID.TID 0000.0001) Wall clock time: 7.1655035018920898E-002 +(PID.TID 0000.0001) No. starts: 104 +(PID.TID 0000.0001) No. stops: 104 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.2259595394134521 +(PID.TID 0000.0001) System time: 5.9902667999267578E-006 +(PID.TID 0000.0001) Wall clock time: 1.2290887832641602 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.9601156711578369E-004 +(PID.TID 0000.0001) System time: 1.0132789611816406E-006 +(PID.TID 0000.0001) Wall clock time: 2.9468536376953125E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 9.7802430391311646E-003 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 9.8221302032470703E-003 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.0453503131866455E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.9969215393066406E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.7989338636398315E-003 +(PID.TID 0000.0001) System time: 2.9899999499320984E-003 +(PID.TID 0000.0001) Wall clock time: 7.8401565551757812E-003 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.7109553813934326E-003 +(PID.TID 0000.0001) System time: 9.0000033378601074E-004 +(PID.TID 0000.0001) Wall clock time: 4.6505928039550781E-003 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "COST_GENCOST_ALL [ECCO SPIN-DOWN]": +(PID.TID 0000.0001) User time: 0.11007207632064819 +(PID.TID 0000.0001) System time: 6.7900121212005615E-003 +(PID.TID 0000.0001) Wall clock time: 0.11748838424682617 +(PID.TID 0000.0001) No. starts: 12 +(PID.TID 0000.0001) No. stops: 12 +(PID.TID 0000.0001) Seconds in section "CTRL_COST_DRIVER [ECCO SPIN-DOWN]": +(PID.TID 0000.0001) User time: 2.3388683795928955E-002 +(PID.TID 0000.0001) System time: 3.0549168586730957E-003 +(PID.TID 0000.0001) Wall clock time: 2.6571989059448242E-002 +(PID.TID 0000.0001) No. starts: 12 +(PID.TID 0000.0001) No. stops: 12 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 4.8341751098632812E-003 +(PID.TID 0000.0001) System time: 9.8702311515808105E-004 +(PID.TID 0000.0001) Wall clock time: 5.8610439300537109E-003 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 4.4310092926025391E-003 +(PID.TID 0000.0001) System time: 1.0180175304412842E-003 +(PID.TID 0000.0001) Wall clock time: 5.4819583892822266E-003 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 5.2078759670257568 +(PID.TID 0000.0001) System time: 6.5710991621017456E-002 +(PID.TID 0000.0001) Wall clock time: 5.3126111030578613 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.34201169013977051 +(PID.TID 0000.0001) System time: 3.7988990545272827E-002 +(PID.TID 0000.0001) Wall clock time: 0.38216042518615723 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 4.8621137142181396 +(PID.TID 0000.0001) System time: 2.5073975324630737E-002 +(PID.TID 0000.0001) Wall clock time: 4.9239718914031982 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "COST_AVERAGESFIELDS [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 6.3692092895507812E-002 +(PID.TID 0000.0001) System time: 1.9398331642150879E-004 +(PID.TID 0000.0001) Wall clock time: 6.4080476760864258E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 4.6523830890655518 +(PID.TID 0000.0001) System time: 1.1054039001464844E-002 +(PID.TID 0000.0001) Wall clock time: 4.6761357784271240 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "COST_AVERAGESFIELDS [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 2.3272037506103516E-002 +(PID.TID 0000.0001) System time: 3.8709938526153564E-003 +(PID.TID 0000.0001) Wall clock time: 5.0437688827514648E-002 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "ECCO_COST_DRIVER [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.12006711959838867 +(PID.TID 0000.0001) System time: 9.8539888858795166E-003 +(PID.TID 0000.0001) Wall clock time: 0.13052606582641602 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 1.8868446350097656E-003 +(PID.TID 0000.0001) System time: 8.8006258010864258E-005 +(PID.TID 0000.0001) Wall clock time: 1.9841194152832031E-003 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 43788 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 43788 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/lab_sea/results/output_tap_adj.txt b/verification/lab_sea/results/output_tap_adj.txt new file mode 100644 index 0000000000..0a81519723 --- /dev/null +++ b/verification/lab_sea/results/output_tap_adj.txt @@ -0,0 +1,5588 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Wed May 24 08:41:37 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 10 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 8 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 4 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 4 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 23 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 20 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 16 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># tRef - Reference vertical potential temperature (deg C) +(PID.TID 0000.0001) ># sRef - Reference vertical salinity (PSU) +(PID.TID 0000.0001) ># viscAh - Horizontal eddy viscosity coefficient (m^2/s) +(PID.TID 0000.0001) ># viscAz - Vertical eddy viscosity coefficient (m^2/s) +(PID.TID 0000.0001) ># diffKhT - Horizontal temperature diffusivity (m^2/s) +(PID.TID 0000.0001) ># diffKzT - Vertical temperature diffusivity (m^2/s) +(PID.TID 0000.0001) ># diffKhS - Horizontal salt diffusivity (m^2/s) +(PID.TID 0000.0001) ># diffKzS - Vertical salt diffusivity (m^2/s) +(PID.TID 0000.0001) ># gravity - Acceleration due to gravity (m/s^2) +(PID.TID 0000.0001) ># rigidLid - Set to true to use rigid lid +(PID.TID 0000.0001) ># implicitFreeSurface - Set to true to use implicit free surface +(PID.TID 0000.0001) ># eosType - Flag for linear or polynomial equation of state +(PID.TID 0000.0001) ># momAdvection - On/Off flag for momentum self transport +(PID.TID 0000.0001) ># momViscosity - On/Off flag for momentum mixing +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef= 24.0 , 23.0 , 22.0 , 21.0 , 20.0 , +(PID.TID 0000.0001) > 19.0 , 18.0 , 17.0 , 16.0 , 15.0 , +(PID.TID 0000.0001) > 14.0 , 13.0 , 12.0 , 11.0 , 10.0 , +(PID.TID 0000.0001) > 9.0 , 8.0 , 7.0 , 6.0, 5.0 , +(PID.TID 0000.0001) > 4.0 , 3.0 , 2.0 , +(PID.TID 0000.0001) > sRef= 34.65, 34.75, 34.82, 34.87, 34.90, +(PID.TID 0000.0001) > 34.90, 34.86, 34.78, 34.69, 34.60, +(PID.TID 0000.0001) > 34.58, 34.62, 34.68, 34.72, 34.73, +(PID.TID 0000.0001) > 34.74, 34.73, 34.73, 34.72, 34.72, +(PID.TID 0000.0001) > 34.71, 34.70, 34.69, +(PID.TID 0000.0001) > no_slip_sides=.FALSE., +(PID.TID 0000.0001) > no_slip_bottom=.TRUE., +(PID.TID 0000.0001) > viscAz=1.93e-5, +(PID.TID 0000.0001) > viscAh=5.E4, +(PID.TID 0000.0001) > diffKhT=0.0, +(PID.TID 0000.0001) > diffKzT=1.46e-5, +(PID.TID 0000.0001) > diffKhS=0.0, +(PID.TID 0000.0001) > diffKzS=1.46e-5, +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > saltStepping=.TRUE., +(PID.TID 0000.0001) > tempStepping=.TRUE., +(PID.TID 0000.0001) > momStepping=.TRUE., +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > implicitViscosity=.TRUE., +(PID.TID 0000.0001) > allowFreezing=.FALSE., +(PID.TID 0000.0001) >#- set wrong celsius2K to reproduce old results: +(PID.TID 0000.0001) > celsius2K=273.16, +(PID.TID 0000.0001) > HeatCapacity_Cp = 3986.D0, +(PID.TID 0000.0001) > gravity = 9.8156, +(PID.TID 0000.0001) > rhoConst = 1027.D0, +(PID.TID 0000.0001) > rhoConstFresh = 999.8, +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) >#ph( +(PID.TID 0000.0001) > staggerTimeStep=.TRUE., +(PID.TID 0000.0001) > multiDimAdvection=.TRUE., +(PID.TID 0000.0001) > tempAdvScheme=30, +(PID.TID 0000.0001) > saltAdvScheme=30, +(PID.TID 0000.0001) >#ph) +(PID.TID 0000.0001) >#globalFiles=.TRUE., +(PID.TID 0000.0001) >#- not safe to use globalFiles in multi-processors runs; set instead useSingleCpuIO +(PID.TID 0000.0001) > useSingleCpuIO=.FALSE., +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) > writeBinaryPrec=32, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># cg2dMaxIters - Maximum number of 2d solver iterations +(PID.TID 0000.0001) ># cg2dTargetResidual - Solver target residual +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># startTime - Integration starting time (s) +(PID.TID 0000.0001) ># endTime - Integration ending time (s) +(PID.TID 0000.0001) ># tauCD - CD scheme coupling timescale (s) +(PID.TID 0000.0001) ># deltaTMom - Timestep for momemtum equations (s) +(PID.TID 0000.0001) ># deltaTtracer - Tracer timestep (s) +(PID.TID 0000.0001) ># deltaTClock - Timestep used as model "clock" (s) +(PID.TID 0000.0001) ># abEps - Adams-Bashforth stabilising factor +(PID.TID 0000.0001) ># pChkPtFreq - Frequency of permanent check pointing (s) +(PID.TID 0000.0001) ># chkPtFreq - Frequency of rolling check pointing (s) +(PID.TID 0000.0001) ># dumpFreq - Frequency at which model state is stored (s) +(PID.TID 0000.0001) ># tauThetaClimRelax - Relaxation to climatology time scale (s) +(PID.TID 0000.0001) ># tauSaltClimRelax - Relaxation to climatology time scale (s) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > tauCD=172800., +(PID.TID 0000.0001) > startTime=0.0, +(PID.TID 0000.0001) > nTimeSteps=4, +(PID.TID 0000.0001) > deltaTmom=3600.0, +(PID.TID 0000.0001) > deltaTtracer=3600.0, +(PID.TID 0000.0001) > deltaTClock =3600.0, +(PID.TID 0000.0001) > cAdjFreq=0., +(PID.TID 0000.0001) > abEps=0.1, +(PID.TID 0000.0001) > forcing_In_AB = .FALSE., +(PID.TID 0000.0001) > pChkptFreq=36000., +(PID.TID 0000.0001) > chkptFreq= 0., +(PID.TID 0000.0001) > dumpFreq = 0., +(PID.TID 0000.0001) > monitorFreq=1., +(PID.TID 0000.0001) > adjMonitorFreq=1., +(PID.TID 0000.0001) > adjDumpFreq=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># usingSphericalPolarGrid - On/Off flag for spherical polar coordinates +(PID.TID 0000.0001) ># delX - Zonal grid spacing (degrees) +(PID.TID 0000.0001) ># delY - Meridional grid spacing (degrees) +(PID.TID 0000.0001) ># delZ - Vertical grid spacing (m) +(PID.TID 0000.0001) ># ygOrigin - Southern boundary latitude (degrees) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delX=20*2.E0, +(PID.TID 0000.0001) > delY=16*2.E0, +(PID.TID 0000.0001) > delZ= 10., 10., 15., 20., 20., 25., 35., 50., 75., +(PID.TID 0000.0001) > 100., 150., 200., 275., 350., 415., 450., +(PID.TID 0000.0001) > 500., 500., 500., 500., 500., 500., 500., +(PID.TID 0000.0001) > ygOrigin=46., +(PID.TID 0000.0001) > xgOrigin=280., +(PID.TID 0000.0001) > rSphere = 6371.D3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># bathyFile - File containing bathymetry +(PID.TID 0000.0001) ># hydrogThetaFile - File containing initial potential temperature data +(PID.TID 0000.0001) ># hydrogSaltFile - File containing initial salinity data +(PID.TID 0000.0001) ># zonalWindFile - File containing zonal wind data +(PID.TID 0000.0001) ># meridWindFile - File containing meridional wind data +(PID.TID 0000.0001) ># thetaClimFile - File containing theta climatology used for relaxation +(PID.TID 0000.0001) ># saltClimFile - File containing salt climatology used for relaxation +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile = 'bathy.labsea1979', +(PID.TID 0000.0001) > hydrogThetaFile = 'LevCli_temp.labsea1979', +(PID.TID 0000.0001) > hydrogSaltFile = 'LevCli_salt.labsea1979', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useKPP = .TRUE., +(PID.TID 0000.0001) > useEXF = .TRUE., +(PID.TID 0000.0001) > useSEAICE = .TRUE., +(PID.TID 0000.0001) > useDOWN_SLOPE=.TRUE., +(PID.TID 0000.0001) > useDiagnostics = .FALSE., +(PID.TID 0000.0001) > useCAL = .TRUE., +(PID.TID 0000.0001) > useMNC = .TRUE., +(PID.TID 0000.0001) > useECCO = .TRUE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/kpp compiled and used ( useKPP = T ) + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/down_slope compiled and used ( useDOWN_SLOPE = T ) + pkg/cal compiled and used ( useCAL = T ) + pkg/exf compiled and used ( useEXF = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ecco compiled and used ( useECCO = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/seaice compiled and used ( useSEAICE = T ) + pkg/salt_plume compiled but not used ( useSALT_PLUME = F ) + pkg/diagnostics compiled but not used ( useDiagnostics = F ) + pkg/mnc compiled and used ( useMNC = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) MNC_READPARMS: opening file 'data.mnc' +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.mnc +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.mnc" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "data.mnc" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) > &MNC_01 +(PID.TID 0000.0001) ># mnc_echo_gvtypes=.FALSE., +(PID.TID 0000.0001) ># mnc_use_indir=.FALSE., +(PID.TID 0000.0001) > mnc_use_outdir=.TRUE., +(PID.TID 0000.0001) > mnc_outdir_str='mnc_test_', +(PID.TID 0000.0001) >#mnc_outdir_date=.TRUE., +(PID.TID 0000.0001) > monitor_mnc=.FALSE., +(PID.TID 0000.0001) >#timeave_mnc=.FALSE., +(PID.TID 0000.0001) >#snapshot_mnc=.FALSE., +(PID.TID 0000.0001) >#autodiff_mnc=.FALSE., +(PID.TID 0000.0001) > pickup_write_mnc=.FALSE., +(PID.TID 0000.0001) > pickup_read_mnc=.FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) MNC_READPARMS: finished reading data.mnc +(PID.TID 0000.0001) CAL_READPARMS: opening data.cal +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cal +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cal" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># Calendar Parameters +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &CAL_NML +(PID.TID 0000.0001) > TheCalendar='gregorian', +(PID.TID 0000.0001) ># TheCalendar='model', +(PID.TID 0000.0001) > startDate_1=19790101, +(PID.TID 0000.0001) > startDate_2=000000, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CAL_READPARMS: finished reading data.cal +(PID.TID 0000.0001) EXF_READPARMS: opening data.exf +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.exf +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.exf" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># External Forcing Data +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_01 +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > useExfCheckRange = .TRUE., +(PID.TID 0000.0001) > repeatPeriod = 31622400.0, +(PID.TID 0000.0001) > exf_iprec = 32, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > exf_adjMonSelect = 3, +(PID.TID 0000.0001) > exf_adjMonFreq = 10800., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_02 +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > hfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > hfluxstartdate2 = 180000, +(PID.TID 0000.0001) > hfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > sfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > sfluxstartdate2 = 180000, +(PID.TID 0000.0001) > sfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > ustressstartdate1 = 19781216, +(PID.TID 0000.0001) > ustressstartdate2 = 180000, +(PID.TID 0000.0001) > ustressperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > vstressstartdate1 = 19781216, +(PID.TID 0000.0001) > vstressstartdate2 = 180000, +(PID.TID 0000.0001) > vstressperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > atempstartdate1 = 19781216, +(PID.TID 0000.0001) > atempstartdate2 = 180000, +(PID.TID 0000.0001) > atempperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > aqhstartdate1 = 19781216, +(PID.TID 0000.0001) > aqhstartdate2 = 180000, +(PID.TID 0000.0001) > aqhperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >#evapstartdate1 = 19781216, +(PID.TID 0000.0001) >#evapstartdate2 = 180000, +(PID.TID 0000.0001) >#evapperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > precipstartdate1 = 19781216, +(PID.TID 0000.0001) > precipstartdate2 = 180000, +(PID.TID 0000.0001) > precipperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > uwindstartdate1 = 19781216, +(PID.TID 0000.0001) > uwindstartdate2 = 180000, +(PID.TID 0000.0001) > uwindperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > vwindstartdate1 = 19781216, +(PID.TID 0000.0001) > vwindstartdate2 = 180000, +(PID.TID 0000.0001) > vwindperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > swfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > swfluxstartdate2 = 180000, +(PID.TID 0000.0001) > swfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > lwfluxstartdate1 = 19781216, +(PID.TID 0000.0001) > lwfluxstartdate2 = 180000, +(PID.TID 0000.0001) > lwfluxperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > swdownstartdate1 = 19781216, +(PID.TID 0000.0001) > swdownstartdate2 = 180000, +(PID.TID 0000.0001) > swdownperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > lwdownstartdate1 = 19781216, +(PID.TID 0000.0001) > lwdownstartdate2 = 180000, +(PID.TID 0000.0001) > lwdownperiod = 2635200.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsststartdate1 = 19781216, +(PID.TID 0000.0001) > climsststartdate2 = 180000, +(PID.TID 0000.0001) > climsstperiod = 2635200.0, +(PID.TID 0000.0001) > climsstTauRelax = 0.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > climsssstartdate1 = 19781216, +(PID.TID 0000.0001) > climsssstartdate2 = 180000, +(PID.TID 0000.0001) > climsssperiod = 2635200.0, +(PID.TID 0000.0001) > climsssTauRelax = 4142330.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > hfluxfile = ' ', +(PID.TID 0000.0001) > sfluxfile = ' ', +(PID.TID 0000.0001) > ustressfile = ' ', +(PID.TID 0000.0001) > vstressfile = ' ', +(PID.TID 0000.0001) > atempfile = 'tair.labsea1979', +(PID.TID 0000.0001) > aqhfile = 'qa.labsea1979', +(PID.TID 0000.0001) > uwindfile = 'u10m.labsea1979', +(PID.TID 0000.0001) > vwindfile = 'v10m.labsea1979', +(PID.TID 0000.0001) >#evapfile = 'evap.labsea1979', +(PID.TID 0000.0001) > precipfile = 'prate.labsea1979', +(PID.TID 0000.0001) > lwfluxfile = ' ', +(PID.TID 0000.0001) > swfluxfile = ' ', +(PID.TID 0000.0001) > lwdownfile = 'flo.labsea1979', +(PID.TID 0000.0001) > swdownfile = 'fsh.labsea1979', +(PID.TID 0000.0001) > runoffFile = ' ' +(PID.TID 0000.0001) > climsstfile = ' ', +(PID.TID 0000.0001) > climsssfile = 'SSS_monthly.labsea1979', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_03 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &EXF_NML_04 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_01 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_02 +(PID.TID 0000.0001) EXF_READPARMS: reading EXF_NML_03 +(PID.TID 0000.0001) EXF_READPARMS: finished reading data.exf +(PID.TID 0000.0001) KPP_READPARMS: opening data.kpp +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.kpp +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.kpp" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># KPP parameters +(PID.TID 0000.0001) > &KPP_PARM01 +(PID.TID 0000.0001) > KPPmixingMaps = .FALSE., +(PID.TID 0000.0001) > KPPwriteState = .TRUE., +(PID.TID 0000.0001) > KPP_ghatUseTotalDiffus=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) KPP_READPARMS ; starts to read KPP_PARM01 +(PID.TID 0000.0001) KPP_READPARMS ; read KPP_PARM01 : OK +(PID.TID 0000.0001) KPP_READPARMS: finished reading data.kpp +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .FALSE., +(PID.TID 0000.0001) ># GM_isopycK = 1.1D+3, +(PID.TID 0000.0001) ># GM_background_K = 0.9D+3, +(PID.TID 0000.0001) > GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) > GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) > GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) > GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) > GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) DWNSLP_READPARMS: opening data.down_slope +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.down_slope +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.down_slope" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># DOWN_SLOPE package parameters (lines beginning "#" are comments): +(PID.TID 0000.0001) ># DWNSLP_slope :: fixed slope (=0 => use the local slope) +(PID.TID 0000.0001) ># DWNSLP_rec_mu :: reciprol friction parameter (unit = time scale [s]) +(PID.TID 0000.0001) ># used to compute the flow: U=dy*dz*(slope * g/mu * dRho / rho0) +(PID.TID 0000.0001) ># dwnslp_drFlow :: max. thickness [m] of the effective downsloping flow layer +(PID.TID 0000.0001) > &DWNSLP_PARM01 +(PID.TID 0000.0001) > DWNSLP_slope = 5.E-3, +(PID.TID 0000.0001) > DWNSLP_rec_mu= 1.E+4, +(PID.TID 0000.0001) > DWNSLP_drFlow= 30., +(PID.TID 0000.0001) ># temp_useDWNSLP=.FALSE., +(PID.TID 0000.0001) ># salt_useDWNSLP=.FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) DWNSLP_READPARMS: finished reading data.downslp +(PID.TID 0000.0001) DWNSLP_slope = /* DOWNSLP fixed slope (=0 => use local slope) */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DWNSLP_rec_mu = /* DOWNSLP recip. friction parameter (time, s ) */ +(PID.TID 0000.0001) 1.000000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DWNSLP_drFlow = /* DOWNSLP effective layer thickness ( m ) */ +(PID.TID 0000.0001) 3.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) SEAICE_READPARMS: opening data.seaice +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.seaice +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.seaice" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># SEAICE parameters +(PID.TID 0000.0001) > &SEAICE_PARM01 +(PID.TID 0000.0001) > SEAICE_initialHEFF = 1.0, +(PID.TID 0000.0001) > SEAICE_deltaTtherm = 3600., +(PID.TID 0000.0001) > SEAICE_deltaTdyn = 3600., +(PID.TID 0000.0001) > SEAICEuseDYNAMICS =.TRUE., +(PID.TID 0000.0001) >#-- According to Martin, SEAICE_clipVelocities is not recommended +(PID.TID 0000.0001) ># SEAICE_clipVelocities=.TRUE., +(PID.TID 0000.0001) > SEAICEadvSalt =.FALSE., +(PID.TID 0000.0001) >#-- above: to reproduce old results +(PID.TID 0000.0001) > LSR_ERROR = 1.E-6, +(PID.TID 0000.0001) >### SEAICE_deltaTevp = 60, +(PID.TID 0000.0001) > SEAICE_EPS = 1.E-8, +(PID.TID 0000.0001) > SEAICE_multDim = 7, +(PID.TID 0000.0001) >#- to reproduce old results with former #defined SEAICE_SOLVE4TEMP_LEGACY code +(PID.TID 0000.0001) > useMaykutSatVapPoly = .TRUE., +(PID.TID 0000.0001) > postSolvTempIter = 0, +(PID.TID 0000.0001) >#- paramaters from SEAICE_GROWTH_LEGACY branch +(PID.TID 0000.0001) > SEAICE_doOpenWaterGrowth=.FALSE., +(PID.TID 0000.0001) > SEAICE_doOpenWaterMelt=.FALSE., +(PID.TID 0000.0001) > SEAICE_areaGainFormula=2, +(PID.TID 0000.0001) > SEAICE_areaLossFormula=3, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > SEAICE_saltFrac = 0.3, +(PID.TID 0000.0001) > SEAICE_tempFrz0 = -1.96, +(PID.TID 0000.0001) > SEAICE_dTempFrz_dS = 0., +(PID.TID 0000.0001) > SEAICE_availHeatFrac = 0.8, +(PID.TID 0000.0001) > SEAICEdiffKhArea = 200., +(PID.TID 0000.0001) > SEAICEwriteState = .TRUE., +(PID.TID 0000.0001) ># SEAICE_tave_mnc = .FALSE., +(PID.TID 0000.0001) ># SEAICE_dump_mnc = .FALSE., +(PID.TID 0000.0001) ># SEAICE_mon_mnc = .FALSE., +(PID.TID 0000.0001) ># old defaults +(PID.TID 0000.0001) > SEAICEadvScheme = 2, +(PID.TID 0000.0001) > SEAICEscaleSurfStress = .FALSE., +(PID.TID 0000.0001) > SEAICEaddSnowMass = .FALSE., +(PID.TID 0000.0001) > SEAICE_useMultDimSnow = .FALSE., +(PID.TID 0000.0001) > SEAICEetaZmethod = 0, +(PID.TID 0000.0001) > SEAICE_Olx = 0, +(PID.TID 0000.0001) > SEAICE_Oly = 0, +(PID.TID 0000.0001) > SEAICE_drag = 0.002, +(PID.TID 0000.0001) > SEAICE_waterDrag = 0.005355404089581304, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &SEAICE_PARM02 +(PID.TID 0000.0001) ># currently COST_ICE_TEST is undefined in SEAICE_OPTIONS.h, +(PID.TID 0000.0001) ># so that none of these parameters are used and the cost function +(PID.TID 0000.0001) ># contribution by sea ice is zero (f_ice = 0.) +(PID.TID 0000.0001) > mult_ice = 1., +(PID.TID 0000.0001) ># choose which seaice cost term you want +(PID.TID 0000.0001) > cost_ice_flag = 1, +(PID.TID 0000.0001) ># the following timings are obsolete; +(PID.TID 0000.0001) ># replaced by lastinterval +(PID.TID 0000.0001) > costIceStart1 = 20000101, +(PID.TID 0000.0001) > costIceStart2 = 00000, +(PID.TID 0000.0001) > costIceEnd1 = 20000201, +(PID.TID 0000.0001) > costIceEnd2 = 00000, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &SEAICE_PARM03 +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) SEAICE_READPARMS: finished reading data.seaice +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) ># useKPPinAdMode = .FALSE., +(PID.TID 0000.0001) ># useGMRediInAdMode = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseDYNAMICSswitchInAd = /* switch On/Off SEAICE Dyn in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFREEDRIFTswitchInAd= /* switch On/Off Free-Drift in AD mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEapproxLevInAd = /* -1:SEAICE_FAKE, >0:other adjoint approximation */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) ># write control variables into a separate directory +(PID.TID 0000.0001) > ctrlDir = './ctrl_variables', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) >#mult_genarr3d(1) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,2) = 29.,29.5,40.5,41.,5., +(PID.TID 0000.0001) >#mult_genarr3d(2) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(1) = 'xx_siarea', +(PID.TID 0000.0001) > xx_genarr2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr2d_bounds(1:5,1) = 0.,0.,1.,1.,0., +(PID.TID 0000.0001) >#mult_genarr2d(1) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr2d_file(2) = 'xx_siheff', +(PID.TID 0000.0001) > xx_genarr2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) >#xx_genarr2d_bounds(1:5,2) = 0.,0.,1.,1.,0., +(PID.TID 0000.0001) >#mult_genarr2d(2) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_atemp', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(1) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(1) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(1) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_aqh', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(2) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(2) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(2) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_precip', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(3) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(3) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(3) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_snowprecip', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(4) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(4) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(4) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(5) = 'xx_swdown', +(PID.TID 0000.0001) > xx_gentim2d_weight(5) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(5) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(5) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(5) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(6) = 'xx_lwdown', +(PID.TID 0000.0001) > xx_gentim2d_weight(6) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(6) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(6) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(6) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(7) = 'xx_uwind', +(PID.TID 0000.0001) > xx_gentim2d_weight(7) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(7) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(7) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(7) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(8) = 'xx_vwind', +(PID.TID 0000.0001) > xx_gentim2d_weight(8) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(8) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(8) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(8) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(9) = 'xx_apressure', +(PID.TID 0000.0001) > xx_gentim2d_weight(9) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_gentim2d_startdate1(9) = 19790101, +(PID.TID 0000.0001) > xx_gentim2d_startdate2(9) = 000000, +(PID.TID 0000.0001) > xx_gentim2d_period(9) = 864000.0, +(PID.TID 0000.0001) >#mult_gentim2d(9) = 1.0, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +==> SYSTEM CALL (from CTRL_READPARMS): > mkdir -p ./ctrl_variables < +(PID.TID 0000.0001) read-write ctrl files from ./ctrl_variables +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-4, +(PID.TID 0000.0001) ># nbeg = 4, +(PID.TID 0000.0001) > iGloPos = 4, +(PID.TID 0000.0001) > jGloPos = 8, +(PID.TID 0000.0001) > kGloPos = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) > grdchkvarindex = 301, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 301 +(PID.TID 0000.0001) eps: 0.100E-03 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ECCO_READPARMS: opening data.ecco +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ecco +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ecco" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &ECCO_COST_NML +(PID.TID 0000.0001) > cost_iprec = 64, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &ECCO_GENCOST_NML +(PID.TID 0000.0001) > gencost_avgperiod(1) = 'month', +(PID.TID 0000.0001) > gencost_barfile(1) = 'm_theta_month', +(PID.TID 0000.0001) > gencost_datafile(1) = 'labsea_Lev.ptmp', +(PID.TID 0000.0001) > gencost_errfile(1) = 'sigma_theta.bin', +(PID.TID 0000.0001) > gencost_name(1) = 'theta', +(PID.TID 0000.0001) > gencost_spmin(1) = -1.8, +(PID.TID 0000.0001) > gencost_spmax(1) = 40., +(PID.TID 0000.0001) > gencost_spzero(1) = 0., +(PID.TID 0000.0001) > gencost_outputlevel(1)=1, +(PID.TID 0000.0001) > mult_gencost(1) = 1., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > gencost_avgperiod(2) = 'month', +(PID.TID 0000.0001) > gencost_barfile(2) = 'm_salt_month', +(PID.TID 0000.0001) > gencost_datafile(2) = 'labsea_Lev.salt', +(PID.TID 0000.0001) > gencost_errfile(2) = 'sigma_salt.bin', +(PID.TID 0000.0001) > gencost_name(2) = 'salt', +(PID.TID 0000.0001) > gencost_spmin(2) = 25., +(PID.TID 0000.0001) > gencost_spmax(2) = 40., +(PID.TID 0000.0001) > gencost_spzero(2) = 0., +(PID.TID 0000.0001) > gencost_outputlevel(2)=1, +(PID.TID 0000.0001) > mult_gencost(2) = 1., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > gencost_avgperiod(3) = 'month', +(PID.TID 0000.0001) > gencost_barfile(3) = 'm_sst_month', +(PID.TID 0000.0001) > gencost_datafile(3) = 'labsea_SST_fields', +(PID.TID 0000.0001) > gencost_errfile(3) = 'sigma_sst.bin', +(PID.TID 0000.0001) > gencost_name(3) = 'sst', +(PID.TID 0000.0001) > gencost_startdate1(3) = 19790101, +(PID.TID 0000.0001) > gencost_startdate2(3) = 00000, +(PID.TID 0000.0001) > gencost_spmin(3) = -1.8, +(PID.TID 0000.0001) > gencost_spmax(3) = 40., +(PID.TID 0000.0001) > gencost_spzero(3) = 0., +(PID.TID 0000.0001) > gencost_outputlevel(3)=1, +(PID.TID 0000.0001) > mult_gencost(3) = 1., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > gencost_avgperiod(4) = 'month', +(PID.TID 0000.0001) > gencost_barfile(4) = 'm_eta_month', +(PID.TID 0000.0001) > gencost_preproc(1,4) = 'mean', +(PID.TID 0000.0001) > gencost_preproc(2,4) = 'offset', +(PID.TID 0000.0001) > gencost_preproc(3,4) = 'mindepth', +(PID.TID 0000.0001) > gencost_preproc_r(3,4) = -200., +(PID.TID 0000.0001) > gencost_datafile(4) = 'labsea_TP_mean_meters', +(PID.TID 0000.0001) > gencost_errfile(4) = 'ones_64b.bin', +(PID.TID 0000.0001) > gencost_name(4) = 'mdt', +(PID.TID 0000.0001) > gencost_startdate1(4) = 19790101, +(PID.TID 0000.0001) > gencost_startdate2(4) = 000000, +(PID.TID 0000.0001) > gencost_spmin(4) = -4., +(PID.TID 0000.0001) > gencost_spmax(4) = 4., +(PID.TID 0000.0001) > gencost_spzero(4) = -9999.0, +(PID.TID 0000.0001) > gencost_outputlevel(4)=5, +(PID.TID 0000.0001) > mult_gencost(4) = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) ECCO_READPARMS: finished reading #1: ecco_cost_nml +(PID.TID 0000.0001) ECCO_READPARMS: finished reading #2: ecco_gencost_nml +(PID.TID 0000.0001) ECCO_READPARMS: done +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.1900000000000E+02 +(PID.TID 0000.0001) %MON XC_min = 2.8100000000000E+02 +(PID.TID 0000.0001) %MON XC_mean = 3.0000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.1532562594671E+01 +(PID.TID 0000.0001) %MON XG_max = 3.1800000000000E+02 +(PID.TID 0000.0001) %MON XG_min = 2.8000000000000E+02 +(PID.TID 0000.0001) %MON XG_mean = 2.9900000000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.1532562594671E+01 +(PID.TID 0000.0001) %MON DXC_max = 1.5166951523772E+05 +(PID.TID 0000.0001) %MON DXC_min = 5.0026831972764E+04 +(PID.TID 0000.0001) %MON DXC_mean = 1.0305926321463E+05 +(PID.TID 0000.0001) %MON DXC_sd = 3.1375805318756E+04 +(PID.TID 0000.0001) %MON DXF_max = 1.5166951523772E+05 +(PID.TID 0000.0001) %MON DXF_min = 5.0026831972764E+04 +(PID.TID 0000.0001) %MON DXF_mean = 1.0305926321463E+05 +(PID.TID 0000.0001) %MON DXF_sd = 3.1375805318756E+04 +(PID.TID 0000.0001) %MON DXG_max = 1.5448497309243E+05 +(PID.TID 0000.0001) %MON DXG_min = 5.3800974869835E+04 +(PID.TID 0000.0001) %MON DXG_mean = 1.0642630187324E+05 +(PID.TID 0000.0001) %MON DXG_sd = 3.1081829200899E+04 +(PID.TID 0000.0001) %MON DXV_max = 1.5448497309243E+05 +(PID.TID 0000.0001) %MON DXV_min = 5.3800974869835E+04 +(PID.TID 0000.0001) %MON DXV_mean = 1.0642630187324E+05 +(PID.TID 0000.0001) %MON DXV_sd = 3.1081829200899E+04 +(PID.TID 0000.0001) %MON YC_max = 7.7000000000000E+01 +(PID.TID 0000.0001) %MON YC_min = 4.7000000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 6.2000000000000E+01 +(PID.TID 0000.0001) %MON YC_sd = 9.2195444572929E+00 +(PID.TID 0000.0001) %MON YG_max = 7.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = 4.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = 6.1000000000000E+01 +(PID.TID 0000.0001) %MON YG_sd = 9.2195444572929E+00 +(PID.TID 0000.0001) %MON DYC_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYC_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYC_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYC_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON DYF_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYF_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYF_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYF_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON DYG_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYG_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYG_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYG_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON DYU_max = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYU_min = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYU_mean = 2.2238985328912E+05 +(PID.TID 0000.0001) %MON DYU_sd = 1.4551915228367E-10 +(PID.TID 0000.0001) %MON RA_max = 3.3728048822756E+10 +(PID.TID 0000.0001) %MON RA_min = 1.1124894996734E+10 +(PID.TID 0000.0001) %MON RA_mean = 2.2918170839356E+10 +(PID.TID 0000.0001) %MON RA_sd = 6.9773064942263E+09 +(PID.TID 0000.0001) %MON RAW_max = 3.3728048822756E+10 +(PID.TID 0000.0001) %MON RAW_min = 1.1124894996734E+10 +(PID.TID 0000.0001) %MON RAW_mean = 2.2918170839356E+10 +(PID.TID 0000.0001) %MON RAW_sd = 6.9773064942263E+09 +(PID.TID 0000.0001) %MON RAS_max = 3.4354146294179E+10 +(PID.TID 0000.0001) %MON RAS_min = 1.1964183470077E+10 +(PID.TID 0000.0001) %MON RAS_mean = 2.3666928057229E+10 +(PID.TID 0000.0001) %MON RAS_sd = 6.9119325076329E+09 +(PID.TID 0000.0001) %MON RAZ_max = 3.4354146294179E+10 +(PID.TID 0000.0001) %MON RAZ_min = 1.1964183470077E+10 +(PID.TID 0000.0001) %MON RAZ_mean = 2.3666928057229E+10 +(PID.TID 0000.0001) %MON RAZ_sd = 6.9119325076329E+09 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) modelstart = /* Start time of the model integration [s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelend = /* End time of the model integration [s] */ +(PID.TID 0000.0001) 1.440000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStep = /* Time interval for a model forward step [s] */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingGregorianCalendar= /* Calendar Type: Gregorian Calendar */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingJulianCalendar = /* Calendar Type: Julian Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingNoLeapYearCal = /* Calendar Type: without Leap Year */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingModelCalendar = /* Calendar Type: Model Calendar */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate YYYYMMDD = /* Model start date YYYY-MM-DD */ +(PID.TID 0000.0001) 19790101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelStartDate HHMMSS = /* Model start date HH-MM-SS */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate YYYYMMDD = /* Model end date YYYY-MM-DD */ +(PID.TID 0000.0001) 19790101 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelEndDate HHMMSS = /* Model end date HH-MM-SS */ +(PID.TID 0000.0001) 40000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intyears = /* Number of calendar years affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intmonths= /* Number of calendar months affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) intdays = /* Number of calendar days affected by the integration */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIter0 = /* Base timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIterEnd = /* Final timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) modelIntSteps= /* Number of model timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Calendar configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 2 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 30 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF general parameters: +(PID.TID 0000.0001) +(PID.TID 0000.0001) exf_iprec = /* exf file precision */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfYearlyFields = /* add extension _YEAR to input file names */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) twoDigitYear = /* use 2-digit year extension */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfCheckRange = /* check for fields range */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diags_opOceWeighted = /* weight flux diags by open-ocean fraction */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_debugLev = /* select EXF-debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_monFreq = /* EXF monitor frequency [ s ] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_adjMonSelect = /* select group of exf AD-variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) repeatPeriod = /* period for cycling forcing dataset [ s ] */ +(PID.TID 0000.0001) 3.162240000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) climTempFreeze= /* Minimum climatological temperature [deg.C] */ +(PID.TID 0000.0001) -1.900000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) windStressMax = /* Maximum absolute windstress [ Pa ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) stressIsOnCgrid = /* set u,v_stress on Arakawa C-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateStressOnAgrid = /* rotate u,v_stress on Arakawa A-grid */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cen2kel = /* conversion of deg. Centigrade to Kelvin [K] */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity_mks= /* gravitational acceleration [m/s^2] */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmrho = /* mean atmospheric density [kg/m^3] */ +(PID.TID 0000.0001) 1.200000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) atmcp = /* mean atmospheric specific heat [J/kg/K] */ +(PID.TID 0000.0001) 1.005000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flamb = /* latent heat of evaporation [J/kg] */ +(PID.TID 0000.0001) 2.500000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) flami = /* latent heat of pure-ice melting [J/kg] */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 6.403800000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp = /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.107400000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_fac_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 1.163780000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cvapor_exp_ice= /* const. for Saturation calculation [?] */ +(PID.TID 0000.0001) 5.897800000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) humid_fac = /* humidity coef. in virtual temp. [(kg/kg)^-1] */ +(PID.TID 0000.0001) 6.060000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gamma_blk = /* adiabatic lapse rate [?] */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltsat = /* reduction of Qsat over salty water [-] */ +(PID.TID 0000.0001) 9.800000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) noNegativeEvap = /* prevent negative Evaporation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sstExtrapol = /* extrapolation coeff from lev. 1 & 2 to surf [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_1 = /* coef used in drag calculation [m/s] */ +(PID.TID 0000.0001) 2.700000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_2 = /* coef used in drag calculation [-] */ +(PID.TID 0000.0001) 1.420000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_3 = /* coef used in drag calculation [s/m] */ +(PID.TID 0000.0001) 7.640000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDrag_8 = /* coef used in drag calculation [(s/m)^6] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDragMax = /* maximum drag (Large and Yeager, 2009) [-] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* at maximum wind (Large and Yeager, 2009) [m/s] */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_1 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 3.270000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cStanton_2 = /* coef used in Stanton number calculation [-] */ +(PID.TID 0000.0001) 1.800000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cDalton = /* Dalton number [-] */ +(PID.TID 0000.0001) 3.460000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_scal_BulkCdn= /* Drag coefficient scaling factor [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zolmin = /* minimum stability parameter [?] */ +(PID.TID 0000.0001) -1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psim_fac = /* coef used in turbulent fluxes calculation [-] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zref = /* reference height [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hu = /* height of mean wind [ m ] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ht = /* height of mean temperature [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hq = /* height of mean spec.humidity [ m ] */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uMin = /* minimum wind speed [m/s] */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStabilityFct_overIce= /* transfert Coeffs over sea-ice depend on stability */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCd = /* drag coefficient over sea-ice (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCe = /* transfert coeff. over sea-ice, for Evap (fixed) [-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_iceCh = /* transfert coeff. over sea-ice, Sens.Heat.(fixed)[-] */ +(PID.TID 0000.0001) 1.630000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exf_albedo = /* Sea-water albedo [-] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenAlbedo = /* Sea-water albedo varies with zenith angle */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_ZenAlbedo = /* Sea-water albedo computation method */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useExfZenIncoming = /* compute incoming solar radiation */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ocean_emissivity = /* longwave ocean-surface emissivity [-] */ +(PID.TID 0000.0001) 9.700176366843034E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ice_emissivity = /* longwave seaice emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snow_emissivity = /* longwave snow emissivity [-] */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) EXF main CPP flags: +(PID.TID 0000.0001) +(PID.TID 0000.0001) // USE_EXF_INTERPOLATION: NOT defined +(PID.TID 0000.0001) // ALLOW_ATM_TEMP: defined +(PID.TID 0000.0001) // ALLOW_ATM_WIND (useAtmWind): defined +(PID.TID 0000.0001) // ALLOW_DOWNWARD_RADIATION: defined +(PID.TID 0000.0001) // ALLOW_BULKFORMULAE: defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Zonal wind forcing starts at -1317600. +(PID.TID 0000.0001) Zonal wind forcing period is 2635200. +(PID.TID 0000.0001) Zonal wind forcing repeat-cycle is 31622400. +(PID.TID 0000.0001) Zonal wind forcing is read from file: +(PID.TID 0000.0001) >> u10m.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Meridional wind forcing starts at -1317600. +(PID.TID 0000.0001) Meridional wind forcing period is 2635200. +(PID.TID 0000.0001) Meridional wind forcing repeat-cycle is 31622400. +(PID.TID 0000.0001) Meridional wind forcing is read from file: +(PID.TID 0000.0001) >> v10m.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Atmospheric temperature starts at -1317600. +(PID.TID 0000.0001) Atmospheric temperature period is 2635200. +(PID.TID 0000.0001) Atmospheric temperature repeat-cycle is 31622400. +(PID.TID 0000.0001) Atmospheric temperature is read from file: +(PID.TID 0000.0001) >> tair.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Atmospheric specific humidity starts at -1317600. +(PID.TID 0000.0001) Atmospheric specific humidity period is 2635200. +(PID.TID 0000.0001) Atmospheric specific humidity rep-cycle is 31622400. +(PID.TID 0000.0001) Atmospheric specific humidity is read from file: +(PID.TID 0000.0001) >> qa.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_READ_TURBFLUXES: NOT defined +(PID.TID 0000.0001) // EXF_READ_EVAP: NOT defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Precipitation data starts at -1317600. +(PID.TID 0000.0001) Precipitation data period is 2635200. +(PID.TID 0000.0001) Precipitation data repeat-cycle is 31622400. +(PID.TID 0000.0001) Precipitation data is read from file: +(PID.TID 0000.0001) >> prate.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_RUNOFF: defined +(PID.TID 0000.0001) // ALLOW_RUNOFTEMP: NOT defined +(PID.TID 0000.0001) // ALLOW_SALTFLX: defined +(PID.TID 0000.0001) +(PID.TID 0000.0001) Downward shortwave flux starts at -1317600. +(PID.TID 0000.0001) Downward shortwave flux period is 2635200. +(PID.TID 0000.0001) Downward shortwave flux repeat-cycle is 31622400. +(PID.TID 0000.0001) Downward shortwave flux is read from file: +(PID.TID 0000.0001) >> fsh.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) Downward longwave flux starts at -1317600. +(PID.TID 0000.0001) Downward longwave flux period is 2635200. +(PID.TID 0000.0001) Downward longwave flux repeat-cycle is 31622400. +(PID.TID 0000.0001) Downward longwave flux is read from file: +(PID.TID 0000.0001) >> flo.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) climatology configuration : +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSST_RELAXATION: defined +(PID.TID 0000.0001) climsst relaxation is NOT used +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ALLOW_CLIMSSS_RELAXATION: defined +(PID.TID 0000.0001) Climatological SSS starts at -1317600. +(PID.TID 0000.0001) Climatological SSS period is 2635200. +(PID.TID 0000.0001) Climatological SSS repeat-cycle is 31622400. +(PID.TID 0000.0001) Climatological SSS is read from file: +(PID.TID 0000.0001) >> SSS_monthly.labsea1979 << +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // External forcing (EXF) configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 1 1 19 +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 2 1 90 +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 1 2 57 +(PID.TID 0000.0001) DWNSLP_INIT: DWNSLP_NbSite= 2 2 36 +(PID.TID 0000.0001) etaday defined by gencost 4 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ECCO configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 1) = theta +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_Lev.ptmp +(PID.TID 0000.0001) model file = m_theta_month +(PID.TID 0000.0001) error file = sigma_theta.bin +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 1 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) gencost_pointer3d = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 2) = salt +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_Lev.salt +(PID.TID 0000.0001) model file = m_salt_month +(PID.TID 0000.0001) error file = sigma_salt.bin +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 1 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) gencost_pointer3d = 2 +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 3) = sst +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_SST_fields +(PID.TID 0000.0001) model file = m_sst_month +(PID.TID 0000.0001) error file = sigma_sst.bin +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 1 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) gencost( 4) = mdt +(PID.TID 0000.0001) ------------- +(PID.TID 0000.0001) data file = labsea_TP_mean_meters +(PID.TID 0000.0001) model file = m_eta_month +(PID.TID 0000.0001) error file = ones_64b.bin +(PID.TID 0000.0001) preprocess = mean +(PID.TID 0000.0001) preprocess = offset +(PID.TID 0000.0001) preprocess = mindepth +(PID.TID 0000.0001) gencost_flag = 1 +(PID.TID 0000.0001) gencost_outputlevel = 5 +(PID.TID 0000.0001) gencost_kLev_select = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ECCO configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Seaice configuration (SEAICE_PARM01) >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice time stepping configuration > START < +(PID.TID 0000.0001) ---------------------------------------------- +(PID.TID 0000.0001) SEAICE_deltaTtherm= /* thermodynamic timestep */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_deltaTdyn = /* dynamic timestep */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_deltaTevp = /* EVP timestep */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseBDF2 = /* use backw. differencing for mom. eq. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEupdateOceanStress= /* update Ocean surf. stress */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICErestoreUnderIce = /* restore T and S under ice */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice dynamics configuration > START < +(PID.TID 0000.0001) ------------------------------------------ +(PID.TID 0000.0001) SEAICEuseDYNAMICS = /* use dynamics */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) model grid type = /* type of sea ice model grid */ +(PID.TID 0000.0001) 'C-GRID' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseStrImpCpl = /* use strongly implicit coupling */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEusePicardAsPrecon = /* Picard as preconditioner */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseLSR = /* use default Picard-LSR solver */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseKrylov = /* use Picard-Krylov solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseEVP = /* use EVP solver rather than LSR */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseJFNK = /* use JFNK solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFREEDRIFT = /* use free drift solution */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) OCEAN_drag = /* air-ocean drag coefficient */ +(PID.TID 0000.0001) 1.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drag = /* air-ice drag coefficient */ +(PID.TID 0000.0001) 2.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drag_south = /* Southern Ocean SEAICE_drag */ +(PID.TID 0000.0001) 2.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_waterDrag = /* water-ice drag (no units) */ +(PID.TID 0000.0001) 5.355404089581304E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_waterDrag_south = /* Southern Ocean waterDrag (no units) */ +(PID.TID 0000.0001) 5.355404089581304E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdWatMin = /* minimum linear water-ice drag (in m/s) */ +(PID.TID 0000.0001) 2.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseTilt = /* include surface tilt in dyna. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseTEM = /* use truncated ellipse rheology */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_strength = /* sea-ice strength Pstar */ +(PID.TID 0000.0001) 2.750000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_cStar = /* sea-ice strength parameter cStar */ +(PID.TID 0000.0001) 2.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEpressReplFac= /* press. replacement method factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tensilFac = /* sea-ice tensile strength factor */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tensilDepth= /* crit. depth for tensile strength */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEpresH0 = /* sea-ice strength Heff threshold */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEpresPow0 = /* exponent for HeffSEAICEpresH0 */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEetaZmethod = /* method computing eta at Z-point */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_zetaMaxFac = /* factor for upper viscosity bound */ +(PID.TID 0000.0001) 2.500000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_zetaMin = /* lower bound for viscosity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_eccen = /* elliptical yield curve eccent */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEstressFactor = /* wind stress scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_airTurnAngle = /* air-ice turning angle */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_waterTurnAngle = /* ice-water turning angle */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseMetricTerms = /* use metric terms */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_no_slip = /* no slip boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_2ndOrderBC = /* 2nd order no slip boundary conditions */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_clipVeloctities = /* impose max. vels. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHB87stressCoupling = /* altern. ice-ocean stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEscaleSurfStress = /* scale atm. and ocean-surface stress with AREA */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_maskRHS = /* mask RHS of solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEaddSnowMass = /* add snow mass to seaiceMassC/U/V */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) LSR_mixIniGuess = /* mix free-drift sol. into LSR initial Guess */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_LSRrelaxU = /* LSR solver: relaxation parameter */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_LSRrelaxV = /* LSR solver: relaxation parameter */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) LSR_ERROR = /* sets accuracy of LSR solver */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SOLV_NCHECK = /* test interval for LSR solver */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseMultiTileSolver = /* use full domain tri-diag solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_OLx = /* overlap for LSR/preconditioner */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_OLy = /* overlap for LSR/preconditioner */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEnonLinIterMax = /* max. number of nonlinear solver steps */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICElinearIterMax = /* max. number of linear solver steps */ +(PID.TID 0000.0001) 500 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEnonLinTol = /* non-linear solver tolerance */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice advection diffusion config, > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICEmomAdvection = /* advect sea ice momentum */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvHeff = /* advect effective ice thickness */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvArea = /* advect fractional ice area */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSnow = /* advect snow layer together with ice */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSalt = /* advect salinity together with ice */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvScheme = /* advection scheme for ice */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFluxForm = /* advection in FV flux form */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSchArea = /* advection scheme for area */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSchHeff = /* advection scheme for thickness */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEadvSchSnow = /* advection scheme for snow */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdiffKhArea = /* diffusivity (m^2/s) for area */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdiffKhHeff = /* diffusivity (m^2/s) for heff */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEdiffKhSnow = /* diffusivity (m^2/s) for snow */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIFF1 = /* parameter used in advect.F [m/s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice thermodynamics configuration > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICE_rhoIce = /* density of sea ice (kg/m3) */ +(PID.TID 0000.0001) 9.100000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_rhoSnow = /* density of snow (kg/m3) */ +(PID.TID 0000.0001) 3.300000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_rhoAir = /* density of air (kg/m3) */ +(PID.TID 0000.0001) 1.200000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usePW79thermodynamics = /* default 0-layer TD */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_lhEvap = /* latent heat of evaporation */ +(PID.TID 0000.0001) 2.500000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_lhFusion = /* latent heat of fusion */ +(PID.TID 0000.0001) 3.340000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mcPheePiston = /* turbulent flux "piston velocity" a la McPhee (m/s) */ +(PID.TID 0000.0001) 2.222222222222222E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mcPheeTaper = /* tapering of turbulent flux (0.< <1.) for AREA=1. */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mcPheeStepFunc = /* replace linear tapering with step funct. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_frazilFrac = /* frazil (T0 by ATM and OCN +(PID.TID 0000.0001) 3=from predicted melt by ATM +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HO = /* nominal thickness of new ice */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HO_south = /* Southern Ocean HO */ +(PID.TID 0000.0001) 5.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_area_max = /* set to les than 1. to mimic open leads */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Sea ice has a variable salinity such that +(PID.TID 0000.0001) SEAICE_saltFrac = /* fraction of ocn salinity in new ice */ +(PID.TID 0000.0001) 3.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_salinityTracer = /* test SITR varia. salinity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEuseFlooding = /* turn submerged snow into ice */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice air-sea fluxes configuration, > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICEheatConsFix = /* accound for ocn<->seaice advect. heat flux */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_multDim = /* number of ice categories (1 or 7) */ +(PID.TID 0000.0001) 7 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_PDF = /* sea-ice distribution (-) */ +(PID.TID 0000.0001) 7 @ 1.428571428571428E-01 /* K = 1: 7 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) IMAX_TICE = /* iterations for ice surface temp */ +(PID.TID 0000.0001) 10 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) postSolvTempIter= /* flux calculation after surf. temp iter */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dryIceAlb = /* winter albedo */ +(PID.TID 0000.0001) 7.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetIceAlb = /* summer albedo */ +(PID.TID 0000.0001) 6.600000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drySnowAlb = /* dry snow albedo */ +(PID.TID 0000.0001) 8.400000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetSnowAlb = /* wet snow albedo */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dryIceAlb_south = /* Southern Ocean dryIceAlb */ +(PID.TID 0000.0001) 7.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetIceAlb_south = /* Southern Ocean wetIceAlb */ +(PID.TID 0000.0001) 6.600000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_drySnowAlb_south= /* Southern Ocean drySnowAlb */ +(PID.TID 0000.0001) 8.400000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetSnowAlb_south= /* Southern Ocean wetSnowAlb */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_wetAlbTemp= /* Temp (o.C) threshold for wet-albedo */ +(PID.TID 0000.0001) -1.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_snow_emiss = /* snow emissivity */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_ice_emiss = /* seaice emissivity */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_cpAir = /* heat capacity of air */ +(PID.TID 0000.0001) 1.005000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dalton = /* constant dalton number */ +(PID.TID 0000.0001) 1.750000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_iceConduct = /* sea-ice conductivity */ +(PID.TID 0000.0001) 2.165600000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_snowConduct= /* snow conductivity */ +(PID.TID 0000.0001) 3.100000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_snowThick = /* cutoff snow thickness (for albedo) */ +(PID.TID 0000.0001) 1.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_shortwave = /* penetration shortwave radiation */ +(PID.TID 0000.0001) 3.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMaykutSatVapPoly = /* use Maykut Polynomial for Sat.Vap.Pr */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) MIN_ATEMP = /* minimum air temperature */ +(PID.TID 0000.0001) -5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) MIN_LWDOWN = /* minimum downward longwave */ +(PID.TID 0000.0001) 6.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) MIN_TICE = /* minimum ice temperature */ +(PID.TID 0000.0001) -5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice initialization and IO config., > START < +(PID.TID 0000.0001) ------------------------------------------------- +(PID.TID 0000.0001) SEAICE_initialHEFF= /* initial sea-ice thickness */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AreaFile = /* Initial ice concentration File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeffFile = /* Initial effective ice thickness File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HsnowFile = /* Initial snow thickness File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HsaltFile = /* Initial HSALT File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uIceFile = /* Initial U-ice velocity File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vIceFile = /* Initial V-ice velocity File */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICEwriteState = /* write sea ice state to file */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_monFreq = /* monitor frequency */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dumpFreq = /* dump frequency */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_taveFreq = /* time-averaging frequency */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mon_stdio = /* write monitor to std-outp */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dump_mdsio = /* write snap-shot using MDSIO */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tave_mdsio = /* write TimeAverage using MDSIO */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_mon_mnc = /* write monitor to netcdf file */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_dump_mnc = /* write snap-shot using MNC */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_tave_mnc = /* write TimeAverage using MNC */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seaice regularization numbers, > START < +(PID.TID 0000.0001) ----------------------------------------------- +(PID.TID 0000.0001) SEAICE_deltaMin = /* reduce singularities in Delta */ +(PID.TID 0000.0001) 1.000000000000000E-08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_EPS = /* small number */ +(PID.TID 0000.0001) 1.000000000000000E-08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_EPS_SQ = /* small number squared */ +(PID.TID 0000.0001) 1.000000000000000E-16 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_area_reg = /* reduce derivative singularities */ +(PID.TID 0000.0001) 1.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_hice_reg = /* reduce derivative singularities */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SEAICE_area_floor = /* reduce derivative singularities */ +(PID.TID 0000.0001) 1.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Seaice configuration (SEAICE_PARM01) >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 6720 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 14 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 8 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 6 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 106 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 2 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 212 +(PID.TID 0000.0001) ctrl-wet 8: atmos 212 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 23 6720 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 150 120 129 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 145 116 125 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 140 112 119 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 133 104 111 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 126 98 106 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 115 89 95 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 99 77 82 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 90 68 73 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 82 62 66 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 71 54 57 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 68 52 54 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 58 44 45 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 16 50 40 40 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 17 40 31 31 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 18 30 22 23 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 19 10 6 6 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 20 3 2 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 21 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 22 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 23 0 0 0 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 13 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 6720 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 1840 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 000106 000034 000058 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 001076 000874 000933 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 000457 000336 000354 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 000221 000213 000204 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 2D control, genarr2d no. 1 is in use +(PID.TID 0000.0001) file = xx_siarea +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0101 +(PID.TID 0000.0001) ncvarindex = 0201 +(PID.TID 0000.0001) -> 2D control, genarr2d no. 2 is in use +(PID.TID 0000.0001) file = xx_siheff +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0102 +(PID.TID 0000.0001) ncvarindex = 0202 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_atemp +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_aqh +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_precip +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_snowprecip +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 5 is in use +(PID.TID 0000.0001) file = xx_swdown +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0305 +(PID.TID 0000.0001) ncvarindex = 0405 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 6 is in use +(PID.TID 0000.0001) file = xx_lwdown +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0306 +(PID.TID 0000.0001) ncvarindex = 0406 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 7 is in use +(PID.TID 0000.0001) file = xx_uwind +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0307 +(PID.TID 0000.0001) ncvarindex = 0407 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 8 is in use +(PID.TID 0000.0001) file = xx_vwind +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0308 +(PID.TID 0000.0001) ncvarindex = 0408 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 9 is in use +(PID.TID 0000.0001) file = xx_apressure +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0309 +(PID.TID 0000.0001) ncvarindex = 0409 +(PID.TID 0000.0001) period = 00000010 000000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4210453727344E-04 +(PID.TID 0000.0001) %MON fCori_min = 1.0666243053630E-04 +(PID.TID 0000.0001) %MON fCori_mean = 1.2711058365303E-04 +(PID.TID 0000.0001) %MON fCori_sd = 1.1031533875266E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4151032568025E-04 +(PID.TID 0000.0001) %MON fCoriG_min = 1.0491029349513E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = 1.2591168756569E-04 +(PID.TID 0000.0001) %MON fCoriG_sd = 1.1383815633153E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 9.9464325599212E-05 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.2807417471054E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 6.7585896192312E-05 +(PID.TID 0000.0001) %MON fCoriCos_sd = 2.0576140902612E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 1.6094939840939192E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 2.400000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 2.300000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 2.100000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2.000000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 1.900000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 1.700000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 1.600000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 1.500000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* K = 11 */ +(PID.TID 0000.0001) 1.300000000000000E+01, /* K = 12 */ +(PID.TID 0000.0001) 1.200000000000000E+01, /* K = 13 */ +(PID.TID 0000.0001) 1.100000000000000E+01, /* K = 14 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* K = 15 */ +(PID.TID 0000.0001) 9.000000000000000E+00, /* K = 16 */ +(PID.TID 0000.0001) 8.000000000000000E+00, /* K = 17 */ +(PID.TID 0000.0001) 7.000000000000000E+00, /* K = 18 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* K = 19 */ +(PID.TID 0000.0001) 5.000000000000000E+00, /* K = 20 */ +(PID.TID 0000.0001) 4.000000000000000E+00, /* K = 21 */ +(PID.TID 0000.0001) 3.000000000000000E+00, /* K = 22 */ +(PID.TID 0000.0001) 2.000000000000000E+00 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 3.465000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 3.475000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 3.482000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 3.487000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2 @ 3.490000000000000E+01, /* K = 5: 6 */ +(PID.TID 0000.0001) 3.486000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 3.478000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 3.469000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 3.460000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 3.458000000000000E+01, /* K = 11 */ +(PID.TID 0000.0001) 3.462000000000000E+01, /* K = 12 */ +(PID.TID 0000.0001) 3.468000000000000E+01, /* K = 13 */ +(PID.TID 0000.0001) 3.472000000000000E+01, /* K = 14 */ +(PID.TID 0000.0001) 3.473000000000000E+01, /* K = 15 */ +(PID.TID 0000.0001) 3.474000000000000E+01, /* K = 16 */ +(PID.TID 0000.0001) 2 @ 3.473000000000000E+01, /* K = 17: 18 */ +(PID.TID 0000.0001) 2 @ 3.472000000000000E+01, /* K = 19: 20 */ +(PID.TID 0000.0001) 3.471000000000000E+01, /* K = 21 */ +(PID.TID 0000.0001) 3.470000000000000E+01, /* K = 22 */ +(PID.TID 0000.0001) 3.469000000000000E+01 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.023399597669854E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.023810240320856E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.024201435647580E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.024591510588746E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.024969611150069E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.025328017199967E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.025680833282475E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.026050051489947E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.026491970185416E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.027036952689552E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.027794852671120E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.028814168587807E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.030119722650770E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.031735154401125E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.033628649568903E+03, /* K = 15 */ +(PID.TID 0000.0001) 1.035732830613343E+03, /* K = 16 */ +(PID.TID 0000.0001) 1.037997052952795E+03, /* K = 17 */ +(PID.TID 0000.0001) 1.040366267417616E+03, /* K = 18 */ +(PID.TID 0000.0001) 1.042716568158493E+03, /* K = 19 */ +(PID.TID 0000.0001) 1.045063813536698E+03, /* K = 20 */ +(PID.TID 0000.0001) 1.047393250130134E+03, /* K = 21 */ +(PID.TID 0000.0001) 1.049712998140759E+03, /* K = 22 */ +(PID.TID 0000.0001) 1.052023490263938E+03 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 3.513461801096672E-04, /* K = 2 */ +(PID.TID 0000.0001) 2.578462793867026E-04, /* K = 3 */ +(PID.TID 0000.0001) 1.716535447918954E-04, /* K = 4 */ +(PID.TID 0000.0001) 1.391849606744939E-04, /* K = 5 */ +(PID.TID 0000.0001) 1.106038973987551E-04, /* K = 6 */ +(PID.TID 0000.0001) 7.062448315028799E-05, /* K = 7 */ +(PID.TID 0000.0001) 4.112152780686669E-05, /* K = 8 */ +(PID.TID 0000.0001) 2.554455911799560E-05, /* K = 9 */ +(PID.TID 0000.0001) 1.739274227427603E-05, /* K = 10 */ +(PID.TID 0000.0001) 1.573008010125636E-05, /* K = 11 */ +(PID.TID 0000.0001) 1.341763357458043E-05, /* K = 12 */ +(PID.TID 0000.0001) 1.029886793911016E-05, /* K = 13 */ +(PID.TID 0000.0001) 7.244777660794312E-06, /* K = 14 */ +(PID.TID 0000.0001) 5.291061202791868E-06, /* K = 15 */ +(PID.TID 0000.0001) 4.668992652371521E-06, /* K = 16 */ +(PID.TID 0000.0001) 3.952349989520169E-06, /* K = 17 */ +(PID.TID 0000.0001) 3.937600045035830E-06, /* K = 18 */ +(PID.TID 0000.0001) 3.833348475309353E-06, /* K = 19 */ +(PID.TID 0000.0001) 4.027570774400333E-06, /* K = 20 */ +(PID.TID 0000.0001) 3.935806005392895E-06, /* K = 21 */ +(PID.TID 0000.0001) 3.995673930141529E-06, /* K = 22 */ +(PID.TID 0000.0001) 4.061338744769299E-06 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 23 @ 1.930000000000000E-05 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 23 @ 1.460000000000000E-05 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 23 @ 1.460000000000000E-05 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.986000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731600000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.027000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 23 @ 1.000000000000000E+00 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 24 @ 1.000000000000000E+00 /* K = 1: 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.815600000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.815600000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 23 @ 1.000000000000000E+00 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 24 @ 1.000000000000000E+00 /* K = 1: 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.500000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 23 @ 3.600000000000000E+03 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 1.728000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.791666666666666E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 1.440000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 3.600000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_mnc = /* Model IO flag. */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 4.142330000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.737098344693282E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.027000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.250000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.750000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2.000000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 2.250000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 4.250000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 6.250000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 8.750000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 1.250000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 1.750000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 2.375000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 3.125000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 3.825000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 4.325000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 4.750000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) 6 @ 5.000000000000000E+02, /* K = 18: 23 */ +(PID.TID 0000.0001) 2.500000000000000E+02 /* K = 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 2 @ 1.000000000000000E+01, /* K = 1: 2 */ +(PID.TID 0000.0001) 1.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 2 @ 2.000000000000000E+01, /* K = 4: 5 */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 3.500000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 7.500000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 1.500000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 2.000000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 2.750000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 3.500000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 4.500000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 7 @ 5.000000000000000E+02 /* K = 17: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 20 @ 2.000000000000000E+00 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 16 @ 2.000000000000000E+00 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 2.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 4.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.371000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.810000000000000E+02, /* I = 1 */ +(PID.TID 0000.0001) 2.830000000000000E+02, /* I = 2 */ +(PID.TID 0000.0001) 2.850000000000000E+02, /* I = 3 */ +(PID.TID 0000.0001) 2.870000000000000E+02, /* I = 4 */ +(PID.TID 0000.0001) 2.890000000000000E+02, /* I = 5 */ +(PID.TID 0000.0001) 2.910000000000000E+02, /* I = 6 */ +(PID.TID 0000.0001) 2.930000000000000E+02, /* I = 7 */ +(PID.TID 0000.0001) 2.950000000000000E+02, /* I = 8 */ +(PID.TID 0000.0001) 2.970000000000000E+02, /* I = 9 */ +(PID.TID 0000.0001) 2.990000000000000E+02, /* I = 10 */ +(PID.TID 0000.0001) 3.010000000000000E+02, /* I = 11 */ +(PID.TID 0000.0001) 3.030000000000000E+02, /* I = 12 */ +(PID.TID 0000.0001) 3.050000000000000E+02, /* I = 13 */ +(PID.TID 0000.0001) 3.070000000000000E+02, /* I = 14 */ +(PID.TID 0000.0001) 3.090000000000000E+02, /* I = 15 */ +(PID.TID 0000.0001) 3.110000000000000E+02, /* I = 16 */ +(PID.TID 0000.0001) 3.130000000000000E+02, /* I = 17 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* I = 18 */ +(PID.TID 0000.0001) 3.170000000000000E+02, /* I = 19 */ +(PID.TID 0000.0001) 3.190000000000000E+02 /* I = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 4.700000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) 4.900000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) 5.100000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) 5.300000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) 5.500000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) 5.700000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) 5.900000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) 6.100000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) 6.300000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) 6.500000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) 6.700000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) 6.900000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) 7.100000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) 7.300000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) 7.500000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) 7.700000000000000E+01 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -5.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -1.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -2.750000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -4.500000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) -6.500000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) -8.750000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) -1.175000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.600000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -2.225000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -3.100000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -4.350000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -6.100000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -8.475000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -1.160000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -1.542500000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -1.975000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -2.450000000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -2.950000000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -3.450000000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -3.950000000000000E+03, /* K = 20 */ +(PID.TID 0000.0001) -4.450000000000000E+03, /* K = 21 */ +(PID.TID 0000.0001) -4.950000000000000E+03, /* K = 22 */ +(PID.TID 0000.0001) -5.450000000000000E+03 /* K = 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -2.000000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) -3.500000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) -5.500000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) -7.500000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) -1.000000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.350000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -1.850000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -2.600000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -5.100000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) -7.100000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) -9.850000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) -1.335000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -1.750000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -2.200000000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -2.700000000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -3.200000000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -3.700000000000000E+03, /* K = 20 */ +(PID.TID 0000.0001) -4.200000000000000E+03, /* K = 21 */ +(PID.TID 0000.0001) -4.700000000000000E+03, /* K = 22 */ +(PID.TID 0000.0001) -5.200000000000000E+03, /* K = 23 */ +(PID.TID 0000.0001) -5.700000000000000E+03 /* K = 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 23 @ 1.000000000000000E+00 /* K = 1: 23 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 24 @ 1.000000000000000E+00 /* K = 1: 24 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.516695152377178E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.516695152377178E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.459008712061998E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.399544694374234E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.338375547059709E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.275575795302040E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.211221950925184E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.145392419175564E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.078167403197357E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.009628806317309E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.398601322581600E+04, /* J = 10 */ +(PID.TID 0000.0001) 8.689463834022089E+04, /* J = 11 */ +(PID.TID 0000.0001) 7.969739572290120E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.240305410533583E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.502050051917860E+04, /* J = 14 */ +(PID.TID 0000.0001) 5.755872946877906E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.002683197276441E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.544849730924338E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.544849730924338E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.488078573794047E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.429494422142520E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.369168651734348E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.307174760228300E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.243588277631750E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.178486674278995E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.111949266445588E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.044057119713670E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.748929502060512E+04, /* J = 10 */ +(PID.TID 0000.0001) 9.045410238093534E+04, /* J = 11 */ +(PID.TID 0000.0001) 8.330870535090075E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.606180949611843E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.872224404288860E+04, /* J = 14 */ +(PID.TID 0000.0001) 6.129895112114271E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.380097486983529E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.516695152377178E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.516695152377178E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.459008712061998E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.399544694374234E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.338375547059709E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.275575795302040E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.211221950925184E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.145392419175564E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.078167403197357E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.009628806317309E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.398601322581600E+04, /* J = 10 */ +(PID.TID 0000.0001) 8.689463834022089E+04, /* J = 11 */ +(PID.TID 0000.0001) 7.969739572290120E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.240305410533583E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.502050051917860E+04, /* J = 14 */ +(PID.TID 0000.0001) 5.755872946877906E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.002683197276441E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 1.544849730924338E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 1.544849730924338E+05, /* J = 1 */ +(PID.TID 0000.0001) 1.488078573794047E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.429494422142520E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.369168651734348E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.307174760228300E+05, /* J = 5 */ +(PID.TID 0000.0001) 1.243588277631750E+05, /* J = 6 */ +(PID.TID 0000.0001) 1.178486674278995E+05, /* J = 7 */ +(PID.TID 0000.0001) 1.111949266445588E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.044057119713670E+05, /* J = 9 */ +(PID.TID 0000.0001) 9.748929502060512E+04, /* J = 10 */ +(PID.TID 0000.0001) 9.045410238093534E+04, /* J = 11 */ +(PID.TID 0000.0001) 8.330870535090075E+04, /* J = 12 */ +(PID.TID 0000.0001) 7.606180949611843E+04, /* J = 13 */ +(PID.TID 0000.0001) 6.872224404288860E+04, /* J = 14 */ +(PID.TID 0000.0001) 6.129895112114271E+04, /* J = 15 */ +(PID.TID 0000.0001) 5.380097486983529E+04 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 20 @ 2.223898532891175E+05 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 16 @ 2.223898532891175E+05 /* J = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 20 @ 3.372804882275630E+10 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.372804882275630E+10, /* J = 1 */ +(PID.TID 0000.0001) 3.244522605358471E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.112287377427108E+10, /* J = 3 */ +(PID.TID 0000.0001) 2.976260306737437E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.836607121321784E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.693497967074614E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.547107200456132E+10, /* J = 7 */ +(PID.TID 0000.0001) 2.397613176065682E+10, /* J = 8 */ +(PID.TID 0000.0001) 2.245198029344207E+10, /* J = 9 */ +(PID.TID 0000.0001) 2.090047454670177E+10, /* J = 10 */ +(PID.TID 0000.0001) 1.932350479119805E+10, /* J = 11 */ +(PID.TID 0000.0001) 1.772299232166360E+10, /* J = 12 */ +(PID.TID 0000.0001) 1.610088711600326E+10, /* J = 13 */ +(PID.TID 0000.0001) 1.445916545954351E+10, /* J = 14 */ +(PID.TID 0000.0001) 1.279982753723478E+10, /* J = 15 */ +(PID.TID 0000.0001) 1.112489499673432E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 20 @ 3.372804882275630E+10 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.372804882275630E+10, /* J = 1 */ +(PID.TID 0000.0001) 3.244522605358471E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.112287377427108E+10, /* J = 3 */ +(PID.TID 0000.0001) 2.976260306737437E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.836607121321784E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.693497967074614E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.547107200456132E+10, /* J = 7 */ +(PID.TID 0000.0001) 2.397613176065682E+10, /* J = 8 */ +(PID.TID 0000.0001) 2.245198029344207E+10, /* J = 9 */ +(PID.TID 0000.0001) 2.090047454670177E+10, /* J = 10 */ +(PID.TID 0000.0001) 1.932350479119805E+10, /* J = 11 */ +(PID.TID 0000.0001) 1.772299232166360E+10, /* J = 12 */ +(PID.TID 0000.0001) 1.610088711600326E+10, /* J = 13 */ +(PID.TID 0000.0001) 1.445916545954351E+10, /* J = 14 */ +(PID.TID 0000.0001) 1.279982753723478E+10, /* J = 15 */ +(PID.TID 0000.0001) 1.112489499673432E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 20 @ 3.435414629417918E+10 /* I = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.435414629417918E+10, /* J = 1 */ +(PID.TID 0000.0001) 3.309167746093097E+10, /* J = 2 */ +(PID.TID 0000.0001) 3.178889151607872E+10, /* J = 3 */ +(PID.TID 0000.0001) 3.044737570361747E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.906876445392020E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.765473739243563E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.620701729332415E+10, /* J = 7 */ +(PID.TID 0000.0001) 2.472736798052209E+10, /* J = 8 */ +(PID.TID 0000.0001) 2.321759217879512E+10, /* J = 9 */ +(PID.TID 0000.0001) 2.167952931739416E+10, /* J = 10 */ +(PID.TID 0000.0001) 2.011505328899539E+10, /* J = 11 */ +(PID.TID 0000.0001) 1.852607016665020E+10, /* J = 12 */ +(PID.TID 0000.0001) 1.691451588152944E+10, /* J = 13 */ +(PID.TID 0000.0001) 1.528235386428863E+10, /* J = 14 */ +(PID.TID 0000.0001) 1.363157265293026E+10, /* J = 15 */ +(PID.TID 0000.0001) 1.196418347007692E+10 /* J = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.562528105304877E+12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) KPP_CHECK: #define ALLOW_KPP +(PID.TID 0000.0001) kpp_freq = /* frequency of KPP calculation */ +(PID.TID 0000.0001) 3.600000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPP_ghatUseTotalDiffus= /* non-local term fct of total diffus */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPPuseDoubleDiff = /* include double diffusive contrib */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) LimitHblStable = /* limits depth of hbl if stable cond.*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) minKPPhbl = /* minimum KPPhbl value [m] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsln = /* constant [-] */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phepsi = /* constant [-] */ +(PID.TID 0000.0001) 1.000000000000000E-10 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsilon = /* constant [-] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vonk = /* Von Karmans constant [-] */ +(PID.TID 0000.0001) 4.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dB_dz = /* maximum N^2 in mixed layer [s^-2] */ +(PID.TID 0000.0001) 5.200000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc1 = /* scalar constant [-] */ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conam = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.257000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concm = /* scalar constant [-] */ +(PID.TID 0000.0001) 8.380000000000001E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc2 = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conas = /* scalar constant [-] */ +(PID.TID 0000.0001) -2.886000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concs = /* scalar constant [-] */ +(PID.TID 0000.0001) 9.895999999999999E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) conc3 = /* scalar constant [-] */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zetam = /* scalar constant [-] */ +(PID.TID 0000.0001) -2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zetas = /* scalar constant [-] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Ricr = /* critical bulk Richardson Number [-] */ +(PID.TID 0000.0001) 3.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cekman = /* coeff for Ekman depth [-] */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cmonob = /* coeff for Monin-Obukhov depth [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) concv = /* buoyancy freq ratio [-] */ +(PID.TID 0000.0001) 1.800000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hbf = /* solar radiation depth ratio [-] */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zmin = /* minimum for zehat in table [m3/s3] */ +(PID.TID 0000.0001) -4.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zmax = /* maximum for zehat in table [m3/s3] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umin = /* minimum for ustar in table [m/s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) umax = /* maximum for ustar in table [m/s] */ +(PID.TID 0000.0001) 4.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) num_v_smooth_Ri = /* number of vertical smoothing */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Riinfty = /* shear instability Ri number limit [-] */ +(PID.TID 0000.0001) 7.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) BVSQcon = /* Brunt-Vaisala squared (=N^2) [s^-2] */ +(PID.TID 0000.0001) -2.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difm0 = /* max viscosity from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difs0 = /* max diffusiv. from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dift0 = /* max diffusiv. from shear instab. [m2/s] */ +(PID.TID 0000.0001) 5.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difmcon = /* convective viscosity [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) difscon = /* convective diffusiv. [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diftcon = /* convective diffusiv. [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Rrho0 = /* double diffusion density ratio [-] */ +(PID.TID 0000.0001) 1.900000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dsfmax = /* max diffusiv. for salt fingering [m2/s] */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cstar = /* coeff for non-locak transport [-] */ +(PID.TID 0000.0001) 1.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPPwriteState = /* write KPP fields to file */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kpp_dumpFreq = /* dump freq of KPP output */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kpp_taveFreq = /* time-averaging freq of KPP output */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) EXF_CHECK: #define ALLOW_EXF +(PID.TID 0000.0001) SEAICE_CHECK: #define ALLOW_SEAICE +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) etaday defined by gencost 4 +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 0 +(PID.TID 0000.0001) %MON time_secondsf = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_max = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3333076477051E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.4103618860245E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.1168426975828E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4047681849177E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.5049819722560E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5450622558594E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.0128698348999E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4759355674691E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.4306214753982E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6452478048952E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON pe_b_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_r_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067278094140E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8115075987134E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843892147E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1689234854242E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 0 +(PID.TID 0000.0001) %MON seaice_time_sec = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0000000000000E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 2.0000000000000E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 2.0000000000000E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 9.5205094642639E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = 8.2251346492767E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 9.0515124880142E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 3.2399715379512E+02 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 6.5705700303689E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 0 +(PID.TID 0000.0001) %MON exf_time_sec = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON exf_ustress_max = 6.3903775845771E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.5324050318348E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 2.2585053845627E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.7275868295507E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.3810540854857E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.4708944127586E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -6.2488440618747E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.5966769927411E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.5564946659994E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.2446640646997E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 7.3527440806105E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = 1.1759678238206E+02 +(PID.TID 0000.0001) %MON exf_hflux_mean = 2.8333404528937E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.5742193163805E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.7940332098124E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 5.5100078770193E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -6.0802354200242E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -6.5150265743063E-09 +(PID.TID 0000.0001) %MON exf_sflux_sd = 2.6751431080853E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.8965728806310E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4643745422363E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8372380733490E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7697727336031E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9900402496951E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 1.6625569786913E-01 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9240682125092E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0197033882141E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.6089868124963E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7293437592941E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 1.5097945843360E-01 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8832820454477E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.6035219539401E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1981217095273E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5991724245810E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646792253828E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8188281250000E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3646176910400E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6394605784141E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1983417694612E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0525892037380E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3231729436666E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6369274817407E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4803629101886E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4265074770275E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6519352415610E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 2.0326754555358E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 7.1683500197106E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 1.1087529350502E+02 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 3.5154607039034E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 5.3834650635925E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 6.1424286594286E-08 +(PID.TID 0000.0001) %MON exf_evap_min = 1.1021039945128E-08 +(PID.TID 0000.0001) %MON exf_evap_mean = 2.9875053968778E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 9.5466440695483E-09 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.6734130637722E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0498766300771E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7359498694368E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390080543085E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0578148171209E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6835041457522E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1205755472183E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.3973114013672E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6453223022948E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9625901079469E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7059823758366E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1081237792969E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0228617191315E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9392470025498E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1806556754965E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5622026398184E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0567971801758E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1599769210815E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2594931695913E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6277429231296E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1741979598658E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040330886841E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0666313171387E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3459319600989E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0319548925494E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6975862895226E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.94851485E-02 2.03143980E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 5.95498043E+00 1.09255839E+00 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 28 8.63477172E-07 2.02291536E-05 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 58 8.31721269E-07 2.15674408E-05 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 3.89145512E-02 1.68786586E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 5.85800620E+00 1.09024537E+00 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 28 7.51559742E-07 1.75964282E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 52 9.03030712E-07 2.34120170E-05 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 +(PID.TID 0000.0001) cg2d_init_res = 1.59852054923669E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 47 +(PID.TID 0000.0001) cg2d_last_res = 5.76526654009719E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 1 +(PID.TID 0000.0001) %MON time_secondsf = 3.6000000000000E+03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.0635788969790E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -7.9180095035590E-02 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -7.0243415133306E-17 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 4.6882439869013E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.0374699991175E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.3189733381625E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.9761328680594E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -9.4725826026055E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 2.8475894987251E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.3605386664599E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.0428468728729E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.1377323511950E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.7096157484286E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.3712427065811E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0842532167986E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.1653036437818E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -4.2713146544853E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 5.8080264182517E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.4879746033964E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 4.3463537310767E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3244059135356E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.4101961597080E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0799050402967E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4087902407495E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.9668609587769E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5450777873699E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7656099401412E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4748274370859E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 4.9950761807460E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.7427815459421E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 9.0561102310369E+04 +(PID.TID 0000.0001) %MON forcing_qnet_min = 2.6204517276812E+04 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 6.2508444244181E+04 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.9048452078585E+04 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7858189494162E+02 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -7.4467175578701E-03 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -4.2933257089527E-04 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.1045667717750E-03 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.0195935462279E-04 +(PID.TID 0000.0001) %MON forcing_empmr_max = -7.8376483162499E-02 +(PID.TID 0000.0001) %MON forcing_empmr_min = -2.7120986112334E-01 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -1.8716151376320E-01 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 5.7112046530665E-02 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 8.3343148578546E-04 +(PID.TID 0000.0001) %MON forcing_fu_max = 3.0104736869831E-03 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.8984959041597E-04 +(PID.TID 0000.0001) %MON forcing_fu_mean = 8.4608935579449E-04 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.2081178438277E-04 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.1157665774485E-05 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0219555778038E-03 +(PID.TID 0000.0001) %MON forcing_fv_min = -1.4975873109393E-03 +(PID.TID 0000.0001) %MON forcing_fv_mean = -2.4787241135348E-04 +(PID.TID 0000.0001) %MON forcing_fv_sd = 6.5005480255251E-04 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.2701456971386E-05 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.8543423515976E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.2446881340043E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.1163796268600E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.8540451336809E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.3069173946446E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 4.1271577939578E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 2.1699547437806E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 7.2459152814998E-06 +(PID.TID 0000.0001) %MON ke_max = 1.5940966858268E-04 +(PID.TID 0000.0001) %MON ke_mean = 1.2133746438612E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -1.3728781712160E-07 +(PID.TID 0000.0001) %MON vort_r_max = 1.1140677138452E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277213448E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8106506473760E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734842597826E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1691075637735E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 5.0972065690995E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -5.2016300712729E-06 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 1 +(PID.TID 0000.0001) %MON seaice_time_sec = 3.6000000000000E+03 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.2041894747932E-02 +(PID.TID 0000.0001) %MON seaice_uice_min = -1.1593983616639E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 3.3843574231780E-03 +(PID.TID 0000.0001) %MON seaice_uice_sd = 3.2832471375311E-03 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 8.4630663097942E-05 +(PID.TID 0000.0001) %MON seaice_vice_max = 4.0878223112151E-03 +(PID.TID 0000.0001) %MON seaice_vice_min = -5.9903492437573E-03 +(PID.TID 0000.0001) %MON seaice_vice_mean = -9.9148964541391E-04 +(PID.TID 0000.0001) %MON seaice_vice_sd = 2.6002192102100E-03 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 5.0805827885543E-05 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 8.8241200735970E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 3.2210186371195E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 2.6666475771526E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 6.8993406595551E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 2.9490283368986E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 2.0099377743190E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 2.9401727925079E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0039559082223E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 1.0299378294785E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.8795826585774E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.0521014004339E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 6.1745749519298E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 2.4300919428475E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.8706060700323E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 2.8445152958901E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 1 +(PID.TID 0000.0001) %MON exf_time_sec = 3.6000000000000E+03 +(PID.TID 0000.0001) %MON exf_ustress_max = 5.2952831527506E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.4100144350760E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.8607622224619E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.4057684016500E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.2068569743786E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.4006716586934E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -5.9442497948679E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.6680490960420E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.4567614592354E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.1360912373180E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 6.4939682078218E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -4.8611740966314E+01 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.6832654558975E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.8362699584315E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.4309352542320E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 4.2969162591452E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -8.3459440709124E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.3745892148706E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 3.1300300282014E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.7775968330834E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4648819946852E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8372648550513E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7698802859475E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9903162155877E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 8.0271726639726E-02 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9240983933048E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0187974783892E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.6028090815952E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7294518007626E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 4.8609855321605E-02 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8833202965791E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.6010935417159E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1982241536133E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5994287774633E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646545747982E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8188110034713E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3645730413635E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6394141375606E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1984878226631E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0555651533612E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3224764028055E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6359864467567E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4798025537840E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4264043737180E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6495489306751E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.8955025039790E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 3.4245037134592E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.5810049831882E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 4.1998013274789E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 4.6578132531727E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 4.9292707704615E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -5.5793937045122E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.2644177550344E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 1.2089187924457E-08 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.1141554196263E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0498904445033E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7346106047101E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390069699050E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0578598603627E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6837812825023E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1206038349965E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.3991984364244E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6463755238823E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9629736696482E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7099997232451E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1102204849160E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0228931499961E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9404172487581E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1810818551646E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5666663591612E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0567089193375E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1598258522951E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2593360963007E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6281398610271E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1732435942730E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040515633880E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0667072499385E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3459840934468E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0318832207269E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6974851931992E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 4.75225254E-02 1.60827528E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 3.18315241E+00 4.45406602E-01 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 32 8.45308276E-07 8.77751038E-06 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 66 9.33157556E-07 1.13117848E-05 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 3.98170501E-02 1.55616639E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 2.60509046E+00 3.91872896E-01 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 30 9.33942248E-07 1.59410246E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 80 9.60218226E-07 9.23096746E-06 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 +(PID.TID 0000.0001) cg2d_init_res = 3.33861453555208E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 45 +(PID.TID 0000.0001) cg2d_last_res = 6.10582955160977E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 2 +(PID.TID 0000.0001) %MON time_secondsf = 7.2000000000000E+03 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.8860214066455E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.2834439688048E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.7283570390193E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.4578719722373E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.3372870653705E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 3.2345826796125E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.0242717023285E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -7.7159234578009E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 4.4562846520541E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.2553071351452E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 4.2183991412244E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.6486095579799E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.4847792359670E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 6.8134725662719E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.6588814399235E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.6868646010609E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -6.5653696378060E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -1.5446878771946E-23 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.1157564917175E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.4553627765810E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3260653674899E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8315674624044E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0744366062651E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4246112736440E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.8795611679600E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5450923640175E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7609290591066E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4746539609627E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.1057030246173E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6664870938342E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 2.1573266973592E+04 +(PID.TID 0000.0001) %MON forcing_qnet_min = -4.8611740966314E+01 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 9.2444927793605E+03 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 4.7500174554482E+03 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7845494915853E+02 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -6.3991984364244E+01 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -5.7626906252125E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 1.6010569106582E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.1743806699306E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = -2.3123557540698E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -6.4527858968686E-02 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -2.7653547917575E-02 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 1.4200488283459E-02 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 8.3330925716492E-04 +(PID.TID 0000.0001) %MON forcing_fu_max = 7.6564711972844E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = -2.4036178826050E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.6841309095131E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 1.9808546009021E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 7.1680515545349E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0679733761674E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -9.2402214137863E-03 +(PID.TID 0000.0001) %MON forcing_fv_mean = -1.4380454253311E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 4.5680741221470E-03 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.7098747736311E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 9.5524230098397E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 6.7001544852826E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 8.8043830807270E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 9.5519380448179E-04 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 6.8286554821658E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.6448850193329E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 9.7542151153017E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 1.8335919294502E-05 +(PID.TID 0000.0001) %MON ke_max = 8.0879325078038E-04 +(PID.TID 0000.0001) %MON ke_mean = 2.7009722489498E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -2.8349398945986E-07 +(PID.TID 0000.0001) %MON vort_r_max = 1.7945184540995E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277951547E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8107579894347E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843682583E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1691469783295E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.7634913629106E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -3.6372988734050E-06 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 2 +(PID.TID 0000.0001) %MON seaice_time_sec = 7.2000000000000E+03 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.8482156442362E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -2.7249933601916E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 5.7157660179467E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 5.8268081571691E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 2.3647647561458E-03 +(PID.TID 0000.0001) %MON seaice_vice_max = 6.2586659794800E-02 +(PID.TID 0000.0001) %MON seaice_vice_min = -3.1698716685261E-02 +(PID.TID 0000.0001) %MON seaice_vice_mean = -4.8700347008974E-03 +(PID.TID 0000.0001) %MON seaice_vice_sd = 1.9696940744667E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 7.1962371252570E-04 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 7.0982369743073E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.5366700221756E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 3.2657733890698E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.8895104755355E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.9760806111850E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.8921541607071E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.6497137537374E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0023562424984E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 7.0013847648030E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.6991315879810E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.2920145865824E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.1951816758568E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = -2.2737367544323E-13 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 1.6198683356839E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.6616485821955E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.4260168131154E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 2 +(PID.TID 0000.0001) %MON exf_time_sec = 7.2000000000000E+03 +(PID.TID 0000.0001) %MON exf_ustress_max = 5.2373899561505E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.3848318241134E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.7851228006896E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.3646263958233E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.1409483588771E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.3862389789206E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -5.8693724233832E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.5186534649124E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.4411101226349E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.1437992111410E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 6.3300299509194E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -4.7714562046830E+01 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.5446258169740E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.8080228835383E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.3650362462098E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 4.0782196220262E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -8.7527688899396E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.5524596916123E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 3.0933055214115E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.7683999600605E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4653894471340E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8372916367536E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7699878382919E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9905922217476E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 8.0271529751792E-02 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9241285741003E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0178915685643E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.5966313506940E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7295599554900E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 4.8609699266683E-02 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8833585477315E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.5986651533145E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1983267266652E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5996852426804E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646299926724E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8187938819427E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3645283916869E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6393676967070E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1986339246462E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0585416752362E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3217798619445E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6350454117726E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4792421973794E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4263013062694E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6471629231506E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.8572616849287E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 3.4440387118459E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.2250277570937E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 4.1895085597792E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 4.5267129390048E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 4.7105078622494E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -5.4066076787296E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0865461938893E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 1.1696618292870E-08 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.0242885848096E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0499042589295E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7332713399833E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390058855016E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0579049691733E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6840584643800E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1206321227746E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.4010854714816E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6474287454698E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9633572905820E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7140179220378E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1123171905351E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0229245808607E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9415874949665E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1815081006466E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5711310244864E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0566206584993E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1596747835086E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2591790230100E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6285369157135E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1722892696108E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040700380919E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0667831827383E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3460362267948E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0318117788237E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6973864151273E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 2.86268655E-02 1.55520244E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.74940742E+00 2.38021429E-01 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 36 8.03453505E-07 1.02721689E-05 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 76 9.82671780E-07 3.72577455E-06 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 1.73268298E-02 1.13232277E-02 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.67667951E+00 2.13603102E-01 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 36 9.83282302E-07 2.30633388E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 62 7.86209399E-07 1.81170152E-06 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.65585935462282E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 44 +(PID.TID 0000.0001) cg2d_last_res = 8.58723452545735E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 3 +(PID.TID 0000.0001) %MON time_secondsf = 1.0800000000000E+04 +(PID.TID 0000.0001) %MON dynstat_eta_max = 3.1200571210931E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4175050217332E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.1672663449666E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 8.4432999959959E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.1981798555172E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 6.4856320293537E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.8577077898496E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -2.0146479170342E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.7072406453746E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 2.7446705388097E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 5.5108523081937E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.9360355565528E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -9.4159239083143E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.4372997768564E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.8518921774123E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.1830276214993E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.0184732200242E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.0627452595099E-21 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.7266423173375E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 6.6814097167347E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3263111506735E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9325037762574E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0735109946567E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4276089311250E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.8667004030101E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5451057670656E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7614330464559E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4746250543494E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.1242061790498E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6601984720847E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.3296428273802E+03 +(PID.TID 0000.0001) %MON forcing_qnet_min = -4.7714562046830E+01 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 1.5566928962727E+03 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.0971332564756E+03 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 8.9382853834998E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -6.4010854714816E+01 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.3420132056940E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 2.1915797496867E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.2846407512099E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = -2.1966493315379E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.2855352557884E-02 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -4.6219743448643E-03 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 3.2453751952297E-03 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 2.6661731270929E-04 +(PID.TID 0000.0001) %MON forcing_fu_max = 9.3784155584468E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = -3.6575324129790E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 2.4295749030177E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 2.4715582265044E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 1.1825442548098E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0715885866973E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -4.3774232380724E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -6.2001517676089E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 1.1360971466021E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 5.6327922948076E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 1.7002376318934E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 8.7529796433053E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 4.6112689300872E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 1.7001513128747E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 8.9208513860142E-04 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 8.5006880041735E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.1077424408867E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 2.3501591982197E-05 +(PID.TID 0000.0001) %MON ke_max = 2.0713043335779E-03 +(PID.TID 0000.0001) %MON ke_mean = 4.0939854603399E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -3.7035222459306E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.2218960180709E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277963980E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8113036948354E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843700856E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1691163898609E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 2.6901840770127E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.6277922435323E-06 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 3 +(PID.TID 0000.0001) %MON seaice_time_sec = 1.0800000000000E+04 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.6142182325436E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -4.8887769062788E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 7.1103198736411E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 5.7080755674205E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.6086542694329E-03 +(PID.TID 0000.0001) %MON seaice_vice_max = 8.9083652893255E-02 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.5124609590471E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -1.8009273104343E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 4.1716525401934E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.6083280170802E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 6.5733635985703E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.7423616716142E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 3.6507465588865E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.7530330464859E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.8152202990544E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.8493975928864E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.9427730005235E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0012996226770E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 6.4344009499758E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.5540561537986E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.3974679417050E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.0759529291364E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = -3.5527136788005E-15 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 1.4935841572077E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.6045761693369E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.5792946694910E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON exf_tsnumber = 3 +(PID.TID 0000.0001) %MON exf_time_sec = 1.0800000000000E+04 +(PID.TID 0000.0001) %MON exf_ustress_max = 5.2253598198161E-02 +(PID.TID 0000.0001) %MON exf_ustress_min = -9.3800177447582E-02 +(PID.TID 0000.0001) %MON exf_ustress_mean = 1.7761693545994E-02 +(PID.TID 0000.0001) %MON exf_ustress_sd = 2.3595528219142E-02 +(PID.TID 0000.0001) %MON exf_ustress_del2 = 7.1415463543815E-04 +(PID.TID 0000.0001) %MON exf_vstress_max = 5.3834963506767E-02 +(PID.TID 0000.0001) %MON exf_vstress_min = -5.8522651112696E-02 +(PID.TID 0000.0001) %MON exf_vstress_mean = -5.4696471724590E-03 +(PID.TID 0000.0001) %MON exf_vstress_sd = 1.4383722124016E-02 +(PID.TID 0000.0001) %MON exf_vstress_del2 = 5.1529625550114E-04 +(PID.TID 0000.0001) %MON exf_hflux_max = 6.2984723466062E+02 +(PID.TID 0000.0001) %MON exf_hflux_min = -4.7347423591597E+01 +(PID.TID 0000.0001) %MON exf_hflux_mean = 1.5220071441143E+02 +(PID.TID 0000.0001) %MON exf_hflux_sd = 1.7990960100422E+02 +(PID.TID 0000.0001) %MON exf_hflux_del2 = 1.3523184366411E+01 +(PID.TID 0000.0001) %MON exf_sflux_max = 4.0360779869846E-08 +(PID.TID 0000.0001) %MON exf_sflux_min = -8.8306536701970E-08 +(PID.TID 0000.0001) %MON exf_sflux_mean = -2.5805447491622E-08 +(PID.TID 0000.0001) %MON exf_sflux_sd = 3.0822708057213E-08 +(PID.TID 0000.0001) %MON exf_sflux_del2 = 1.7672733525641E-09 +(PID.TID 0000.0001) %MON exf_uwind_max = 6.4658968995829E+00 +(PID.TID 0000.0001) %MON exf_uwind_min = -6.8373184184559E+00 +(PID.TID 0000.0001) %MON exf_uwind_mean = 2.7700953906363E+00 +(PID.TID 0000.0001) %MON exf_uwind_sd = 2.9908682681638E+00 +(PID.TID 0000.0001) %MON exf_uwind_del2 = 8.0271336255764E-02 +(PID.TID 0000.0001) %MON exf_vwind_max = 3.9241587548959E+00 +(PID.TID 0000.0001) %MON exf_vwind_min = -6.0169856587394E+00 +(PID.TID 0000.0001) %MON exf_vwind_mean = -7.5904536197929E-01 +(PID.TID 0000.0001) %MON exf_vwind_sd = 1.7296682234552E+00 +(PID.TID 0000.0001) %MON exf_vwind_del2 = 4.8609550037542E-02 +(PID.TID 0000.0001) %MON exf_wspeed_max = 7.8833967989048E+00 +(PID.TID 0000.0001) %MON exf_wspeed_min = 4.5962367887737E-01 +(PID.TID 0000.0001) %MON exf_wspeed_mean = 4.1984294286706E+00 +(PID.TID 0000.0001) %MON exf_wspeed_sd = 1.5999418201857E+00 +(PID.TID 0000.0001) %MON exf_wspeed_del2 = 2.3646054790944E-01 +(PID.TID 0000.0001) %MON exf_atemp_max = 2.8187767604140E+02 +(PID.TID 0000.0001) %MON exf_atemp_min = 2.3644837420104E+02 +(PID.TID 0000.0001) %MON exf_atemp_mean = 2.6393212558534E+02 +(PID.TID 0000.0001) %MON exf_atemp_sd = 1.1987800753926E+01 +(PID.TID 0000.0001) %MON exf_atemp_del2 = 7.0615187686393E-01 +(PID.TID 0000.0001) %MON exf_aqh_max = 6.3210833210834E-03 +(PID.TID 0000.0001) %MON exf_aqh_min = 1.6341043767886E-04 +(PID.TID 0000.0001) %MON exf_aqh_mean = 2.4786818409748E-03 +(PID.TID 0000.0001) %MON exf_aqh_sd = 1.4261982746893E-03 +(PID.TID 0000.0001) %MON exf_aqh_del2 = 7.6447772192714E-05 +(PID.TID 0000.0001) %MON exf_lwflux_max = 1.8516255042579E+02 +(PID.TID 0000.0001) %MON exf_lwflux_min = 3.4493568839759E+01 +(PID.TID 0000.0001) %MON exf_lwflux_mean = 8.1681922077285E+01 +(PID.TID 0000.0001) %MON exf_lwflux_sd = 4.1769273547920E+01 +(PID.TID 0000.0001) %MON exf_lwflux_del2 = 4.5006206066376E+00 +(PID.TID 0000.0001) %MON exf_evap_max = 4.6682999561148E-08 +(PID.TID 0000.0001) %MON exf_evap_min = -5.3342154475673E-09 +(PID.TID 0000.0001) %MON exf_evap_mean = 1.0584600519359E-08 +(PID.TID 0000.0001) %MON exf_evap_sd = 1.1576042080970E-08 +(PID.TID 0000.0001) %MON exf_evap_del2 = 1.0074628262555E-09 +(PID.TID 0000.0001) %MON exf_precip_max = 1.0499180733557E-07 +(PID.TID 0000.0001) %MON exf_precip_min = 2.7319320752566E-10 +(PID.TID 0000.0001) %MON exf_precip_mean = 3.6390048010982E-08 +(PID.TID 0000.0001) %MON exf_precip_sd = 2.0579501435483E-08 +(PID.TID 0000.0001) %MON exf_precip_del2 = 1.6843356913630E-09 +(PID.TID 0000.0001) %MON exf_swflux_max = -8.1206604105527E-02 +(PID.TID 0000.0001) %MON exf_swflux_min = -6.4029725065388E+01 +(PID.TID 0000.0001) %MON exf_swflux_mean = -2.6484819670573E+01 +(PID.TID 0000.0001) %MON exf_swflux_sd = 1.9637409707136E+01 +(PID.TID 0000.0001) %MON exf_swflux_del2 = 7.7180369708849E-01 +(PID.TID 0000.0001) %MON exf_swdown_max = 7.1144138961542E+01 +(PID.TID 0000.0001) %MON exf_swdown_min = 9.0229560117253E-02 +(PID.TID 0000.0001) %MON exf_swdown_mean = 2.9427577411748E+01 +(PID.TID 0000.0001) %MON exf_swdown_sd = 2.1819344119040E+01 +(PID.TID 0000.0001) %MON exf_swdown_del2 = 8.5755966343166E-01 +(PID.TID 0000.0001) %MON exf_lwdown_max = 3.0565323976611E+02 +(PID.TID 0000.0001) %MON exf_lwdown_min = 1.1595237147222E+02 +(PID.TID 0000.0001) %MON exf_lwdown_mean = 2.2590219497194E+02 +(PID.TID 0000.0001) %MON exf_lwdown_sd = 4.6289340871590E+01 +(PID.TID 0000.0001) %MON exf_lwdown_del2 = 8.1713349858933E+00 +(PID.TID 0000.0001) %MON exf_climsss_max = 3.5040885127959E+01 +(PID.TID 0000.0001) %MON exf_climsss_min = 3.0668591155380E+01 +(PID.TID 0000.0001) %MON exf_climsss_mean = 3.3460883601427E+01 +(PID.TID 0000.0001) %MON exf_climsss_sd = 1.0317405668875E+00 +(PID.TID 0000.0001) %MON exf_climsss_del2 = 2.6972899555616E-02 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR EXF statistics +(PID.TID 0000.0001) // ======================================================= + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 1 1.92432265E-02 9.42131536E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.53414557E+00 1.96161826E-01 + SEAICE_LSR (ipass= 1) iters,dU,Resid= 42 8.71647096E-07 2.34054491E-05 + SEAICE_LSR (ipass= 1) iters,dV,Resid= 46 7.47279511E-07 1.11762431E-06 + SEAICE_LSR: Residual Initial ipass,Uice,Vice= 2 8.86796066E-03 5.30245093E-03 + SEAICE_LSR: Residual FrDrift U_fd,V_fd= 1.50953507E+00 1.91708728E-01 + SEAICE_LSR (ipass= 2) iters,dU,Resid= 44 9.99010196E-07 2.68869550E-05 + SEAICE_LSR (ipass= 2) iters,dV,Resid= 36 7.29226934E-07 9.42201385E-07 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.25006909262882E-01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 44 +(PID.TID 0000.0001) cg2d_last_res = 9.20603291526689E-14 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 4 +(PID.TID 0000.0001) %MON time_secondsf = 1.4400000000000E+04 +(PID.TID 0000.0001) %MON dynstat_eta_max = 3.2000545184694E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3349338937347E-01 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -3.5207370268035E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 8.5184292488422E-02 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 2.0934637775163E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 8.2512406374979E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -4.5127658349185E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 2.6858722141188E-04 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 6.7179469096981E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.0034753321535E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 6.6473080704341E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -5.4309651745800E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -5.9193420182227E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 9.3729426406751E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.9142700806046E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 2.6784756713641E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.5011707685896E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 4.4487010863205E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.4063919558286E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 7.6544432094708E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 1.3261119623659E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.9532335461641E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.0733266932513E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 1.4281134149900E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 9.8552715446868E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.5451168695842E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 2.7619300672645E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4746200189789E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 5.1270389614300E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 3.6563772376287E-03 +(PID.TID 0000.0001) %MON forcing_qnet_max = 8.7757792393125E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -4.7347423591597E+01 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 3.0507319980419E+02 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 2.3699181155992E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.3268200966658E+01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = -6.4029725065388E+01 +(PID.TID 0000.0001) %MON forcing_qsw_mean = -1.5761010937622E+01 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 2.2895611002370E+01 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 1.2825569840473E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = -2.1977294661131E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -2.5019541967335E-03 +(PID.TID 0000.0001) %MON forcing_empmr_mean = -8.7217501134798E-04 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 6.5854743674227E-04 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 6.8219711070130E-05 +(PID.TID 0000.0001) %MON forcing_fu_max = 8.2449272116085E-02 +(PID.TID 0000.0001) %MON forcing_fu_min = -4.5632567268432E-03 +(PID.TID 0000.0001) %MON forcing_fu_mean = 2.4073994705238E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 2.3131242220756E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 1.1286790923426E-03 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.0733265513237E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -6.0122420618096E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = -8.4627902163586E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 1.5042336154921E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 6.8323783419072E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.2161666942356E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.0558031493020E-03 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 4.8438172668422E-03 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 2.2160541821192E-03 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 1.0760521984091E-03 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.5754574305290E-03 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.4318891569936E-03 +(PID.TID 0000.0001) %MON pe_b_mean = 2.3921691359412E-05 +(PID.TID 0000.0001) %MON ke_max = 4.4630819685464E-03 +(PID.TID 0000.0001) %MON ke_mean = 5.2190237265223E-05 +(PID.TID 0000.0001) %MON ke_vol = 5.3036189546438E+15 +(PID.TID 0000.0001) %MON vort_r_min = -5.9719988753608E-07 +(PID.TID 0000.0001) %MON vort_r_max = 3.3649429719562E-07 +(PID.TID 0000.0001) %MON vort_a_mean = 1.2067277722320E-04 +(PID.TID 0000.0001) %MON vort_a_sd = 8.8117909143867E-06 +(PID.TID 0000.0001) %MON vort_p_mean = 1.7734843345698E-04 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1690608850023E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.7265234057788E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.4052396312230E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON seaice_tsnumber = 4 +(PID.TID 0000.0001) %MON seaice_time_sec = 1.4400000000000E+04 +(PID.TID 0000.0001) %MON seaice_uice_max = 1.9278613664963E-01 +(PID.TID 0000.0001) %MON seaice_uice_min = -6.6336420486095E-03 +(PID.TID 0000.0001) %MON seaice_uice_mean = 8.0980071875100E-02 +(PID.TID 0000.0001) %MON seaice_uice_sd = 6.5934108724636E-02 +(PID.TID 0000.0001) %MON seaice_uice_del2 = 1.9774517829662E-03 +(PID.TID 0000.0001) %MON seaice_vice_max = 1.0422521997256E-01 +(PID.TID 0000.0001) %MON seaice_vice_min = -1.5834238711265E-01 +(PID.TID 0000.0001) %MON seaice_vice_mean = -2.4536983137141E-02 +(PID.TID 0000.0001) %MON seaice_vice_sd = 4.7780118682829E-02 +(PID.TID 0000.0001) %MON seaice_vice_del2 = 1.2747441208059E-03 +(PID.TID 0000.0001) %MON seaice_area_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_area_mean = 6.4837610795517E-01 +(PID.TID 0000.0001) %MON seaice_area_sd = 4.7688271947091E-01 +(PID.TID 0000.0001) %MON seaice_area_del2 = 3.5900585080448E-02 +(PID.TID 0000.0001) %MON seaice_heff_max = 5.7249106227686E-01 +(PID.TID 0000.0001) %MON seaice_heff_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_heff_mean = 1.7858987674424E-01 +(PID.TID 0000.0001) %MON seaice_heff_sd = 1.8389251216999E-01 +(PID.TID 0000.0001) %MON seaice_heff_del2 = 3.9767313359982E-03 +(PID.TID 0000.0001) %MON seaice_hsnow_max = 2.0013780623038E-01 +(PID.TID 0000.0001) %MON seaice_hsnow_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsnow_mean = 6.3308038477445E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_sd = 6.5176643246776E-02 +(PID.TID 0000.0001) %MON seaice_hsnow_del2 = 1.4095623457340E-03 +(PID.TID 0000.0001) %MON seaice_hsalt_max = 5.0526892340529E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON seaice_hsalt_mean = 1.4693342058545E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_sd = 1.5930872779066E+03 +(PID.TID 0000.0001) %MON seaice_hsalt_del2 = 3.6109274783666E+01 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR SEAICE statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %CHECKPOINT 4 ckptA +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833143926D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269643D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189129671D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986541647D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986541647D+04 +(PID.TID 0000.0001) global fc = 0.723648986541647D+04 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833143926D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269643D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189129671D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986541647D+04 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 + cg2d: Sum(rhs),rhsMax = -1.11022302462516E-16 1.04090595757221E-03 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = -1.13659082146000E-14 8.36868947309287E-04 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = -5.56499291093360E-15 1.48212043427929E-03 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = -3.34177130412172E-14 2.04326452102084E-04 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + ph-pack: packing ecco_cost + ph-pack: packing ecco_ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.08860706507608E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.44383460321774E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 7.82707232360735E-15 1.20525368718144E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979587201E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833143926D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269643D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189129671D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986541647D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986541647D+04 +(PID.TID 0000.0001) global fc = 0.723648986541647D+04 +(PID.TID 0000.0001) grdchk reference fc: fcref = 7.23648986541647E+03 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj + grad-res closest next position: + grad-res 0 10 4 8 1 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 10 300 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 6 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 6 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.40779618465581E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.25821919128822E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 5.30825383648903E-15 1.20525368718142E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979589970E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006180D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833145784D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269637D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189127731D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986544492D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986544492D+04 +(PID.TID 0000.0001) global fc = 0.723648986544492D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986544492E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.02615701994091E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 8.35095881335235E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 4.35762537165374E-15 1.20525368718145E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979584440E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006192D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833142069D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269649D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131610D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986540802D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986540802D+04 +(PID.TID 0000.0001) global fc = 0.723648986540802D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986540802E+03 +grad-res ------------------------------- + grad-res 0 1 6 8 1 1 1 1 7.23648986542E+03 7.23648986544E+03 7.23648986541E+03 + grad-res 0 1 1 10 0 1 1 1 1.84514928426E-04 1.84527380043E-04 -6.74829749971E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 1.84514928426408E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 1.84527380042709E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 11 300 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 10 2 + ph-grd -->hit<-- 7 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 7 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.11636264069170E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.97986415729457E-15 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 7.41073868937292E-15 1.20525368718143E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979589073E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006182D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833145723D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269639D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189128178D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986544436D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986544436D+04 +(PID.TID 0000.0001) global fc = 0.723648986544436D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986544436E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.47024622979097E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.17596904436468E-14 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 1.00544572667616E-14 1.20525368718145E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979585330E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006190D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833142129D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269647D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131163D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986540858D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986540858D+04 +(PID.TID 0000.0001) global fc = 0.723648986540858D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986540858E+03 +grad-res ------------------------------- + grad-res 0 2 7 8 1 1 1 1 7.23648986542E+03 7.23648986544E+03 7.23648986541E+03 + grad-res 0 2 2 11 0 1 1 1 1.78844911598E-04 1.78856680577E-04 -6.58055008793E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 1.78844911598168E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 1.78856680577155E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 12 300 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 11 3 + ph-grd -->hit<-- 8 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 8 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.70616862252382E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.01411934405604E-14 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 3.27515792264421E-15 1.20525368718141E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979588209E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006186D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833146249D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269642D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189128136D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986544969D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986544969D+04 +(PID.TID 0000.0001) global fc = 0.723648986544969D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986544969E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.91433543964104E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.02643588073548E-14 1.20987150232973E+00 + cg2d: Sum(rhs),rhsMax = 8.56606452437347E-15 1.20525368718149E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979586203E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006187D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833141604D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269644D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131205D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986540325D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986540325D+04 +(PID.TID 0000.0001) global fc = 0.723648986540325D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986540325E+03 +grad-res ------------------------------- + grad-res 0 3 8 8 1 1 1 1 7.23648986542E+03 7.23648986545E+03 7.23648986540E+03 + grad-res 0 3 3 12 0 1 1 1 2.32148292248E-04 2.32153070101E-04 -2.05810383180E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 2.32148292248151E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 2.32153070101049E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 13 300 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 12 4 + ph-grd -->hit<-- 9 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 9 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.95596880306448E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.02383379552151E-14 1.20987150232972E+00 + cg2d: Sum(rhs),rhsMax = 6.88338275267597E-15 1.20525368718140E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979590600E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006160D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833146962D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269616D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189128123D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986545629D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986545629D+04 +(PID.TID 0000.0001) global fc = 0.723648986545629D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986545629E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 1.80411241501588E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 1.03025227238263E-14 1.20987150232974E+00 + cg2d: Sum(rhs),rhsMax = 7.59808882477842E-15 1.20525368718151E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979583810E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006213D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833140891D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269670D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189131217D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986539665D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986539665D+04 +(PID.TID 0000.0001) global fc = 0.723648986539665D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986539665E+03 +grad-res ------------------------------- + grad-res 0 4 9 8 1 1 1 1 7.23648986542E+03 7.23648986546E+03 7.23648986540E+03 + grad-res 0 4 4 13 0 1 1 1 2.98190171886E-04 2.98218765238E-04 -9.58896513321E-05 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 2.98190171886221E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 2.98218765237834E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 14 300 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 13 5 + ph-grd -->hit<-- 10 8 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 10 8 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.58126853225349E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.16107467663352E-15 1.20987150232972E+00 + cg2d: Sum(rhs),rhsMax = 6.07500161287078E-15 1.20525368718137E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979591467E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006156D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833147736D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269613D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189137502D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986546397D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986546397D+04 +(PID.TID 0000.0001) global fc = 0.723648986546397D+04 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 7.23648986546397E+03 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.66533453693773E-16 9.91122157633454E-01 + cg2d: Sum(rhs),rhsMax = 2.31759056390501E-15 1.19111702562865E+00 + cg2d: Sum(rhs),rhsMax = 9.33628174770718E-15 1.20987150232974E+00 + cg2d: Sum(rhs),rhsMax = 8.45157277495900E-15 1.20525368718153E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) ecco_offset: # of nonzero constributions to mean of m_eta_month = 1.15000000000000E+02 +(PID.TID 0000.0001) ecco_offset: Global mean of m_eta_month = 7.67985979582938E-03 +(PID.TID 0000.0001) --> f_gencost = 0.308813001006216D+04 1 +(PID.TID 0000.0001) --> f_gencost = 0.106770833140117D+04 2 +(PID.TID 0000.0001) --> f_gencost = 0.308060126269673D+04 3 +(PID.TID 0000.0001) --> f_gencost = 0.502612189121841D-01 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.100000000000000D-07 1 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 3 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 4 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 5 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 6 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 7 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 8 +(PID.TID 0000.0001) --> f_gentim2d = 0.000000000000000D+00 9 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr2d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 1 +(PID.TID 0000.0001) --> f_genarr3d = 0.000000000000000D+00 2 +(PID.TID 0000.0001) --> fc = 0.723648986538897D+04 +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.723648986538897D+04 +(PID.TID 0000.0001) global fc = 0.723648986538897D+04 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 7.23648986538897E+03 +grad-res ------------------------------- + grad-res 0 5 10 8 1 1 1 1 7.23648986542E+03 7.23648986546E+03 7.23648986539E+03 + grad-res 0 5 5 14 0 1 1 1 3.75009053569E-04 3.75011950382E-04 -7.72464950316E-06 +(PID.TID 0000.0001) ADM ref_cost_function = 7.23648986541647E+03 +(PID.TID 0000.0001) ADM adjoint_gradient = 3.75009053568532E-04 +(PID.TID 0000.0001) ADM finite-diff_grad = 3.75011950382032E-04 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 6 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 1 7.2364898654165E+03 7.2364898654449E+03 7.2364898654080E+03 +(PID.TID 0000.0001) grdchk output (g): 1 1.8452738004271E-04 1.8451492842641E-04 -6.7482974997146E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 7 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 2 7.2364898654165E+03 7.2364898654444E+03 7.2364898654086E+03 +(PID.TID 0000.0001) grdchk output (g): 2 1.7885668057716E-04 1.7884491159817E-04 -6.5805500879312E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 8 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 3 7.2364898654165E+03 7.2364898654497E+03 7.2364898654033E+03 +(PID.TID 0000.0001) grdchk output (g): 3 2.3215307010105E-04 2.3214829224815E-04 -2.0581038318035E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 9 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 4 7.2364898654165E+03 7.2364898654563E+03 7.2364898653966E+03 +(PID.TID 0000.0001) grdchk output (g): 4 2.9821876523783E-04 2.9819017188622E-04 -9.5889651332115E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 10 8 1 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 5 7.2364898654165E+03 7.2364898654640E+03 7.2364898653890E+03 +(PID.TID 0000.0001) grdchk output (g): 5 3.7501195038203E-04 3.7500905356853E-04 -7.7246495031602E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 6.0930108224477E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 9.0487341913394630 +(PID.TID 0000.0001) System time: 0.19291999307461083 +(PID.TID 0000.0001) Wall clock time: 9.2901420593261719 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.22342100087553263 +(PID.TID 0000.0001) System time: 2.4941999698057771E-002 +(PID.TID 0000.0001) Wall clock time: 0.25480008125305176 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 5.1563713848590851 +(PID.TID 0000.0001) System time: 1.2196015566587448E-002 +(PID.TID 0000.0001) Wall clock time: 5.1881899833679199 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.8467805385589600E-002 +(PID.TID 0000.0001) System time: 7.2190165519714355E-003 +(PID.TID 0000.0001) Wall clock time: 7.1672439575195312E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "EXF_GETFORCING [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 4.1312873363494873E-002 +(PID.TID 0000.0001) System time: 1.8890090286731720E-003 +(PID.TID 0000.0001) Wall clock time: 4.8867464065551758E-002 +(PID.TID 0000.0001) No. starts: 56 +(PID.TID 0000.0001) No. stops: 56 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 3.0505657196044922E-004 +(PID.TID 0000.0001) System time: 1.0997056961059570E-005 +(PID.TID 0000.0001) Wall clock time: 3.1971931457519531E-004 +(PID.TID 0000.0001) No. starts: 56 +(PID.TID 0000.0001) No. stops: 56 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.4430522918701172E-002 +(PID.TID 0000.0001) System time: 5.6013464927673340E-005 +(PID.TID 0000.0001) Wall clock time: 1.4558553695678711E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.2069554328918457E-003 +(PID.TID 0000.0001) System time: 2.0004808902740479E-005 +(PID.TID 0000.0001) Wall clock time: 4.2433738708496094E-003 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.0414649844169617 +(PID.TID 0000.0001) System time: 1.0479427874088287E-003 +(PID.TID 0000.0001) Wall clock time: 2.0484924316406250 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "SEAICE_MODEL [DO_OCEANIC_PHYS]": +(PID.TID 0000.0001) User time: 0.56054162979125977 +(PID.TID 0000.0001) System time: 5.8956444263458252E-005 +(PID.TID 0000.0001) Wall clock time: 0.56276440620422363 +(PID.TID 0000.0001) No. starts: 56 +(PID.TID 0000.0001) No. stops: 56 +(PID.TID 0000.0001) Seconds in section "SEAICE_DYNSOLVER [SEAICE_MODEL]": +(PID.TID 0000.0001) User time: 0.51651671528816223 +(PID.TID 0000.0001) System time: 6.3002109527587891E-005 +(PID.TID 0000.0001) Wall clock time: 0.51857900619506836 +(PID.TID 0000.0001) No. starts: 60 +(PID.TID 0000.0001) No. stops: 60 +(PID.TID 0000.0001) Seconds in section "KPP_CALC [DO_OCEANIC_PHYS]": +(PID.TID 0000.0001) User time: 1.0322031974792480 +(PID.TID 0000.0001) System time: 1.0120011866092682E-003 +(PID.TID 0000.0001) Wall clock time: 1.0356669425964355 +(PID.TID 0000.0001) No. starts: 224 +(PID.TID 0000.0001) No. stops: 224 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.0346880555152893 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.0373802185058594 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.11854133009910583 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.11883211135864258 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.5248130559921265E-002 +(PID.TID 0000.0001) System time: 6.9399178028106689E-004 +(PID.TID 0000.0001) Wall clock time: 3.6048173904418945E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.7293781042098999E-002 +(PID.TID 0000.0001) System time: 2.6699900627136230E-004 +(PID.TID 0000.0001) Wall clock time: 1.7615556716918945E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.1002542972564697E-002 +(PID.TID 0000.0001) System time: 6.1900913715362549E-004 +(PID.TID 0000.0001) Wall clock time: 7.1851253509521484E-002 +(PID.TID 0000.0001) No. starts: 104 +(PID.TID 0000.0001) No. stops: 104 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.2308066785335541 +(PID.TID 0000.0001) System time: 3.5999715328216553E-004 +(PID.TID 0000.0001) Wall clock time: 1.2342123985290527 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.9042363166809082E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.9110908508300781E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 8.8600516319274902E-003 +(PID.TID 0000.0001) System time: 9.4699859619140625E-004 +(PID.TID 0000.0001) Wall clock time: 9.8540782928466797E-003 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.9221177101135254E-004 +(PID.TID 0000.0001) System time: 1.6003847122192383E-005 +(PID.TID 0000.0001) Wall clock time: 3.0159950256347656E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.8186937570571899E-002 +(PID.TID 0000.0001) System time: 1.4998018741607666E-005 +(PID.TID 0000.0001) Wall clock time: 3.8379192352294922E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.8314888477325439E-003 +(PID.TID 0000.0001) System time: 1.9349977374076843E-003 +(PID.TID 0000.0001) Wall clock time: 4.8251152038574219E-003 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "COST_GENCOST_ALL [ECCO SPIN-DOWN]": +(PID.TID 0000.0001) User time: 0.10691934823989868 +(PID.TID 0000.0001) System time: 9.8209902644157410E-003 +(PID.TID 0000.0001) Wall clock time: 0.11761260032653809 +(PID.TID 0000.0001) No. starts: 12 +(PID.TID 0000.0001) No. stops: 12 +(PID.TID 0000.0001) Seconds in section "CTRL_COST_DRIVER [ECCO SPIN-DOWN]": +(PID.TID 0000.0001) User time: 2.2229075431823730E-002 +(PID.TID 0000.0001) System time: 4.9860142171382904E-003 +(PID.TID 0000.0001) Wall clock time: 2.7396440505981445E-002 +(PID.TID 0000.0001) No. starts: 12 +(PID.TID 0000.0001) No. stops: 12 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 4.8208236694335938E-003 +(PID.TID 0000.0001) System time: 9.9200010299682617E-004 +(PID.TID 0000.0001) Wall clock time: 5.9189796447753906E-003 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "CTRL_PACK [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 3.4041404724121094E-003 +(PID.TID 0000.0001) System time: 1.9749999046325684E-003 +(PID.TID 0000.0001) Wall clock time: 5.4080486297607422E-003 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 5.2329003810882568 +(PID.TID 0000.0001) System time: 6.5635994076728821E-002 +(PID.TID 0000.0001) Wall clock time: 5.3189978599548340 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.34072351455688477 +(PID.TID 0000.0001) System time: 4.0326982736587524E-002 +(PID.TID 0000.0001) Wall clock time: 0.38754916191101074 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 4.8860566616058350 +(PID.TID 0000.0001) System time: 2.4894014000892639E-002 +(PID.TID 0000.0001) Wall clock time: 4.9248681068420410 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "COST_AVERAGESFIELDS [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 6.4899921417236328E-002 +(PID.TID 0000.0001) System time: 5.5000185966491699E-005 +(PID.TID 0000.0001) Wall clock time: 6.5130472183227539E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 4.6769478321075439 +(PID.TID 0000.0001) System time: 8.9930146932601929E-003 +(PID.TID 0000.0001) Wall clock time: 4.6985573768615723 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "COST_AVERAGESFIELDS [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 2.4696826934814453E-002 +(PID.TID 0000.0001) System time: 1.9730031490325928E-003 +(PID.TID 0000.0001) Wall clock time: 2.6861906051635742E-002 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "ECCO_COST_DRIVER [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.11669778823852539 +(PID.TID 0000.0001) System time: 1.3845995068550110E-002 +(PID.TID 0000.0001) Wall clock time: 0.13143420219421387 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 2.0265579223632812E-003 +(PID.TID 0000.0001) System time: 1.9997358322143555E-005 +(PID.TID 0000.0001) Wall clock time: 2.0999908447265625E-003 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 43682 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 43682 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/testreport b/verification/testreport index 706a5ef01c..342edeb937 100755 --- a/verification/testreport +++ b/verification/testreport @@ -8,8 +8,9 @@ usage() echo "where possible OPTIONS are:" echo " (-help|-h) print usage" echo " ---- type of test : ----" - echo " (-tlm) perform a Tangent Linear run" - echo " (-adm|-ad) perform an adjoint run" + echo " (-tlm) perform a Tangent-Linear run (defaut: using TAF)" + echo " (-adm|-ad) perform an Adjoint run (default: using TAF)" + echo " (-tap) use Tapenade for Adjoint or Tangent-Linear run" echo " (-oad) perform an OpenAD adjoint run" echo " (-oadsingularity|-oadsngl) STRING" echo " path to singularity container with OpenAD" @@ -212,13 +213,13 @@ testoutput_run() listChk=$DEF_CHECK_LIST # load experiment-specific list from file "tr_checklist" (if it exist) if test -r $1/$2/tr_checklist ; then listChk=`cat $1/$2/tr_checklist` ; fi - if test $KIND = 1 ; then kd='g_'; + if test $KIND = 1 -o $KIND = 4 ; then kd='g_'; # TLM use same input_ad/tr_checklist --> convert listChk=`echo $listChk | sed 's/^adm/tlm/' | sed 's/ adm/ tlm/g'` if test -r $1/$2/tr_checklist.tlm ; then listChk=`cat $1/$2/tr_checklist.tlm` ; fi - elif test $KIND = 2 ; then kd='ad'; + elif test $KIND = 2 -o $KIND = 5 ; then kd='ad'; if test -r $1/$2/tr_checklist.adm ; then listChk=`cat $1/$2/tr_checklist.adm` ; fi - elif test $KIND = 4 ; then kd='ad'; + elif test $KIND = 6 ; then kd='ad'; else kd=''; fi if [ $debug -gt 0 ]; then echo "testoutput_run: listChk='$listChk'" 1>&2 ; fi # remove 1rst var and expand the list: + => min max mean s.d @@ -394,8 +395,10 @@ genmakemodel() if test "x$MKDEPEND" != x ; then command="$command -makedepend=$MKDEPEND" fi - if test $KIND = 4 ; then + if test $KIND = 6 ; then command="$command -oad -mods=../$code_dir" + elif [ $KIND -ge 3 ] ; then + command="$command -tap -mods=../$code_dir" else command="$command -mods=../$code_dir" fi @@ -625,6 +628,9 @@ makemodel() echo " load_fields_driver, do_oceanic_phys, seaice_model are called " \ "( $nlfd , $ndop , $nsm ) time(s)" >> $CDIR"/summary.txt" fi + if test -f make.tr_log && test $KIND = 4 -o $KIND = 5 ; then + grep '^Tapenade ' make.tr_log | tail -n 1 >> $CDIR"/summary.txt" + fi if test $mk_fail != 0 ; then return $mk_fail ; fi ) } @@ -1140,8 +1146,9 @@ OADSINGULARITY= CHECK_PASS=f #- type of testing (KIND): -# KIND=0 : forward (= default) ; KIND=1 : Tangent Linear with TAF ; -# KIND=2 : Adjoint with TAF ; KIND=4 : Adjoint with OpenAD +# KIND=0 : forward (= default) ; KIND=6 : Adjoint with OpenAD +# KIND=1 : Tangent-Linear with TAF ; KIND=2 : Adjoint with TAF ; +# KIND=4 : Tang-Lin. with Tapenade ; KIND=5 : Adjoint with Tapenade ; KIND=0 # list of pTracers to check for monitor output @@ -1240,14 +1247,17 @@ for ac_option ; do -mth) MULTI_THREAD=t ;; - -tlm) if test $KIND = 0 ; then KIND=1 ; else - echo "Error: '-tlm', '-adm' and '-oad' are exclusive" ; usage + -tlm) if test $KIND = 0 -o $KIND = 3 ; then KIND=`expr $KIND + 1`; else + echo "Error: '-tlm', '-adm' and '-oad' are exclusive + no duplicate" ; usage + fi ;; + -adm | -ad) if test $KIND = 0 -o $KIND = 3 ; then KIND=`expr $KIND + 2` ; else + echo "Error: '-tlm', '-adm' and '-oad' are exclusive + no duplicate" ; usage fi ;; - -adm | -ad) if test $KIND = 0 ; then KIND=2 ; else - echo "Error: '-tlm', '-adm' and '-oad' are exclusive" ; usage + -tap) if [ $KIND -le 2 ] ; then KIND=`expr $KIND + 3` ; else + echo "Error: '-tap' and '-oad' are exclusive + no duplicate" ; usage fi ;; - -oad) if test $KIND = 0 ; then KIND=4 ; NODEPEND=t ; else - echo "Error: '-tlm', '-adm' and '-oad' are exclusive" ; usage + -oad) if test $KIND = 0 ; then KIND=6 ; NODEPEND=t ; else + echo "Error: '-tlm', '-adm' and '-oad' are exclusive + no duplicate" ; usage fi ;; -oadsingularity | --oadsingularity | -oadsngl | --oadsngl) ac_prev=OADSINGULARITY ;; -oadsingularity=* | --oadsingularity=* | -oadsngl=* | --oadsngl=*) OADSINGULARITY=$ac_optarg ;; @@ -1308,7 +1318,7 @@ if test "x$MPI" != x0 -a "x$MPI_MFILE" != x ; then fi fi -#- setting for forward or ADM testing +#- setting for forward, TLM or ADM testing if test $KIND = 1 ; then if test "x$TARG" = x ; then TARG=ftlall ; fi if test "x$TARG" = xobj ; then TARG=ftlobj ; fi @@ -1325,7 +1335,13 @@ elif test $KIND = 2 ; then inputdir=input_ad ref_outp="output_adm.txt" EXECUTABLE="mitgcmuv_ad" -elif test $KIND = 4 ; then +elif test $KIND = 4 -o $KIND = 5 ; then + if test $KIND = 4 ; then TARG=tap_tlm ; else TARG=tap_adj ; fi + code_dir=code_tap + inputdir=input_tap + ref_outp="output_${TARG}.txt" + EXECUTABLE="mitgcmuv_${TARG}" +elif test $KIND = 6 ; then TARG=adAll code_dir=code_oad inputdir=input_oad @@ -1339,6 +1355,19 @@ else fi if test "x$JOBS" != x ; then TARG="-j $JOBS $TARG" ; fi +if [ $verbose -gt 1 ]; then + echo "" + echo "--- print $0 setting:" + echo " KIND = '$KIND'" + echo " TARG = '$TARG'" + echo " code_dir = '$code_dir'" + echo " inputdir = '$inputdir'" + echo " ref_outp = '$ref_outp'" + echo " EXECUTABLE= '$EXECUTABLE'" + echo "--- printing ends." + #exit 0 +fi + xx=`echo $TESTDIRS | awk '{print $1}'` if test "x$TESTDIRS" = x ; then LIST=`scandirs results/$ref_outp` @@ -1526,18 +1555,18 @@ if test $KIND = 0 ; then done else if test $KIND = 1 ; then - #echo "TANGLIN=true" >> $SUMMARY echo "TangLin generated by TAF" >> $SUMMARY - elif test $KIND = 3 ; then - echo "TangLin generated by OpenAD" >> $SUMMARY elif test $KIND = 2 ; then - #echo "ADJOINT=true" >> $SUMMARY echo "Adjoint generated by TAF" >> $SUMMARY + elif test $KIND = 4 ; then + echo "TangLin generated by Tapenade" >> $SUMMARY + elif test $KIND = 5 ; then + echo "Adjoint generated by Tapenade" >> $SUMMARY else echo "Adjoint generated by OpenAD" >> $SUMMARY fi line_0=`printf '%s %2i' 'default ' $MATCH_CRIT` - if test $KIND = 1 -o $KIND = 3 ; then + if test $KIND = 1 -o $KIND = 4 ; then line_1="G D M C T F" line_2="e p a R o L D" else diff --git a/verification/tutorial_global_oce_biogeo/code_tap/AUTODIFF_OPTIONS.h b/verification/tutorial_global_oce_biogeo/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..7339a3b301 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,86 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o write separate tape files for each ptracer (has no effect, to be removed) +#undef AUTODIFF_PTRACERS_SPLIT_FILES + +C o allow using viscFacInAd to recompute viscosities in AD +#undef AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/tutorial_global_oce_biogeo/code_tap/COST_OPTIONS.h b/verification/tutorial_global_oce_biogeo/code_tap/COST_OPTIONS.h new file mode 100644 index 0000000000..f3c9b0072b --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/COST_OPTIONS.h @@ -0,0 +1,78 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT + +#undef ALLOW_COST_TEST +#undef ALLOW_COST_TSQUARED +#undef ALLOW_COST_TRACER +#define ALLOW_DIC_COST + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/tutorial_global_oce_biogeo/code_tap/CPP_OPTIONS.h b/verification/tutorial_global_oce_biogeo/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..687d0135cf --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/CPP_OPTIONS.h @@ -0,0 +1,139 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#undef SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C-- Vertical mixing code options: + +C o Include/exclude call to S/R CONVECT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#define ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#undef INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#undef NONLIN_FRSURF + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Use Non Self-Adjoint (NSA) conjugate-gradient solver +#undef ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +c#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +c#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/tutorial_global_oce_biogeo/code_tap/CTRL_OPTIONS.h b/verification/tutorial_global_oce_biogeo/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..dca455b82d --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,106 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Re-activate deprecated codes in pkg/ecco & pkg/ctrl (but not recommended) +C and since pkg/ctrl can be used without pkg/ecco, better to have it here +#undef ECCO_CTRL_DEPRECATED + +#define EXCLUDE_CTRL_PACK +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO + +C >>> Initial values. +#undef ALLOW_THETA0_CONTROL +#undef ALLOW_SALT0_CONTROL +#undef ALLOW_UVEL0_CONTROL +#undef ALLOW_VVEL0_CONTROL +#undef ALLOW_TR10_CONTROL +#undef ALLOW_TAUU0_CONTROL +#undef ALLOW_TAUV0_CONTROL +#undef ALLOW_SFLUX0_CONTROL +#undef ALLOW_HFLUX0_CONTROL +#undef ALLOW_SSS0_CONTROL +#undef ALLOW_SST0_CONTROL + +C >>> Surface fluxes. +#undef ALLOW_HFLUX_CONTROL +#undef ALLOW_SFLUX_CONTROL +#undef ALLOW_USTRESS_CONTROL +#undef ALLOW_VSTRESS_CONTROL +#undef ALLOW_SWFLUX_CONTROL +#undef ALLOW_LWFLUX_CONTROL + +C >>> Atmospheric state. +#undef ALLOW_ATEMP_CONTROL +#undef ALLOW_AQH_CONTROL +#undef ALLOW_UWIND_CONTROL +#undef ALLOW_VWIND_CONTROL +#undef ALLOW_PRECIP_CONTROL + +C >>> Other Control. +#define ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Backward compatibility option (before checkpoint 65p) +#undef ALLOW_KAPGM_CONTROL_OLD +#undef ALLOW_KAPREDI_CONTROL_OLD + +C >>> Generic Control. +#undef ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#define ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o Originally the first two time-reccords of control +C variable tau u and tau v were skipped. +C The CTRL_SKIP_FIRST_TWO_ATM_REC_ALL option extends this +C to the other the time variable atmospheric controls. +#undef CTRL_SKIP_FIRST_TWO_ATM_REC_ALL + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/tutorial_global_oce_biogeo/code_tap/CTRL_SIZE.h b/verification/tutorial_global_oce_biogeo/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..92270848a4 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/CTRL_SIZE.h @@ -0,0 +1,31 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +#if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL)) + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-d generic init. ctrl variables +C maxCtrlArr3D :: number of 3-d generic init. ctrl variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 4 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 4 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 4 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 4 ) + +#endif + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/tutorial_global_oce_biogeo/code_tap/GMREDI_OPTIONS.h b/verification/tutorial_global_oce_biogeo/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..98d1c2a39e --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,52 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +C Following option avoids specific recomputation in adjoint +C routines of gmredi_x/y/rtransport +C It is not needed, only for tests, and very memory-consuming +#undef GM_AUTODIFF_EXCESSIVE_STORE + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/tutorial_global_oce_biogeo/code_tap/PTRACERS_SIZE.h b/verification/tutorial_global_oce_biogeo/code_tap/PTRACERS_SIZE.h new file mode 100644 index 0000000000..1e5971d0b9 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/PTRACERS_SIZE.h @@ -0,0 +1,28 @@ +#ifdef ALLOW_PTRACERS + +CBOP +C !ROUTINE: PTRACERS_SIZE.h +C !INTERFACE: +C #include PTRACERS_SIZE.h + +C !DESCRIPTION: +C Contains passive tracer array size (number of tracers). + +C PTRACERS_num defines how many passive tracers are allocated/exist. +C and is set here (default 1) +C +C Number of tracers + INTEGER PTRACERS_num + PARAMETER(PTRACERS_num = 5 ) + +#ifdef ALLOW_AUTODIFF_TAMC + INTEGER maxpass + PARAMETER( maxpass = PTRACERS_num + 2 ) +#endif + +CEOP +#endif /* ALLOW_PTRACERS */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/tutorial_global_oce_biogeo/code_tap/SIZE.h b/verification/tutorial_global_oce_biogeo/code_tap/SIZE.h new file mode 100644 index 0000000000..4dbc2098b6 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/SIZE.h @@ -0,0 +1,67 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 64, + & sNy = 32, + & OLx = 4, + & OLy = 4, + & nSx = 2, + & nSy = 2, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) diff --git a/verification/tutorial_global_oce_biogeo/code_tap/SIZE.h_mpi b/verification/tutorial_global_oce_biogeo/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..be8c7f58a3 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/SIZE.h_mpi @@ -0,0 +1,67 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 64, + & sNy = 32, + & OLx = 4, + & OLy = 4, + & nSx = 1, + & nSy = 2, + & nPx = 2, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 15) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) diff --git a/verification/tutorial_global_oce_biogeo/code_tap/cost_tracer.F b/verification/tutorial_global_oce_biogeo/code_tap/cost_tracer.F new file mode 100644 index 0000000000..fbb7f68d4a --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/cost_tracer.F @@ -0,0 +1,69 @@ +#include "COST_OPTIONS.h" + + subroutine cost_tracer( bi, bj, myThid ) +C /==========================================================\ +C | subroutine cost_tracer | +C | o this routine computes the cost function for the tiles | +C | of this processor | +C |==========================================================| +C | | +C | Notes | +C | ===== | +C \==========================================================/ + IMPLICIT NONE + +C == Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "DYNVARS.h" +#include "GRID.h" +#ifdef ALLOW_COST_TRACER +# ifdef ALLOW_PTRACERS +# include "PTRACERS_SIZE.h" +# include "PTRACERS_PARAMS.h" +# include "PTRACERS_FIELDS.h" +# endif +#endif + +#include "cost.h" + +C == Routine arguments == +C myThid - Thread number for this instance of the routine. + integer bi, bj + integer myThid + +#ifdef ALLOW_COST_TRACER +C == Local variables + _RL thetaRef + _RL locfc + + integer i, j, k + integer ig, jg +ce some reference temperature + thetaRef = 24.0D0 + + locfc = 0. _d 0 + + k=1 + DO j=1,sNy + DO i=1,sNx +#ifdef ALLOW_PTRACERS + locfc = locfc + maskC(i,j,k,bi,bj)* + & ptracer(i,j,k,bi,bj,6)* + & rA(i,j,bi,bj)*drF(k) +#endif + ENDDO + ENDDO + + objf_tracer(bi,bj) = objf_tracer(bi,bj) + locfc + +#ifdef ALLOW_PTRACERS + print *, 'COST TRACER nach', objf_tracer(bi,bj), + & ptracer(83,33,1,1,1,1), ptracer(83,33,2,1,1,1) +#endif + +#endif /* ALLOW_COST_TRACER */ + + RETURN + END diff --git a/verification/tutorial_global_oce_biogeo/code_tap/packages.conf b/verification/tutorial_global_oce_biogeo/code_tap/packages.conf new file mode 100644 index 0000000000..f79739f155 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/code_tap/packages.conf @@ -0,0 +1,12 @@ +#-- list of packages (or group of packages) to compile for this experiment: +gfd +monitor +cd_code +gmredi +ptracers +gchem +dic +timeave + +tapenade +adjoint diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data b/verification/tutorial_global_oce_biogeo/input_tap/data new file mode 100644 index 0000000000..fb0b275cd8 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data @@ -0,0 +1,89 @@ +# ==================== +# | Model parameters | +# ==================== +# +# Continuous equation parameters + &PARM01 + tRef=15*20., + sRef=15*35., + viscA4=0., + viscAh=2.E5, + diffKhT=0.E3, + diffKhS=0.E3, + viscAz=1.E-3, +#diffKzT=3.E-5, +#diffKzS=3.E-5, + diffKrBL79surf= 3.E-5, + diffKrBL79deep= 13.E-5, + diffKrBL79Ho = -2000., + diffKrBL79scl = 150., + gravity=9.81, + rhoConst=1035., + rhoConstFresh=1000., + implicitFreeSurface=.TRUE., + eosType='JMD95Z', + implicitDiffusion=.TRUE., + implicitViscosity=.TRUE., + ivdc_kappa=100., + tempAdvScheme = 2, + saltAdvScheme = 2, + allowFreezing=.TRUE., +# turn on looped cells + hFacMin=.1, + hFacMindz=50., + useCDscheme=.TRUE., + & + +# Elliptic solver parameters + &PARM02 + cg2dMaxIters=1000, + cg2dTargetResidual=1.E-13, + & + +# Time stepping parameters + &PARM03 + nIter0=5184000, + nTimeSteps = 4, + deltaTmom = 900., + tauCD = 321428., + deltaTtracer= 43200., + deltaTClock = 43200., + abEps = 0.1, + pChkptFreq = 216000., + chkptFreq = 216000., + dumpFreq = 216000., + taveFreq = 216000., + monitorFreq= 86400., + tauThetaClimRelax = 5184000., + tauSaltClimRelax = 7776000., + periodicExternalForcing=.TRUE., + externForcingPeriod=2592000., + externForcingCycle=31104000., + monitorFreq= 1., + adjMonitorFreq=1., + & + +# Gridding parameters + &PARM04 + usingSphericalPolarGrid=.TRUE., + delZ= 50., 70., 100., 140., 190., + 240., 290., 340., 390., 440., + 490., 540., 590., 640., 690., + ygOrigin=-90., + delX=128*2.8125, + delY=64*2.8125, + & + +# Input datasets + &PARM05 + bathyFile= 'bathy.bin', + hydrogThetaFile='lev_clim_temp.bin', + hydrogSaltFile= 'lev_clim_salt.bin', + zonalWindFile= 'tren_taux.bin', + meridWindFile= 'tren_tauy.bin', + thetaClimFile= 'lev_monthly_temp.bin', + saltClimFile= 'lev_monthly_salt.bin', + surfQnetFile= 'shi_qnet.bin', + EmPmRFile= 'shi_empmr_year.bin', + the_run_name= 'Tutorial Biogeo', + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.autodiff b/verification/tutorial_global_oce_biogeo/input_tap/data.autodiff new file mode 100644 index 0000000000..4585444d65 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.autodiff @@ -0,0 +1,8 @@ +# ========================= +# pkg AUTODIFF parameters : +# ========================= +# inAdExact :: get an exact adjoint (no approximation) (def=.True.) +# + &AUTODIFF_PARM01 +# inAdExact = .FALSE., + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.cost b/verification/tutorial_global_oce_biogeo/input_tap/data.cost new file mode 100644 index 0000000000..603933a51a --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.cost @@ -0,0 +1,11 @@ +# +# +# ****************** +# ECCO cost function +# ****************** + &COST_NML +# + mult_tracer = 1., + mult_test = 1., + mult_atl = 1., + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.ctrl b/verification/tutorial_global_oce_biogeo/input_tap/data.ctrl new file mode 100644 index 0000000000..8b5e54ef64 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.ctrl @@ -0,0 +1,47 @@ +# ********************* +# ECCO controlvariables +# ********************* + &CTRL_NML + & +# +# ********************* +# names for ctrl_pack/unpack +# ********************* + &CTRL_PACKNAMES + ctrlname = 'ecco_ctrl', + costname = 'ecco_cost', + scalname = 'ecco_scal', + maskname = 'ecco_mask', + metaname = 'ecco_meta', + & +# +# ********************* +# names for CTRL_GENARR, CTRL_GENTIM +# ********************* + &CTRL_NML_GENARR + xx_genarr3d_file(1) = 'xx_theta', + xx_genarr3d_weight(1) = 'ones_64b.bin', + xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +# + xx_genarr3d_file(2) = 'xx_salt', + xx_genarr3d_weight(2) = 'ones_64b.bin', +# + xx_genarr3d_file(3) = 'xx_diffkr', + xx_genarr3d_weight(3) = 'ones_64b.bin', +# + xx_genarr3d_file(4) = 'xx_ptr1', + xx_genarr3d_weight(4) = 'ones_64b.bin', +# + xx_gentim2d_file(1) = 'xx_qnet', + xx_gentim2d_weight(1) = 'ones_64b.bin', +# + xx_gentim2d_file(2) = 'xx_empmr', + xx_gentim2d_weight(2) = 'ones_64b.bin', +# + xx_gentim2d_file(3) = 'xx_fu', + xx_gentim2d_weight(3) = 'ones_64b.bin', +# + xx_gentim2d_file(4) = 'xx_fv', + xx_gentim2d_weight(4) = 'ones_64b.bin', +# + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.dic b/verification/tutorial_global_oce_biogeo/input_tap/data.dic new file mode 100644 index 0000000000..b614ab2028 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.dic @@ -0,0 +1,15 @@ +# DIC parameters + &ABIOTIC_PARMS + & + + &BIOTIC_PARMS + alphaUniform = 0.97e-10, + rainRatioUniform = 5.e-2, + KRemin = 0.95, + & + + &DIC_FORCING + DIC_iceFile='fice.bin', + DIC_windFile='tren_speed.bin', + DIC_silicaFile='sillev1.bin', + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.gchem b/verification/tutorial_global_oce_biogeo/input_tap/data.gchem new file mode 100644 index 0000000000..5c7206d898 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.gchem @@ -0,0 +1,4 @@ + &GCHEM_PARM01 + useDIC=.TRUE., + nsubtime=1, + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.gmredi b/verification/tutorial_global_oce_biogeo/input_tap/data.gmredi new file mode 100644 index 0000000000..819768fe61 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.gmredi @@ -0,0 +1,34 @@ +# GM+Redi package parameters: +# GM_Small_Number :: epsilon used in computing the slope +# GM_slopeSqCutoff :: slope^2 cut-off value + +#-from MOM : +# GM_background_K: G & Mc.W diffusion coefficient +# GM_maxSlope : max slope of isopycnals +# GM_Scrit : transition for scaling diffusion coefficient +# GM_Sd : half width scaling for diffusion coefficient +# GM_taper_scheme: slope clipping or one of the tapering schemes +# GM_Kmin_horiz : horizontal diffusion minimum value + +#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +# GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +# GM_AdvForm : turn on GM Advective form (default=Skew flux form) + + &GM_PARM01 + GM_Small_Number = 1.D-20, + GM_slopeSqCutoff = 1.D+08, +# GM_AdvForm = .TRUE., +# GM_isopycK = 1.D+3, + GM_background_K = 1.D+3, + GM_maxSlope = 1.D-2, + GM_taper_scheme = 'dm95', + GM_Kmin_horiz = 50., + GM_Scrit = 4.D-3, + GM_Sd = 1.D-3, +# +### GM_Visbeck_alpha = 1.5D-2, +### GM_Visbeck_alpha = 0.D0, +### GM_Visbeck_length = 2.D+5, +### GM_Visbeck_depth = 1.D+3, +### GM_Visbeck_maxval_K= 2.5D+3, + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.grdchk b/verification/tutorial_global_oce_biogeo/input_tap/data.grdchk new file mode 100644 index 0000000000..d97194f10c --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.grdchk @@ -0,0 +1,15 @@ + +# ******************* +# ECCO gradient check +# ******************* + &GRDCHK_NML + grdchk_eps = 1.d-5, + nbeg = 1, + nstep = 1, + nend = 4, +# to test xx_tr1 set 204 + grdchkvarindex = 201, + iGloPos =10, + jGloPos =10, + kGloPos =1, + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.optim b/verification/tutorial_global_oce_biogeo/input_tap/data.optim new file mode 100644 index 0000000000..332922f3e1 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.optim @@ -0,0 +1,7 @@ +# +# ******************************** +# Off-line optimization parameters +# ******************************** + &OPTIM + optimcycle=0, + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.pkg b/verification/tutorial_global_oce_biogeo/input_tap/data.pkg new file mode 100644 index 0000000000..7d2dc5c709 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.pkg @@ -0,0 +1,7 @@ +# Packages + &PACKAGES + useGMRedi=.TRUE., + usePTRACERS=.TRUE., + useGCHEM=.TRUE., + useGrdchk = .TRUE., + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/data.ptracers b/verification/tutorial_global_oce_biogeo/input_tap/data.ptracers new file mode 100644 index 0000000000..287a43907c --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/data.ptracers @@ -0,0 +1,76 @@ + &PTRACERS_PARM01 + PTRACERS_numInUse=5, + PTRACERS_Iter0= 0, +# tracer 1 - dic + PTRACERS_names(1)='DIC', + PTRACERS_long_names(1)='Dissolved Inorganic Carbon (DIC) [mol C/m^3]', + PTRACERS_units(1)='mol/m^3', + PTRACERS_advScheme(1)=77, + PTRACERS_diffKh(1)=0.E3, + PTRACERS_diffKr(1)=3.E-5, + PTRACERS_useGMRedi(1)=.TRUE., + PTRACERS_initialFile(1)=' ', +#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) + PTRACERS_ref(1:15,1) = 2.0282, 2.0609, 2.1206, 2.1581, + 2.1904, 2.2188, 2.2474, 2.2699, + 2.2792, 2.2814, 2.2815, 2.2806, + 2.2800, 2.2760, 2.2758, + PTRACERS_EvPrRn(1)= 0., +# tracer 2 - alk + PTRACERS_names(2)='Alk', + PTRACERS_long_names(2)='Alkalinity (Alk) [mol eq/m^3]', + PTRACERS_units(2)='mol/m^3', + PTRACERS_advScheme(2)=77, + PTRACERS_diffKh(2)=0.E3, + PTRACERS_diffKr(2)=3.E-5, + PTRACERS_useGMRedi(2)=.TRUE., + PTRACERS_initialFile(2)=' ', +#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) + PTRACERS_ref(1:15,2) = 2.3086, 2.3149, 2.3164, 2.3112, + 2.3098, 2.3160, 2.3313, 2.3517, + 2.3667, 2.3761, 2.3832, 2.3862, + 2.3881, 2.3863, 2.3867, + PTRACERS_EvPrRn(2)= 0., +# tracer 3 - po4 + PTRACERS_names(3)='PO4', + PTRACERS_long_names(3)='Phosphate (PO4) [mol P/m^3]', + PTRACERS_units(3)='mol/m^3', + PTRACERS_advScheme(3)=77, + PTRACERS_diffKh(3)=0.E3, + PTRACERS_diffKr(3)=3.E-5, + PTRACERS_useGMRedi(3)=.TRUE., + PTRACERS_initialFile(3)=' ', +#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) + PTRACERS_ref(1:15,3) = 0.5438E-3, 0.7821E-3, 1.1335E-3, 1.4913E-3, + 1.8606E-3, 2.1986E-3, 2.3966E-3, 2.4187E-3, + 2.4046E-3, 2.3291E-3, 2.2922E-3, 2.2886E-3, + 2.2608E-3, 2.2356E-3, 2.2296E-3, +#PTRACERS_EvPrRn(3)= 0., +# tracer 4 - dop + PTRACERS_names(4)='DOP', + PTRACERS_long_names(4)='Dissolved Organic Phosphorus (DOP) [mol P/m^3]', + PTRACERS_units(4)='mol/m^3', + PTRACERS_advScheme(4)=77, + PTRACERS_diffKh(4)=0.E3, + PTRACERS_diffKr(4)=3.E-5, + PTRACERS_useGMRedi(4)=.TRUE., + PTRACERS_initialFile(4)=' ', +#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) + PTRACERS_ref(1:15,4) = 15*0., +#PTRACERS_EvPrRn(4)= 0., +# tracer 5 - o2 + PTRACERS_names(5)='O2', + PTRACERS_long_names(5)='Dissolved Oxygen (O2) [mol O/m^3]', + PTRACERS_units(5)='mol/m^3', + PTRACERS_advScheme(5)=77, + PTRACERS_diffKh(5)=0.E3, + PTRACERS_diffKr(5)=3.E-5, + PTRACERS_useGMRedi(5)=.TRUE., + PTRACERS_initialFile(5)=' ', +#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) + PTRACERS_ref(1:15,5) = 0.2457, 0.2336, 0.1975, 0.1729, + 0.1591, 0.1503, 0.1424, 0.1445, + 0.1549, 0.1661, 0.1774, 0.1863, + 0.1925, 0.2021, 0.2051, +#PTRACERS_EvPrRn(5)= 0., + & diff --git a/verification/tutorial_global_oce_biogeo/input_tap/eedata b/verification/tutorial_global_oce_biogeo/input_tap/eedata new file mode 100644 index 0000000000..06dcf3c23d --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/eedata @@ -0,0 +1,11 @@ +# Example "eedata" file +# Lines beginning "#" are comments +# nTx - No. threads per process in X +# nTy - No. threads per process in Y + &EEPARMS + nTx=1, + nTy=1, + & +# Note: Some systems use & as the +# namelist terminator. Other systems +# use a / character (as shown here). diff --git a/verification/tutorial_global_oce_biogeo/input_tap/prepare_run b/verification/tutorial_global_oce_biogeo/input_tap/prepare_run new file mode 100755 index 0000000000..5ec55efd65 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/input_tap/prepare_run @@ -0,0 +1,51 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take *.bin files +#- from this dir: +fromDir="../input" + +fileList=`( cd $fromDir ; echo *.bin pickup* )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And take file 'ones_64b.bin' +#- from this dir: +fromDir="../../isomip/input_ad" + +fileList='ones_64b.bin' + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/tutorial_global_oce_biogeo/results/output_tap_adj.txt b/verification/tutorial_global_oce_biogeo/results/output_tap_adj.txt new file mode 100644 index 0000000000..fbbbad4f5d --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/results/output_tap_adj.txt @@ -0,0 +1,4672 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 05:56:29 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 64 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 32 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 4 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 4 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 128 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 64 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef=15*20., +(PID.TID 0000.0001) > sRef=15*35., +(PID.TID 0000.0001) > viscA4=0., +(PID.TID 0000.0001) > viscAh=2.E5, +(PID.TID 0000.0001) > diffKhT=0.E3, +(PID.TID 0000.0001) > diffKhS=0.E3, +(PID.TID 0000.0001) > viscAz=1.E-3, +(PID.TID 0000.0001) >#diffKzT=3.E-5, +(PID.TID 0000.0001) >#diffKzS=3.E-5, +(PID.TID 0000.0001) > diffKrBL79surf= 3.E-5, +(PID.TID 0000.0001) > diffKrBL79deep= 13.E-5, +(PID.TID 0000.0001) > diffKrBL79Ho = -2000., +(PID.TID 0000.0001) > diffKrBL79scl = 150., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > rhoConst=1035., +(PID.TID 0000.0001) > rhoConstFresh=1000., +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > implicitViscosity=.TRUE., +(PID.TID 0000.0001) > ivdc_kappa=100., +(PID.TID 0000.0001) > tempAdvScheme = 2, +(PID.TID 0000.0001) > saltAdvScheme = 2, +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) ># turn on looped cells +(PID.TID 0000.0001) > hFacMin=.1, +(PID.TID 0000.0001) > hFacMindz=50., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0=5184000, +(PID.TID 0000.0001) > nTimeSteps = 4, +(PID.TID 0000.0001) > deltaTmom = 900., +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > deltaTtracer= 43200., +(PID.TID 0000.0001) > deltaTClock = 43200., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq = 216000., +(PID.TID 0000.0001) > chkptFreq = 216000., +(PID.TID 0000.0001) > dumpFreq = 216000., +(PID.TID 0000.0001) > taveFreq = 216000., +(PID.TID 0000.0001) > monitorFreq= 86400., +(PID.TID 0000.0001) > tauThetaClimRelax = 5184000., +(PID.TID 0000.0001) > tauSaltClimRelax = 7776000., +(PID.TID 0000.0001) > periodicExternalForcing=.TRUE., +(PID.TID 0000.0001) > externForcingPeriod=2592000., +(PID.TID 0000.0001) > externForcingCycle=31104000., +(PID.TID 0000.0001) > monitorFreq= 1., +(PID.TID 0000.0001) > adjMonitorFreq=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delZ= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > ygOrigin=-90., +(PID.TID 0000.0001) > delX=128*2.8125, +(PID.TID 0000.0001) > delY=64*2.8125, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile= 'bathy.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_clim_temp.bin', +(PID.TID 0000.0001) > hydrogSaltFile= 'lev_clim_salt.bin', +(PID.TID 0000.0001) > zonalWindFile= 'tren_taux.bin', +(PID.TID 0000.0001) > meridWindFile= 'tren_tauy.bin', +(PID.TID 0000.0001) > thetaClimFile= 'lev_monthly_temp.bin', +(PID.TID 0000.0001) > saltClimFile= 'lev_monthly_salt.bin', +(PID.TID 0000.0001) > surfQnetFile= 'shi_qnet.bin', +(PID.TID 0000.0001) > EmPmRFile= 'shi_empmr_year.bin', +(PID.TID 0000.0001) > the_run_name= 'Tutorial Biogeo', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi=.TRUE., +(PID.TID 0000.0001) > usePTRACERS=.TRUE., +(PID.TID 0000.0001) > useGCHEM=.TRUE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/ptracers compiled and used ( usePTRACERS = T ) + pkg/gchem compiled and used ( useGCHEM = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/timeave compiled and used ( taveFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) ># GM_AdvForm = .TRUE., +(PID.TID 0000.0001) ># GM_isopycK = 1.D+3, +(PID.TID 0000.0001) > GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >### GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) >### GM_Visbeck_alpha = 0.D0, +(PID.TID 0000.0001) >### GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) >### GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) >### GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) PTRACERS_READPARMS: opening data.ptracers +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ptracers +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ptracers" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &PTRACERS_PARM01 +(PID.TID 0000.0001) > PTRACERS_numInUse=5, +(PID.TID 0000.0001) > PTRACERS_Iter0= 0, +(PID.TID 0000.0001) ># tracer 1 - dic +(PID.TID 0000.0001) > PTRACERS_names(1)='DIC', +(PID.TID 0000.0001) > PTRACERS_long_names(1)='Dissolved Inorganic Carbon (DIC) [mol C/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(1)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(1)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(1)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(1)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(1)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(1)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,1) = 2.0282, 2.0609, 2.1206, 2.1581, +(PID.TID 0000.0001) > 2.1904, 2.2188, 2.2474, 2.2699, +(PID.TID 0000.0001) > 2.2792, 2.2814, 2.2815, 2.2806, +(PID.TID 0000.0001) > 2.2800, 2.2760, 2.2758, +(PID.TID 0000.0001) > PTRACERS_EvPrRn(1)= 0., +(PID.TID 0000.0001) ># tracer 2 - alk +(PID.TID 0000.0001) > PTRACERS_names(2)='Alk', +(PID.TID 0000.0001) > PTRACERS_long_names(2)='Alkalinity (Alk) [mol eq/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(2)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(2)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(2)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(2)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(2)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(2)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,2) = 2.3086, 2.3149, 2.3164, 2.3112, +(PID.TID 0000.0001) > 2.3098, 2.3160, 2.3313, 2.3517, +(PID.TID 0000.0001) > 2.3667, 2.3761, 2.3832, 2.3862, +(PID.TID 0000.0001) > 2.3881, 2.3863, 2.3867, +(PID.TID 0000.0001) > PTRACERS_EvPrRn(2)= 0., +(PID.TID 0000.0001) ># tracer 3 - po4 +(PID.TID 0000.0001) > PTRACERS_names(3)='PO4', +(PID.TID 0000.0001) > PTRACERS_long_names(3)='Phosphate (PO4) [mol P/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(3)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(3)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(3)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(3)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(3)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(3)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,3) = 0.5438E-3, 0.7821E-3, 1.1335E-3, 1.4913E-3, +(PID.TID 0000.0001) > 1.8606E-3, 2.1986E-3, 2.3966E-3, 2.4187E-3, +(PID.TID 0000.0001) > 2.4046E-3, 2.3291E-3, 2.2922E-3, 2.2886E-3, +(PID.TID 0000.0001) > 2.2608E-3, 2.2356E-3, 2.2296E-3, +(PID.TID 0000.0001) >#PTRACERS_EvPrRn(3)= 0., +(PID.TID 0000.0001) ># tracer 4 - dop +(PID.TID 0000.0001) > PTRACERS_names(4)='DOP', +(PID.TID 0000.0001) > PTRACERS_long_names(4)='Dissolved Organic Phosphorus (DOP) [mol P/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(4)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(4)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(4)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(4)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(4)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(4)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,4) = 15*0., +(PID.TID 0000.0001) >#PTRACERS_EvPrRn(4)= 0., +(PID.TID 0000.0001) ># tracer 5 - o2 +(PID.TID 0000.0001) > PTRACERS_names(5)='O2', +(PID.TID 0000.0001) > PTRACERS_long_names(5)='Dissolved Oxygen (O2) [mol O/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(5)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(5)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(5)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(5)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(5)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(5)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,5) = 0.2457, 0.2336, 0.1975, 0.1729, +(PID.TID 0000.0001) > 0.1591, 0.1503, 0.1424, 0.1445, +(PID.TID 0000.0001) > 0.1549, 0.1661, 0.1774, 0.1863, +(PID.TID 0000.0001) > 0.1925, 0.2021, 0.2051, +(PID.TID 0000.0001) >#PTRACERS_EvPrRn(5)= 0., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PTRACERS_READPARMS: finished reading data.ptracers +(PID.TID 0000.0001) GCHEM_READPARMS: opening data.gchem +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gchem +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gchem" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &GCHEM_PARM01 +(PID.TID 0000.0001) > useDIC=.TRUE., +(PID.TID 0000.0001) > nsubtime=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GCHEM_READPARMS: finished reading data.gchem +(PID.TID 0000.0001) DIC_READPARMS: opening data.dic +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.dic +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.dic" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># DIC parameters +(PID.TID 0000.0001) > &ABIOTIC_PARMS +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &BIOTIC_PARMS +(PID.TID 0000.0001) > alphaUniform = 0.97e-10, +(PID.TID 0000.0001) > rainRatioUniform = 5.e-2, +(PID.TID 0000.0001) > KRemin = 0.95, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &DIC_FORCING +(PID.TID 0000.0001) > DIC_iceFile='fice.bin', +(PID.TID 0000.0001) > DIC_windFile='tren_speed.bin', +(PID.TID 0000.0001) > DIC_silicaFile='sillev1.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) DIC_READPARMS: finished reading data.dic +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // DIC package parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) Using Millero (1995)/Mehrbach K1 and K2 coefficients +(PID.TID 0000.0001) Using Dickson and Riley (1979) KF coefficient +(PID.TID 0000.0001) Using Uppstrom (1974) BT estimation from salinity +(PID.TID 0000.0001) Using Riley (1965) FT estimation from salinity +(PID.TID 0000.0001) permil = /* Ref. density to convert mol/m3 to mol/kg */ +(PID.TID 0000.0001) 9.760858955588092E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Pa2Atm = /* Atmosph. pressure conversion coeff (to Atm) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zca = /* Scale depth for CaCO3 remineralization (m) */ +(PID.TID 0000.0001) 3.500000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCalciteSaturation = /* Flag for omegaC calculation on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DOPfraction = /* Fraction of new production going to DOP */ +(PID.TID 0000.0001) 6.700000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KDOPRemin = /* DOP remineralization rate (1/s) */ +(PID.TID 0000.0001) 6.430041152263375E-08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KRemin = /* Remin power law coeff. */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zcrit = /* Minimum depth for biological activity (m) */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) O2crit = /* Critical oxygen level (mol/m3) */ +(PID.TID 0000.0001) 4.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_OP = /* Stochiometric ratio R_OP */ +(PID.TID 0000.0001) -1.700000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_CP = /* Stochiometric ratio R_CP */ +(PID.TID 0000.0001) 1.170000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_NP = /* Stochiometric ratio R_NP */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_FeP = /* Stochiometric ratio R_FeP */ +(PID.TID 0000.0001) 4.680000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) parfrac = /* Fraction of Qsw that is PAR */ +(PID.TID 0000.0001) 4.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) k0 = /* Light attentuation coefficient, water (1/m) */ +(PID.TID 0000.0001) 2.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kchl = /* Light attentuation coefficient, chlorophyll (m2/mg) */ +(PID.TID 0000.0001) 2.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) lit0 = /* Half saturation light constant (W/m2) */ +(PID.TID 0000.0001) 3.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPO4 = /* Half saturation phosphate constant (mol/m3) */ +(PID.TID 0000.0001) 5.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KFE = /* Half saturation fe constant (mol/m3) */ +(PID.TID 0000.0001) 1.200000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) alpfe = /* Solubility of aeolian fe */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fesedflux_pcm = /* Sediment Fe flux = fesedflux_pcm*pflux+FeIntSec */ +(PID.TID 0000.0001) 7.208000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) FeIntSec = /* Sediment Fe flux = fesedflux_pcm * pflux + FeIntSec */ +(PID.TID 0000.0001) 5.787037037037037E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freefemax = /* Max solubility of free iron (mol/m3) */ +(PID.TID 0000.0001) 3.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KScav = /* Iron scavenging rate */ +(PID.TID 0000.0001) 6.108539094650206E-09 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ligand_stab = /* Ligand-free iron stability constant (m3/mol) */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ligand_tot = /* Total free ligand (mol/m3) */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) alphaUniform = /* Timescale for biological activity */ +(PID.TID 0000.0001) 9.700000000000000E-11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rainRatioUniform= /* Inorganic/organic carbon rain ratio */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) QSW_underice = /* Flag for Qsw under Sea-Ice (i.e. SI fract included) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_windFile = /* File name of wind speeds */ +(PID.TID 0000.0001) 'tren_speed.bin' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_atmospFile= /* File name of atmospheric pressure*/ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_silicaFile= /* File name of surface silica */ +(PID.TID 0000.0001) 'sillev1.bin' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_iceFile = /* File name of seaice fraction */ +(PID.TID 0000.0001) 'fice.bin' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_parFile= /* File name of photosynthetically available radiation */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_chlaFile= /* File name of chlorophyll climatology */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_ironFile = /* File name of aeolian iron flux */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_forcingPeriod = /* Periodic forcing parameter specific for DIC (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_forcingCycle = /* Periodic forcing parameter specific for DIC (s) */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int1 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int2 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int3 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int4 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_pCO2 = /* Atmospheric pCO2 to be read in data.dic */ +(PID.TID 0000.0001) 2.780000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GCHEM_TR_REGISTER: Start registering GCHEM tracers +(PID.TID 0000.0001) DIC_TR_REGISTER: number of DIC tracers= 5 +(PID.TID 0000.0001) DIC_TR_REGISTER: starting at pTrc num= 1 +(PID.TID 0000.0001) DIC_TR_REGISTER: Numb. Trac & SepForc Trac: 5 5 +(PID.TID 0000.0001) GCHEM_TR_REGISTER: Numb. Trac & SepForc Trac: 5 5 +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > ctrlname = 'ecco_ctrl', +(PID.TID 0000.0001) > costname = 'ecco_cost', +(PID.TID 0000.0001) > scalname = 'ecco_scal', +(PID.TID 0000.0001) > maskname = 'ecco_mask', +(PID.TID 0000.0001) > metaname = 'ecco_meta', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(3) = 'xx_diffkr', +(PID.TID 0000.0001) > xx_genarr3d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(4) = 'xx_ptr1', +(PID.TID 0000.0001) > xx_genarr3d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > mult_tracer = 1., +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > mult_atl = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-5, +(PID.TID 0000.0001) > nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) ># to test xx_tr1 set 204 +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > iGloPos =10, +(PID.TID 0000.0001) > jGloPos =10, +(PID.TID 0000.0001) > kGloPos =1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-04 +(PID.TID 0000.0001) First location: 1 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.5859375000000E+02 +(PID.TID 0000.0001) %MON XC_min = 1.4062500000000E+00 +(PID.TID 0000.0001) %MON XC_mean = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.0391987692599E+02 +(PID.TID 0000.0001) %MON XG_max = 3.5718750000000E+02 +(PID.TID 0000.0001) %MON XG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON XG_mean = 1.7859375000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.0391987692599E+02 +(PID.TID 0000.0001) %MON DXC_max = 3.1259246843155E+05 +(PID.TID 0000.0001) %MON DXC_min = 7.6737143816223E+03 +(PID.TID 0000.0001) %MON DXC_mean = 1.9908248704234E+05 +(PID.TID 0000.0001) %MON DXC_sd = 9.6190602240067E+04 +(PID.TID 0000.0001) %MON DXF_max = 3.1259246843155E+05 +(PID.TID 0000.0001) %MON DXF_min = 7.6737143816223E+03 +(PID.TID 0000.0001) %MON DXF_mean = 1.9908248704234E+05 +(PID.TID 0000.0001) %MON DXF_sd = 9.6190602240067E+04 +(PID.TID 0000.0001) %MON DXG_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DXG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON DXG_mean = 1.9902252711933E+05 +(PID.TID 0000.0001) %MON DXG_sd = 9.6314600686012E+04 +(PID.TID 0000.0001) %MON DXV_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DXV_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON DXV_mean = 1.9902252711933E+05 +(PID.TID 0000.0001) %MON DXV_sd = 9.6314600686012E+04 +(PID.TID 0000.0001) %MON YC_max = 8.8593750000000E+01 +(PID.TID 0000.0001) %MON YC_min = -8.8593750000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON YC_sd = 5.1955180880375E+01 +(PID.TID 0000.0001) %MON YG_max = 8.7187500000000E+01 +(PID.TID 0000.0001) %MON YG_min = -9.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -1.4062500000000E+00 +(PID.TID 0000.0001) %MON YG_sd = 5.1955180880375E+01 +(PID.TID 0000.0001) %MON DYC_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYC_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYC_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYC_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYF_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYF_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYF_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYF_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYG_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYG_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYG_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYG_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYU_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYU_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYU_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYU_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON RA_max = 9.7733676797555E+10 +(PID.TID 0000.0001) %MON RA_min = 2.3992270990190E+09 +(PID.TID 0000.0001) %MON RA_mean = 6.2244185031956E+10 +(PID.TID 0000.0001) %MON RA_sd = 3.0074496923945E+10 +(PID.TID 0000.0001) %MON RAW_max = 9.7733676797555E+10 +(PID.TID 0000.0001) %MON RAW_min = 2.3992270990190E+09 +(PID.TID 0000.0001) %MON RAW_mean = 6.2244185031956E+10 +(PID.TID 0000.0001) %MON RAW_sd = 3.0074496923945E+10 +(PID.TID 0000.0001) %MON RAS_max = 9.7763121221868E+10 +(PID.TID 0000.0001) %MON RAS_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON RAS_mean = 6.2225438247155E+10 +(PID.TID 0000.0001) %MON RAS_sd = 3.0113265689232E+10 +(PID.TID 0000.0001) %MON RAZ_max = 9.7763121221868E+10 +(PID.TID 0000.0001) %MON RAZ_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON RAZ_mean = 6.2225438247155E+10 +(PID.TID 0000.0001) %MON RAZ_sd = 3.0113265689232E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) PTRACERS_INIT_FIXED: updated GAD_OlMinSize= 2 0 1 + QQ load dic parameters, initial fixed +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // DIC_INIT_FIXED parameters : +(PID.TID 0000.0001) nlev = /* Number of level over which Bio act is computed */ +(PID.TID 0000.0001) 15 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 240064 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 1300 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 1246 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 1205 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 16159 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 32318 +(PID.TID 0000.0001) ctrl-wet 8: atmos 32318 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 240064 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 4447 4201 4277 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 4399 4158 4229 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 4352 4111 4178 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 4282 4046 4108 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 4220 3992 4050 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 4125 3897 3960 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 4075 3846 3907 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 4021 3785 3851 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 3970 3730 3801 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 3878 3629 3692 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 3763 3505 3562 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 3557 3269 3332 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 3091 2747 2809 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 2428 2071 2146 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 1065 813 874 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 8 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 240064 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 30720 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 016159 014603 015209 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 019716 018428 019084 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 006646 006264 005997 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 013152 012505 012486 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 3 is in use +(PID.TID 0000.0001) file = xx_diffkr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0203 +(PID.TID 0000.0001) ncvarindex = 0303 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 4 is in use +(PID.TID 0000.0001) file = xx_ptr1 +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0204 +(PID.TID 0000.0001) ncvarindex = 0304 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCori_mean = 2.3039296165317E-19 +(PID.TID 0000.0001) %MON fCori_sd = 1.0312619976228E-04 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4566679669714E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4584247033981E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -2.2787885990593E-06 +(PID.TID 0000.0001) %MON fCoriG_sd = 1.0310101939326E-04 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.5791533929553E-06 +(PID.TID 0000.0001) %MON fCoriCos_mean = 9.2855522572229E-05 +(PID.TID 0000.0001) %MON fCoriCos_sd = 4.4864964117307E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 7.0372759228205380E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 2.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 3.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 1.300000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 1.500000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.500000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.971999950222133E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 5184000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 5184004 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 2.239488000000000E+11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 2.239489728000000E+11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 7.776000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 128 @ 2.812500000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 64 @ 2.812500000000000E+00 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -9.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 1.406250000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 4.218750000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 7.031250000000000E+00, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.296875000000000E+01, /* I = 30 */ +(PID.TID 0000.0001) 8.578125000000000E+01, /* I = 31 */ +(PID.TID 0000.0001) 8.859375000000000E+01, /* I = 32 */ +(PID.TID 0000.0001) 9.140625000000000E+01, /* I = 33 */ +(PID.TID 0000.0001) 9.421875000000000E+01, /* I = 34 */ +(PID.TID 0000.0001) 9.703125000000000E+01, /* I = 35 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.729687500000000E+02, /* I = 62 */ +(PID.TID 0000.0001) 1.757812500000000E+02, /* I = 63 */ +(PID.TID 0000.0001) 1.785937500000000E+02, /* I = 64 */ +(PID.TID 0000.0001) 1.814062500000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 1.842187500000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 1.870312500000000E+02, /* I = 67 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.629687500000000E+02, /* I = 94 */ +(PID.TID 0000.0001) 2.657812500000000E+02, /* I = 95 */ +(PID.TID 0000.0001) 2.685937500000000E+02, /* I = 96 */ +(PID.TID 0000.0001) 2.714062500000000E+02, /* I = 97 */ +(PID.TID 0000.0001) 2.742187500000000E+02, /* I = 98 */ +(PID.TID 0000.0001) 2.770312500000000E+02, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.529687500000000E+02, /* I =126 */ +(PID.TID 0000.0001) 3.557812500000000E+02, /* I =127 */ +(PID.TID 0000.0001) 3.585937500000000E+02 /* I =128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -8.859375000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -8.578125000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -8.296875000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -8.015625000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -7.734375000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -7.453125000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -7.171875000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -6.890625000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -6.609375000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -6.328125000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -6.046875000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -5.765625000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -5.484375000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -5.203125000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -4.921875000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -4.640625000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -4.359375000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -4.078125000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -3.796875000000000E+01, /* J = 19 */ +(PID.TID 0000.0001) -3.515625000000000E+01, /* J = 20 */ +(PID.TID 0000.0001) -3.234375000000000E+01, /* J = 21 */ +(PID.TID 0000.0001) -2.953125000000000E+01, /* J = 22 */ +(PID.TID 0000.0001) -2.671875000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) -2.390625000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) -2.109375000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) -1.828125000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) -1.546875000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) -1.265625000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) -9.843750000000000E+00, /* J = 29 */ +(PID.TID 0000.0001) -7.031250000000000E+00, /* J = 30 */ +(PID.TID 0000.0001) -4.218750000000000E+00, /* J = 31 */ +(PID.TID 0000.0001) -1.406250000000000E+00, /* J = 32 */ +(PID.TID 0000.0001) 1.406250000000000E+00, /* J = 33 */ +(PID.TID 0000.0001) 4.218750000000000E+00, /* J = 34 */ +(PID.TID 0000.0001) 7.031250000000000E+00, /* J = 35 */ +(PID.TID 0000.0001) 9.843750000000000E+00, /* J = 36 */ +(PID.TID 0000.0001) 1.265625000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 1.546875000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 1.828125000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 2.109375000000000E+01, /* J = 40 */ +(PID.TID 0000.0001) 2.390625000000000E+01, /* J = 41 */ +(PID.TID 0000.0001) 2.671875000000000E+01, /* J = 42 */ +(PID.TID 0000.0001) 2.953125000000000E+01, /* J = 43 */ +(PID.TID 0000.0001) 3.234375000000000E+01, /* J = 44 */ +(PID.TID 0000.0001) 3.515625000000000E+01, /* J = 45 */ +(PID.TID 0000.0001) 3.796875000000000E+01, /* J = 46 */ +(PID.TID 0000.0001) 4.078125000000000E+01, /* J = 47 */ +(PID.TID 0000.0001) 4.359375000000000E+01, /* J = 48 */ +(PID.TID 0000.0001) 4.640625000000000E+01, /* J = 49 */ +(PID.TID 0000.0001) 4.921875000000000E+01, /* J = 50 */ +(PID.TID 0000.0001) 5.203125000000000E+01, /* J = 51 */ +(PID.TID 0000.0001) 5.484375000000000E+01, /* J = 52 */ +(PID.TID 0000.0001) 5.765625000000000E+01, /* J = 53 */ +(PID.TID 0000.0001) 6.046875000000000E+01, /* J = 54 */ +(PID.TID 0000.0001) 6.328125000000000E+01, /* J = 55 */ +(PID.TID 0000.0001) 6.609375000000000E+01, /* J = 56 */ +(PID.TID 0000.0001) 6.890625000000000E+01, /* J = 57 */ +(PID.TID 0000.0001) 7.171875000000000E+01, /* J = 58 */ +(PID.TID 0000.0001) 7.453125000000000E+01, /* J = 59 */ +(PID.TID 0000.0001) 7.734375000000000E+01, /* J = 60 */ +(PID.TID 0000.0001) 8.015625000000000E+01, /* J = 61 */ +(PID.TID 0000.0001) 8.296875000000000E+01, /* J = 62 */ +(PID.TID 0000.0001) 8.578125000000000E+01, /* J = 63 */ +(PID.TID 0000.0001) 8.859375000000000E+01 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 7.673714381622299E+03 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.673714381622299E+03, /* J = 1 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 3 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 5 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 3.125924684315491E+05, /* J = 32: 33 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 57 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 58 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 59 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 60 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 61 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 62 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 63 */ +(PID.TID 0000.0001) 7.673714381622299E+03 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 1.534280640463982E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 3 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 5 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 14 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 26 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 32 */ +(PID.TID 0000.0001) 3.126866438026091E+05, /* J = 33 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 57 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 58 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 59 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 60 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 61 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 62 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 63 */ +(PID.TID 0000.0001) 1.534280640463982E+04 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 7.673714381622299E+03 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.673714381622299E+03, /* J = 1 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 3 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 5 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 3.125924684315491E+05, /* J = 32: 33 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 57 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 58 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 59 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 60 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 61 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 62 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 63 */ +(PID.TID 0000.0001) 7.673714381622299E+03 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 1.534280640463982E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 3 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 5 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 14 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 26 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 32 */ +(PID.TID 0000.0001) 3.126866438026091E+05, /* J = 33 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 57 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 58 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 59 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 60 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 61 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 62 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 63 */ +(PID.TID 0000.0001) 1.534280640463982E+04 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 2.399227099019018E+09 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 2.399227099019018E+09, /* J = 1 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 2 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 3 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 6 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 13 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 16 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 9.773367679755542E+10, /* J = 32: 33 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 40 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 44 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 53 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 55 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 62 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 63 */ +(PID.TID 0000.0001) 2.399227099019018E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 2.399227099019018E+09 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 2.399227099019018E+09, /* J = 1 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 2 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 3 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 6 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 13 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 16 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 9.773367679755542E+10, /* J = 32: 33 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 40 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 44 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 53 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 55 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 62 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 63 */ +(PID.TID 0000.0001) 2.399227099019018E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 4.797008993346594E+09, /* J = 2 */ +(PID.TID 0000.0001) 9.582461571859739E+09, /* J = 3 */ +(PID.TID 0000.0001) 1.434482916112175E+10, /* J = 4 */ +(PID.TID 0000.0001) 1.907263880047594E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.375450078239423E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.837913609127881E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.293540357560110E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.741232678790870E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.179912042805190E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.608521632591324E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.026028890105701E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.431428003795675E+10, /* J = 13 */ +(PID.TID 0000.0001) 5.823742331687641E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.202026754202965E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.565369951034003E+10, /* J = 16 */ +(PID.TID 0000.0001) 6.912896596594559E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.243769468755632E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.557191465787256E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.852407526645966E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.128706449983365E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.385422607492096E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.621937547463148E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.837681484689812E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.032134673130376E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.204828658021815E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.355347404428317E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.483328299505896E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.588463026068500E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.670498305351135E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.729236507180571E+10, /* J = 31 */ +(PID.TID 0000.0001) 9.764536126083739E+10, /* J = 32 */ +(PID.TID 0000.0001) 9.776312122186816E+10, /* J = 33 */ +(PID.TID 0000.0001) 9.764536126083739E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.729236507180571E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.670498305351135E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.588463026068500E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.483328299505896E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.355347404428317E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.204828658021815E+10, /* J = 40 */ +(PID.TID 0000.0001) 9.032134673130376E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.837681484689812E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.621937547463148E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.385422607492096E+10, /* J = 44 */ +(PID.TID 0000.0001) 8.128706449983365E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.852407526645966E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.557191465787256E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.243769468755632E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.912896596594559E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.565369951034003E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.202026754202965E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.823742331687641E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.431428003795675E+10, /* J = 53 */ +(PID.TID 0000.0001) 5.026028890105701E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.608521632591324E+10, /* J = 55 */ +(PID.TID 0000.0001) 4.179912042805190E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.741232678790870E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.293540357560110E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.837913609127881E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.375450078239423E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.907263880047594E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.434482916112175E+10, /* J = 62 */ +(PID.TID 0000.0001) 9.582461571859739E+09, /* J = 63 */ +(PID.TID 0000.0001) 4.797008993346594E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.303322488638320E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) the_run_name = /* Name of this simulation */ +(PID.TID 0000.0001) 'Tutorial Biogeo' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_CHECK: #define ALLOW_PTRACERS +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // PTRACERS parameters +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) PTRACERS_numInUse = /* number of tracers */ +(PID.TID 0000.0001) 5 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_Iter0 = /* timestep number when tracers are initialized */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_startAllTrc =/* all tracers start @ startTime */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_doAB_onGpTr =/* apply AB on Tendencies (rather than on Tracers) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_addSrelax2EmP =/* add Salt relaxation to EmP */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dTLev = /* Ptracer timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_monitorFreq = /* Frequency^-1 for monitor output (s) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dumpFreq = /* Frequency^-1 for snapshot output (s) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_taveFreq = /* Frequency^-1 for time-Aver. output (s) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useRecords = /* all tracers in 1 file */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_timeave_mnc = /* use MNC for Tave output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_snapshot_mnc = /* use MNC for snapshot output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_write_mnc = /* use MNC for writing pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_read_mnc = /* use MNC for reading pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 1 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'DIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Inorganic Carbon (DIC) [mol C/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '01' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 2.028200000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 2.060900000000000E+00, /* K = 2 */ +(PID.TID 0000.0001) 2.120600000000000E+00, /* K = 3 */ +(PID.TID 0000.0001) 2.158100000000000E+00, /* K = 4 */ +(PID.TID 0000.0001) 2.190400000000000E+00, /* K = 5 */ +(PID.TID 0000.0001) 2.218800000000000E+00, /* K = 6 */ +(PID.TID 0000.0001) 2.247400000000000E+00, /* K = 7 */ +(PID.TID 0000.0001) 2.269900000000000E+00, /* K = 8 */ +(PID.TID 0000.0001) 2.279200000000000E+00, /* K = 9 */ +(PID.TID 0000.0001) 2.281400000000000E+00, /* K = 10 */ +(PID.TID 0000.0001) 2.281500000000000E+00, /* K = 11 */ +(PID.TID 0000.0001) 2.280600000000000E+00, /* K = 12 */ +(PID.TID 0000.0001) 2.280000000000000E+00, /* K = 13 */ +(PID.TID 0000.0001) 2.276000000000000E+00, /* K = 14 */ +(PID.TID 0000.0001) 2.275800000000000E+00 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 2 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'Alk' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Alkalinity (Alk) [mol eq/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '02' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 2.308600000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 2.314900000000000E+00, /* K = 2 */ +(PID.TID 0000.0001) 2.316400000000000E+00, /* K = 3 */ +(PID.TID 0000.0001) 2.311200000000000E+00, /* K = 4 */ +(PID.TID 0000.0001) 2.309800000000000E+00, /* K = 5 */ +(PID.TID 0000.0001) 2.316000000000000E+00, /* K = 6 */ +(PID.TID 0000.0001) 2.331300000000000E+00, /* K = 7 */ +(PID.TID 0000.0001) 2.351700000000000E+00, /* K = 8 */ +(PID.TID 0000.0001) 2.366700000000000E+00, /* K = 9 */ +(PID.TID 0000.0001) 2.376100000000000E+00, /* K = 10 */ +(PID.TID 0000.0001) 2.383200000000000E+00, /* K = 11 */ +(PID.TID 0000.0001) 2.386200000000000E+00, /* K = 12 */ +(PID.TID 0000.0001) 2.388100000000000E+00, /* K = 13 */ +(PID.TID 0000.0001) 2.386300000000000E+00, /* K = 14 */ +(PID.TID 0000.0001) 2.386700000000000E+00 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 3 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'PO4' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Phosphate (PO4) [mol P/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '03' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 5.438000000000000E-04, /* K = 1 */ +(PID.TID 0000.0001) 7.821000000000000E-04, /* K = 2 */ +(PID.TID 0000.0001) 1.133500000000000E-03, /* K = 3 */ +(PID.TID 0000.0001) 1.491300000000000E-03, /* K = 4 */ +(PID.TID 0000.0001) 1.860600000000000E-03, /* K = 5 */ +(PID.TID 0000.0001) 2.198600000000000E-03, /* K = 6 */ +(PID.TID 0000.0001) 2.396600000000000E-03, /* K = 7 */ +(PID.TID 0000.0001) 2.418700000000000E-03, /* K = 8 */ +(PID.TID 0000.0001) 2.404600000000000E-03, /* K = 9 */ +(PID.TID 0000.0001) 2.329100000000000E-03, /* K = 10 */ +(PID.TID 0000.0001) 2.292200000000000E-03, /* K = 11 */ +(PID.TID 0000.0001) 2.288600000000000E-03, /* K = 12 */ +(PID.TID 0000.0001) 2.260800000000000E-03, /* K = 13 */ +(PID.TID 0000.0001) 2.235600000000000E-03, /* K = 14 */ +(PID.TID 0000.0001) 2.229600000000000E-03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 4 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'DOP' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Organic Phosphorus (DOP) [mol P/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '04' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 5 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'O2' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Oxygen (O2) [mol O/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '05' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 2.457000000000000E-01, /* K = 1 */ +(PID.TID 0000.0001) 2.336000000000000E-01, /* K = 2 */ +(PID.TID 0000.0001) 1.975000000000000E-01, /* K = 3 */ +(PID.TID 0000.0001) 1.729000000000000E-01, /* K = 4 */ +(PID.TID 0000.0001) 1.591000000000000E-01, /* K = 5 */ +(PID.TID 0000.0001) 1.503000000000000E-01, /* K = 6 */ +(PID.TID 0000.0001) 1.424000000000000E-01, /* K = 7 */ +(PID.TID 0000.0001) 1.445000000000000E-01, /* K = 8 */ +(PID.TID 0000.0001) 1.549000000000000E-01, /* K = 9 */ +(PID.TID 0000.0001) 1.661000000000000E-01, /* K = 10 */ +(PID.TID 0000.0001) 1.774000000000000E-01, /* K = 11 */ +(PID.TID 0000.0001) 1.863000000000000E-01, /* K = 12 */ +(PID.TID 0000.0001) 1.925000000000000E-01, /* K = 13 */ +(PID.TID 0000.0001) 2.021000000000000E-01, /* K = 14 */ +(PID.TID 0000.0001) 2.051000000000000E-01 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) GCHEM_CHECK --> Starts to check GCHEM set-up +(PID.TID 0000.0001) GCHEM_CHECK <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 1 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 5184000 +(PID.TID 0000.0001) %MON time_secondsf = 2.2394880000000E+11 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.6649299579287E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4782940696125E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 8.5159854500297E-11 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.6496543247928E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.1653645924077E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8991955759746E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.3830119785924E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.8631910446830E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3097544587003E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 4.9141243596022E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4902607636342E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.1740870222213E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.6712179506896E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.3032187196596E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.8048380963769E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.2278891600425E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.4363646394913E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 1.8247847362026E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6044092374234E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7768952335932E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0246498475111E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.8021277862108E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5122422355156E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.5949804443761E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7556852662021E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1484589763615E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4614647727539E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1408724689889E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.0546885080523E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.4937911987305E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.0417861938477E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.7498601459148E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1365585619929E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.8640506155793E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 6.6865915471226E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5018765964214E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 7.7320599494492E-09 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.3858729798697E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.1192342175733E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.8468748927116E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.5522694587708E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.7572056142629E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.9999224736116E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.6702947614548E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 2.1343359351158E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -1.7404061555862E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -5.8961451090369E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 4.6452039259649E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.8991860252817E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.3371224876845E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 3.0036639306938E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2835232190818E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.5402278628981E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.1138403911517E-04 +(PID.TID 0000.0001) %MON ke_max = 3.1499047402406E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.0574476462818E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.2571476858570E+18 +(PID.TID 0000.0001) %MON vort_r_min = -9.2200319326548E-07 +(PID.TID 0000.0001) %MON vort_r_max = 9.8870203558082E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.4002453570026E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3138176910932E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.8585773838204E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1453377537423E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -2.2011580807865E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 2.1557170411787E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 2.4429509648564E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 1.6411768585524E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 2.2619456454509E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0331286137289E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 3.5366178405532E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer02_max = 2.5617847262853E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_min = 1.9500363505308E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_mean = 2.3641949244605E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_sd = 4.9629918291403E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer02_del2 = 2.3379345129430E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_max = 3.2964254616333E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_min = 4.8658220611564E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_mean = 2.1265729801482E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_sd = 6.9838206338730E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer03_del2 = 2.2273775194298E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_max = 3.0026850002845E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer04_min = -1.8981224313384E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_mean = 5.9486556791158E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer04_sd = 2.6309645059161E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer04_del2 = 3.2481489466092E-08 +(PID.TID 0000.0001) %MON trcstat_ptracer05_max = 3.8399706073681E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_min = 3.9748290888003E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_mean = 1.6196386322261E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_sd = 7.3415516730862E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer05_del2 = 3.0999411510078E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.57216930216624E-02 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 23 +(PID.TID 0000.0001) cg2d_last_res = 3.22678361722814E-14 + DIC_COST: iter,totcost = 5184001 -1.498960218758050E+11 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 5184001 +(PID.TID 0000.0001) %MON time_secondsf = 2.2394884320000E+11 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.6608780374678E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4781951473058E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 8.5159858284366E-11 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.6493466017731E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.1653159796651E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.8986984278831E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.3804551025530E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.8634072204829E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3097550996341E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 4.9137558374943E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4889942318624E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.1665653370549E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.6703375043405E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.3020979875237E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.8034542121214E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.2263116270432E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.4342054349509E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 2.0764791825754E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6038816103993E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7767516928060E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0252024360087E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0087829103125E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.8021757020518E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5122940125427E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.5912758790261E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7556636309538E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1485112681190E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4614648140808E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1408598979457E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.0466280959698E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5173381042480E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1320401000977E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.7651133920904E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1600054643933E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7307867599176E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 6.6865915471226E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5018765964214E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 7.7320599494492E-09 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.3858729798697E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.1192342175733E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.6936699450016E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.5727265179157E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.7848029829239E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.9618937726443E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.4788145916980E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.9744335860014E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -1.5944199264050E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -6.4503818001955E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 4.4276273939354E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.7990220506047E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.3374575543517E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 3.0012510288420E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4435103689395E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.3371654181694E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.9932721597106E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2657031816595E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.5188438179914E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.1133922614647E-04 +(PID.TID 0000.0001) %MON ke_max = 3.1404681836338E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.0573768650851E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.2571476858570E+18 +(PID.TID 0000.0001) %MON vort_r_min = -9.2105992894185E-07 +(PID.TID 0000.0001) %MON vort_r_max = 9.8659325221036E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.4002453570025E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3138177038012E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.8585773838203E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1453377510641E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -2.1389795113069E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 2.1483419577329E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 2.4429509986307E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 1.6411930683967E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 2.2619452774484E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0331401133138E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 3.5355209832225E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer02_max = 2.5617870833105E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_min = 1.9500704068772E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_mean = 2.3641949317055E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_sd = 4.9630201978033E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer02_del2 = 2.3374544536024E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_max = 3.2964244076203E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_min = 4.8598610945814E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_mean = 2.1265711400384E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_sd = 6.9838569638277E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer03_del2 = 2.2267380811568E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_max = 3.0027248693794E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer04_min = -1.8980967918909E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_mean = 5.9503219132099E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer04_sd = 2.6320157313319E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer04_del2 = 3.2333011167279E-08 +(PID.TID 0000.0001) %MON trcstat_ptracer05_max = 3.8407203837397E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_min = 3.9791810357998E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_mean = 1.6196347937076E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_sd = 7.3415102424305E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer05_del2 = 3.0949647818411E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -2.93547657292947E-07 8.32580875881018E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.54884724297850E-02 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 23 +(PID.TID 0000.0001) cg2d_last_res = 3.15646026996852E-14 + DIC_COST: iter,totcost = 5184002 -3.027468624727419E+11 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 5184002 +(PID.TID 0000.0001) %MON time_secondsf = 2.2394888640000E+11 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.6565856693266E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4781022942954E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 8.5160016269244E-11 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.6490413443238E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.1652783790709E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.9004714332921E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.3778600413630E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.8636308091425E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3097607010952E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 4.9135070931377E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4875407193345E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.1589246716530E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.6695646960755E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.3009759115415E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.8019771131007E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.2143018492739E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.4367512545507E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -2.3910972405413E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6028453872059E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7752683322451E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0257430999264E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0143263475734E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.8022241067970E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5123461508017E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.5956847911533E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7556410862780E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1485686574071E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4614648582893E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1408394833000E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.0538025502658E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5165532073975E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1277729593913E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.7646049505512E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1589852404138E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7316938140193E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 6.6865915471226E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5018765964214E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 7.7320599494492E-09 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.3858729798697E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.1192342175733E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.6912787457307E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.5720446159442E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.7838830706352E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.9610308535003E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.4814768150805E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.9778054629763E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -1.5953998118639E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -6.4319072438235E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 4.4324355939290E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.7988590232348E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.3375004891472E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.9908676057712E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4427546421371E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.3375202055499E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.9827160086277E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2477500621398E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.4973000745677E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.1129477464459E-04 +(PID.TID 0000.0001) %MON ke_max = 3.1309359873306E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.0573121822248E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.2571476858570E+18 +(PID.TID 0000.0001) %MON vort_r_min = -9.1999071593857E-07 +(PID.TID 0000.0001) %MON vort_r_max = 9.8446191346542E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.4002453570025E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3138177167611E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.8585773838203E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1453377492787E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -2.0990580761131E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 2.1109399686406E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 2.4429510307968E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 1.6412090214735E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 2.2619449078087E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0331516615138E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 3.5356961003371E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer02_max = 2.5617903954975E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_min = 1.9501042830029E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_mean = 2.3641949390776E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_sd = 4.9630481746782E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer02_del2 = 2.3389559933462E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_max = 3.2964233253660E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_min = 4.8539361345249E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_mean = 2.1265693033466E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_sd = 6.9838932227518E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer03_del2 = 2.2279862988032E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_max = 3.0027669286638E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer04_min = -1.8980394734935E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_mean = 5.9519846314966E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer04_sd = 2.6330591407861E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer04_del2 = 3.2491388948861E-08 +(PID.TID 0000.0001) %MON trcstat_ptracer05_max = 3.8414572824003E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_min = 3.9791882618622E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_mean = 1.6196311219075E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_sd = 7.3414677812221E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer05_del2 = 3.1016960555826E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -2.93676180262992E-07 8.32215434141134E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.58601170893068E-02 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 23 +(PID.TID 0000.0001) cg2d_last_res = 3.16339676304049E-14 + DIC_COST: iter,totcost = 5184003 -4.541500326292146E+11 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 5184003 +(PID.TID 0000.0001) %MON time_secondsf = 2.2394892960000E+11 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.6529985804955E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4780163114369E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 8.5159634078282E-11 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.6487381275097E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.1652634757812E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.9020934783721E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.3752271813675E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.8638454938671E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3097690129492E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 4.9132096928854E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4859031435714E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.1511663354344E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.6687520215518E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.2998952446945E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.8005988770613E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.2043732569891E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.4399960047571E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -5.6631250433874E-23 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6017662411064E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7736709604177E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0262717384777E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0198616343358E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.8022721322930E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5124001294325E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.5965732055678E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7556176017514E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1486276863215E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4614649012078E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1408207305048E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.0564014926782E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5157683105469E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1235058186849E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.7640965090120E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1579811205148E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7328516516788E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 6.6865915471226E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5018765964214E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 7.7320599494492E-09 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.3858729798697E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.1192342175733E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.6907762686412E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.5713627139727E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.7829631583465E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.9603149949656E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.4844090700074E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.9811773399512E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -1.5963796973228E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -6.4134326874516E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 4.4374188740913E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.7989439238480E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.3378553121503E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.9803199346505E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4417048007962E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.3381791531320E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.9719972865049E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2296695785578E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.4756034942693E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.1125062267732E-04 +(PID.TID 0000.0001) %MON ke_max = 3.1213093465428E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.0572534231216E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.2571476858570E+18 +(PID.TID 0000.0001) %MON vort_r_min = -9.1879697323743E-07 +(PID.TID 0000.0001) %MON vort_r_max = 9.8230803779251E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.4002453570026E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3138177295610E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.8585773838204E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1453377470486E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -2.0416464644475E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 2.0981452663595E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 2.4429510614628E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 1.6412247239048E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 2.2619445401477E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0331631265257E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 3.5359619159814E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer02_max = 2.5617952260903E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_min = 1.9501379884715E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_mean = 2.3641949465956E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_sd = 4.9630762210098E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer02_del2 = 2.3391536965385E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_max = 3.2964222168281E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_min = 4.8480470716173E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_mean = 2.1265674713761E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_sd = 6.9839290649049E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer03_del2 = 2.2293946541934E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_max = 3.0028113167967E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer04_min = -1.8979514296815E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_mean = 5.9536431559580E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer04_sd = 2.6340909867846E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer04_del2 = 3.2656835131358E-08 +(PID.TID 0000.0001) %MON trcstat_ptracer05_max = 3.8421816840994E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_min = 3.9791950334416E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_mean = 1.6196274781431E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_sd = 7.3414261501617E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer05_del2 = 3.1030705141409E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -2.93793281258559E-07 8.31886491394253E+00 +(PID.TID 0000.0001) cg2d_init_res = 1.54860730641480E-02 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 23 +(PID.TID 0000.0001) cg2d_last_res = 3.09074311318415E-14 + DIC_COST: iter,totcost = 5184004 -6.055961593668318E+11 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 5184004 +(PID.TID 0000.0001) %MON time_secondsf = 2.2394897280000E+11 +(PID.TID 0000.0001) %MON dynstat_eta_max = 9.6492668904936E-01 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.4779318832189E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 8.5159871528607E-11 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 5.6484367066590E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 1.1652313477922E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.9035664475620E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.3725569210148E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 1.8640646220033E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.3097815644601E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 4.9129647935826E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.4840844207928E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.1432916338298E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = -1.6679827103787E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 7.2988339998843E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 3.7991999499960E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 5.1930641534489E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.4449479088993E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -3.1461805796597E-22 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 2.6005838050258E-06 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.7719568188130E-08 +(PID.TID 0000.0001) %MON dynstat_theta_max = 3.0267882386356E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -2.0253702969832E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.8023202845950E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.5124566023914E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 2.5966587108942E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7555931137355E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1486884591927E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4614649448187E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 3.1408029458752E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 4.0556894796895E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 4.5149834136963E+02 +(PID.TID 0000.0001) %MON forcing_qnet_min = -2.1192386779785E+02 +(PID.TID 0000.0001) %MON forcing_qnet_mean = -1.7635880674728E+01 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 1.1569931466250E+02 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 2.7342599543089E-01 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 6.6865915471226E-05 +(PID.TID 0000.0001) %MON forcing_empmr_min = -1.5018765964214E-04 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 7.7320599494492E-09 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 2.3858729798697E-05 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 1.1192342175733E-07 +(PID.TID 0000.0001) %MON forcing_fu_max = 2.6902737915516E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.5706808120012E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 1.7820432460578E-02 +(PID.TID 0000.0001) %MON forcing_fu_sd = 8.9597462322892E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 2.4876104015851E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 1.9845492169261E-01 +(PID.TID 0000.0001) %MON forcing_fv_min = -1.5973595827818E-01 +(PID.TID 0000.0001) %MON forcing_fv_mean = -6.3949581310796E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 4.4425766452552E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 1.7992767173481E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.3385143258947E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.9696098230863E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4401792396470E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.3391324513770E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.9611177968924E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.2204927595519E-02 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.4537649486545E-02 +(PID.TID 0000.0001) %MON pe_b_mean = 4.1120673457260E-04 +(PID.TID 0000.0001) %MON ke_max = 3.1115895351285E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.0572012159447E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.2571476858570E+18 +(PID.TID 0000.0001) %MON vort_r_min = -9.1748015219916E-07 +(PID.TID 0000.0001) %MON vort_r_max = 9.8013167654198E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -2.4002453570026E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3138177425003E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.8585773838203E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.1453377454396E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = -1.9841501325004E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 2.0847793352749E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 2.4429510907340E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 1.6412401868098E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 2.2619441733067E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0331745548192E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 3.5363956204655E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer02_max = 2.5618006931126E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_min = 1.9501715341541E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_mean = 2.3641949542681E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer02_sd = 4.9631039596111E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer02_del2 = 2.3394925204618E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_max = 3.2964210839914E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_min = 4.8421937961820E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer03_mean = 2.1265656434919E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer03_sd = 6.9839649569146E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer03_del2 = 2.2300031820003E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_max = 3.0028581708530E-04 +(PID.TID 0000.0001) %MON trcstat_ptracer04_min = -1.8978324029358E-07 +(PID.TID 0000.0001) %MON trcstat_ptracer04_mean = 5.9552978750405E-06 +(PID.TID 0000.0001) %MON trcstat_ptracer04_sd = 2.6351196424833E-05 +(PID.TID 0000.0001) %MON trcstat_ptracer04_del2 = 3.2779020777133E-08 +(PID.TID 0000.0001) %MON trcstat_ptracer05_max = 3.8428938817997E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_min = 3.9787442557879E-03 +(PID.TID 0000.0001) %MON trcstat_ptracer05_mean = 1.6196238195150E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer05_sd = 7.3413858249863E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer05_del2 = 3.1019704475807E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %CHECKPOINT 5184004 ckptA +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159366832D+12 + cg2d: Sum(rhs),rhsMax = -2.93793281258559E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593668318E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE + cg2d: Sum(rhs),rhsMax = -2.93793281258559E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593668318E+11 + cg2d: Sum(rhs),rhsMax = -2.93793281258559E-07 8.31886491394253E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -2.93676180262992E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326292146E+11 + cg2d: Sum(rhs),rhsMax = -2.93676180262992E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326292146E+11 + cg2d: Sum(rhs),rhsMax = -2.93676180262992E-07 8.32215434141134E+00 + cg2d: Sum(rhs),rhsMax = 2.88657986402541E-15 5.01096873798722E+03 + cg2d: Sum(rhs),rhsMax = -2.93547657292947E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624727419E+11 + cg2d: Sum(rhs),rhsMax = -2.93547657292947E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624727419E+11 + cg2d: Sum(rhs),rhsMax = -2.93547657292947E-07 8.32580875881018E+00 + cg2d: Sum(rhs),rhsMax = 3.01980662698043E-14 1.65345367246671E+04 + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218758050E+11 + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218758050E+11 + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + cg2d: Sum(rhs),rhsMax = -1.19904086659517E-14 2.65651411945461E+04 + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218758050E+11 + cg2d: Sum(rhs),rhsMax = -2.93547657292947E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624727419E+11 + cg2d: Sum(rhs),rhsMax = -2.93676180262992E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326292146E+11 + cg2d: Sum(rhs),rhsMax = -2.93793281258559E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593668318E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159366832D+12 +(PID.TID 0000.0001) grdchk reference fc: fcref = -6.05596159366832E+11 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1 55673 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 61 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 61 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960219457933E+11 + cg2d: Sum(rhs),rhsMax = -2.93547650187520E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468625585909E+11 + cg2d: Sum(rhs),rhsMax = -2.93676698959189E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500327266726E+11 + cg2d: Sum(rhs),rhsMax = -2.93793195993430E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961594565044E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159456504D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159456504E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218058198E+11 + cg2d: Sum(rhs),rhsMax = -2.93547692820084E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468623869000E+11 + cg2d: Sum(rhs),rhsMax = -2.93676304607970E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500325317681E+11 + cg2d: Sum(rhs),rhsMax = -2.93793096517447E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961592771748E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159277175D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596159277175E+11 +grad-res ------------------------------- + grad-res 0 1 61 5 1 1 1 1 -6.05596159367E+11 -6.05596159457E+11 -6.05596159277E+11 + grad-res 0 1 1 1 0 1 1 1 -8.96642030128E+06 -8.96647949219E+06 -6.60139790920E-06 +(PID.TID 0000.0001) ADM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) ADM adjoint_gradient = -8.96642030127927E+06 +(PID.TID 0000.0001) ADM finite-diff_grad = -8.96647949218750E+06 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 2 55673 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1 2 + ph-grd -->hit<-- 62 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 62 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960219785814E+11 + cg2d: Sum(rhs),rhsMax = -2.93547650187520E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468626320515E+11 + cg2d: Sum(rhs),rhsMax = -2.93676450269231E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500328550085E+11 + cg2d: Sum(rhs),rhsMax = -2.93793565475653E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961596467217E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159646722D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159646722E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960217730292E+11 + cg2d: Sum(rhs),rhsMax = -2.93547543606110E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468623134349E+11 + cg2d: Sum(rhs),rhsMax = -2.93676393425812E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500324034238E+11 + cg2d: Sum(rhs),rhsMax = -2.93793096517447E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961590869471E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159086947D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596159086947E+11 +grad-res ------------------------------- + grad-res 0 2 62 5 1 1 1 1 -6.05596159367E+11 -6.05596159647E+11 -6.05596159087E+11 + grad-res 0 2 2 2 0 1 1 1 -2.79887775463E+07 -2.79887268066E+07 1.81285748702E-06 +(PID.TID 0000.0001) ADM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) ADM adjoint_gradient = -2.79887775463055E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -2.79887268066406E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 3 55673 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 2 3 + ph-grd -->hit<-- 63 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 63 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960219781553E+11 + cg2d: Sum(rhs),rhsMax = -2.93547707030939E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468626349929E+11 + cg2d: Sum(rhs),rhsMax = -2.93676123419573E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500328636306E+11 + cg2d: Sum(rhs),rhsMax = -2.93793192440717E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961596637151E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159663715D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159663715E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960217734550E+11 + cg2d: Sum(rhs),rhsMax = -2.93547572027819E-07 8.32580875881017E+00 + DIC_COST: iter,totcost = 5184002 -3.027468623104910E+11 + cg2d: Sum(rhs),rhsMax = -2.93676485796368E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500323947994E+11 + cg2d: Sum(rhs),rhsMax = -2.93793238625994E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961590699534E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159069953D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596159069953E+11 +grad-res ------------------------------- + grad-res 0 3 63 5 1 1 1 1 -6.05596159367E+11 -6.05596159664E+11 -6.05596159070E+11 + grad-res 0 3 3 3 0 1 1 1 -2.96880648494E+07 -2.96880859375E+07 -7.10320990915E-07 +(PID.TID 0000.0001) ADM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) ADM adjoint_gradient = -2.96880648494444E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -2.96880859375000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 4 55673 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 3 4 + ph-grd -->hit<-- 64 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 64 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960220046031E+11 + cg2d: Sum(rhs),rhsMax = -2.93547607554956E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468626809648E+11 + cg2d: Sum(rhs),rhsMax = -2.93676272633547E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500329353086E+11 + cg2d: Sum(rhs),rhsMax = -2.93793188888003E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961597615192E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159761519D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159761519E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465159728612E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960217470071E+11 + cg2d: Sum(rhs),rhsMax = -2.93547618213097E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468622645211E+11 + cg2d: Sum(rhs),rhsMax = -2.93676517770791E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500323231237E+11 + cg2d: Sum(rhs),rhsMax = -2.93793608108217E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961589721516E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596158972152D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596158972152E+11 +grad-res ------------------------------- + grad-res 0 4 64 5 1 1 1 1 -6.05596159367E+11 -6.05596159762E+11 -6.05596158972E+11 + grad-res 0 4 4 4 0 1 1 1 -3.94683631172E+07 -3.94683776855E+07 -3.69113883902E-07 +(PID.TID 0000.0001) ADM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.94683631172261E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.94683776855469E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 61 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 1 -6.0559615936683E+11 -6.0559615945650E+11 -6.0559615927717E+11 +(PID.TID 0000.0001) grdchk output (g): 1 -8.9664794921875E+06 -8.9664203012793E+06 -6.6013979092006E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 62 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 2 -6.0559615936683E+11 -6.0559615964672E+11 -6.0559615908695E+11 +(PID.TID 0000.0001) grdchk output (g): 2 -2.7988726806641E+07 -2.7988777546306E+07 1.8128574870158E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 63 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 3 -6.0559615936683E+11 -6.0559615966372E+11 -6.0559615906995E+11 +(PID.TID 0000.0001) grdchk output (g): 3 -2.9688085937500E+07 -2.9688064849444E+07 -7.1032099091539E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 64 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 4 -6.0559615936683E+11 -6.0559615976152E+11 -6.0559615897215E+11 +(PID.TID 0000.0001) grdchk output (g): 4 -3.9468377685547E+07 -3.9468363117226E+07 -3.6911388390237E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 4 ratios = 3.4462192179710E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 57.528208795934916 +(PID.TID 0000.0001) System time: 1.3790509887039661 +(PID.TID 0000.0001) Wall clock time: 59.105166912078857 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.11517800297588110 +(PID.TID 0000.0001) System time: 2.5809999322518706E-002 +(PID.TID 0000.0001) Wall clock time: 0.14183807373046875 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 32.929938703775406 +(PID.TID 0000.0001) System time: 3.3053904771804810E-002 +(PID.TID 0000.0001) Wall clock time: 33.052369356155396 +(PID.TID 0000.0001) No. starts: 40 +(PID.TID 0000.0001) No. stops: 40 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.13097235560417175 +(PID.TID 0000.0001) System time: 1.0153234004974365E-002 +(PID.TID 0000.0001) Wall clock time: 0.14180183410644531 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 5.5196255445480347E-002 +(PID.TID 0000.0001) System time: 3.1680762767791748E-003 +(PID.TID 0000.0001) Wall clock time: 5.8617353439331055E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.11023890972137451 +(PID.TID 0000.0001) System time: 9.3899667263031006E-004 +(PID.TID 0000.0001) Wall clock time: 0.11169791221618652 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.9531041383743286E-002 +(PID.TID 0000.0001) System time: 1.0188668966293335E-004 +(PID.TID 0000.0001) Wall clock time: 1.9686937332153320E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.1461519300937653 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.1551134586334229 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 22.077018201351166 +(PID.TID 0000.0001) System time: 1.9630193710327148E-003 +(PID.TID 0000.0001) Wall clock time: 22.137558937072754 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 7.2242814302444458 +(PID.TID 0000.0001) System time: 5.6065618991851807E-005 +(PID.TID 0000.0001) Wall clock time: 7.2434277534484863 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.78672885894775391 +(PID.TID 0000.0001) System time: 1.8000602722167969E-005 +(PID.TID 0000.0001) Wall clock time: 0.78893375396728516 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.20407652854919434 +(PID.TID 0000.0001) System time: 2.2009015083312988E-005 +(PID.TID 0000.0001) Wall clock time: 0.20463204383850098 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.20303630828857422 +(PID.TID 0000.0001) System time: 2.1003186702728271E-005 +(PID.TID 0000.0001) Wall clock time: 0.20366406440734863 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.6285648345947266E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.8061866760253906E-004 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "GCHEM_FORCING_SEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.5525828599929810 +(PID.TID 0000.0001) System time: 1.9073486328125000E-006 +(PID.TID 0000.0001) Wall clock time: 1.5573956966400146 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.34398162364959717 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.34515070915222168 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_STATEVARS_TAVE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 9.4286203384399414E-002 +(PID.TID 0000.0001) System time: 1.0728836059570312E-006 +(PID.TID 0000.0001) Wall clock time: 9.4558238983154297E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.13936877250671387 +(PID.TID 0000.0001) System time: 1.0728836059570312E-006 +(PID.TID 0000.0001) Wall clock time: 0.13973474502563477 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.6869773864746094E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.6583671569824219E-004 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.10319769382476807 +(PID.TID 0000.0001) System time: 5.9329420328140259E-003 +(PID.TID 0000.0001) Wall clock time: 0.10965299606323242 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "PTRACERS_RESET [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.5868415832519531E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 2.6082992553710938E-004 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.4730305671691895E-002 +(PID.TID 0000.0001) System time: 1.3917908072471619E-002 +(PID.TID 0000.0001) Wall clock time: 5.8917045593261719E-002 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 30.669559478759766 +(PID.TID 0000.0001) System time: 9.9689006805419922E-002 +(PID.TID 0000.0001) Wall clock time: 30.854439973831177 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 1.3340988159179688 +(PID.TID 0000.0001) System time: 8.6596012115478516E-002 +(PID.TID 0000.0001) Wall clock time: 1.4268002510070801 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 29.226945877075195 +(PID.TID 0000.0001) System time: 8.1810951232910156E-003 +(PID.TID 0000.0001) Wall clock time: 29.313675880432129 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 29.226400375366211 +(PID.TID 0000.0001) System time: 8.1778764724731445E-003 +(PID.TID 0000.0001) Wall clock time: 29.313129186630249 +(PID.TID 0000.0001) No. starts: 36 +(PID.TID 0000.0001) No. stops: 36 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 2.3841857910156250E-004 +(PID.TID 0000.0001) System time: 1.0728836059570312E-006 +(PID.TID 0000.0001) Wall clock time: 2.3889541625976562E-004 +(PID.TID 0000.0001) No. starts: 9 +(PID.TID 0000.0001) No. stops: 9 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 12500 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 12500 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/tutorial_global_oce_biogeo/results/output_tap_tlm.txt b/verification/tutorial_global_oce_biogeo/results/output_tap_tlm.txt new file mode 100644 index 0000000000..d00349ee49 --- /dev/null +++ b/verification/tutorial_global_oce_biogeo/results/output_tap_tlm.txt @@ -0,0 +1,4183 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 03:13:14 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 64 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 32 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 4 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 4 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 15 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 128 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 64 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef=15*20., +(PID.TID 0000.0001) > sRef=15*35., +(PID.TID 0000.0001) > viscA4=0., +(PID.TID 0000.0001) > viscAh=2.E5, +(PID.TID 0000.0001) > diffKhT=0.E3, +(PID.TID 0000.0001) > diffKhS=0.E3, +(PID.TID 0000.0001) > viscAz=1.E-3, +(PID.TID 0000.0001) >#diffKzT=3.E-5, +(PID.TID 0000.0001) >#diffKzS=3.E-5, +(PID.TID 0000.0001) > diffKrBL79surf= 3.E-5, +(PID.TID 0000.0001) > diffKrBL79deep= 13.E-5, +(PID.TID 0000.0001) > diffKrBL79Ho = -2000., +(PID.TID 0000.0001) > diffKrBL79scl = 150., +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > rhoConst=1035., +(PID.TID 0000.0001) > rhoConstFresh=1000., +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > eosType='JMD95Z', +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > implicitViscosity=.TRUE., +(PID.TID 0000.0001) > ivdc_kappa=100., +(PID.TID 0000.0001) > tempAdvScheme = 2, +(PID.TID 0000.0001) > saltAdvScheme = 2, +(PID.TID 0000.0001) > allowFreezing=.TRUE., +(PID.TID 0000.0001) ># turn on looped cells +(PID.TID 0000.0001) > hFacMin=.1, +(PID.TID 0000.0001) > hFacMindz=50., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > cg2dMaxIters=1000, +(PID.TID 0000.0001) > cg2dTargetResidual=1.E-13, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) > nIter0=5184000, +(PID.TID 0000.0001) > nTimeSteps = 4, +(PID.TID 0000.0001) > deltaTmom = 900., +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > deltaTtracer= 43200., +(PID.TID 0000.0001) > deltaTClock = 43200., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq = 216000., +(PID.TID 0000.0001) > chkptFreq = 216000., +(PID.TID 0000.0001) > dumpFreq = 216000., +(PID.TID 0000.0001) > taveFreq = 216000., +(PID.TID 0000.0001) > monitorFreq= 86400., +(PID.TID 0000.0001) > tauThetaClimRelax = 5184000., +(PID.TID 0000.0001) > tauSaltClimRelax = 7776000., +(PID.TID 0000.0001) > periodicExternalForcing=.TRUE., +(PID.TID 0000.0001) > externForcingPeriod=2592000., +(PID.TID 0000.0001) > externForcingCycle=31104000., +(PID.TID 0000.0001) > monitorFreq= 1., +(PID.TID 0000.0001) > adjMonitorFreq=1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delZ= 50., 70., 100., 140., 190., +(PID.TID 0000.0001) > 240., 290., 340., 390., 440., +(PID.TID 0000.0001) > 490., 540., 590., 640., 690., +(PID.TID 0000.0001) > ygOrigin=-90., +(PID.TID 0000.0001) > delX=128*2.8125, +(PID.TID 0000.0001) > delY=64*2.8125, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > bathyFile= 'bathy.bin', +(PID.TID 0000.0001) > hydrogThetaFile='lev_clim_temp.bin', +(PID.TID 0000.0001) > hydrogSaltFile= 'lev_clim_salt.bin', +(PID.TID 0000.0001) > zonalWindFile= 'tren_taux.bin', +(PID.TID 0000.0001) > meridWindFile= 'tren_tauy.bin', +(PID.TID 0000.0001) > thetaClimFile= 'lev_monthly_temp.bin', +(PID.TID 0000.0001) > saltClimFile= 'lev_monthly_salt.bin', +(PID.TID 0000.0001) > surfQnetFile= 'shi_qnet.bin', +(PID.TID 0000.0001) > EmPmRFile= 'shi_empmr_year.bin', +(PID.TID 0000.0001) > the_run_name= 'Tutorial Biogeo', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > useGMRedi=.TRUE., +(PID.TID 0000.0001) > usePTRACERS=.TRUE., +(PID.TID 0000.0001) > useGCHEM=.TRUE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/ptracers compiled and used ( usePTRACERS = T ) + pkg/gchem compiled and used ( useGCHEM = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/timeave compiled and used ( taveFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) ># GM_AdvForm = .TRUE., +(PID.TID 0000.0001) ># GM_isopycK = 1.D+3, +(PID.TID 0000.0001) > GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) >### GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) >### GM_Visbeck_alpha = 0.D0, +(PID.TID 0000.0001) >### GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) >### GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) >### GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) PTRACERS_READPARMS: opening data.ptracers +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ptracers +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ptracers" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &PTRACERS_PARM01 +(PID.TID 0000.0001) > PTRACERS_numInUse=5, +(PID.TID 0000.0001) > PTRACERS_Iter0= 0, +(PID.TID 0000.0001) ># tracer 1 - dic +(PID.TID 0000.0001) > PTRACERS_names(1)='DIC', +(PID.TID 0000.0001) > PTRACERS_long_names(1)='Dissolved Inorganic Carbon (DIC) [mol C/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(1)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(1)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(1)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(1)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(1)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(1)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,1) = 2.0282, 2.0609, 2.1206, 2.1581, +(PID.TID 0000.0001) > 2.1904, 2.2188, 2.2474, 2.2699, +(PID.TID 0000.0001) > 2.2792, 2.2814, 2.2815, 2.2806, +(PID.TID 0000.0001) > 2.2800, 2.2760, 2.2758, +(PID.TID 0000.0001) > PTRACERS_EvPrRn(1)= 0., +(PID.TID 0000.0001) ># tracer 2 - alk +(PID.TID 0000.0001) > PTRACERS_names(2)='Alk', +(PID.TID 0000.0001) > PTRACERS_long_names(2)='Alkalinity (Alk) [mol eq/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(2)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(2)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(2)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(2)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(2)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(2)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,2) = 2.3086, 2.3149, 2.3164, 2.3112, +(PID.TID 0000.0001) > 2.3098, 2.3160, 2.3313, 2.3517, +(PID.TID 0000.0001) > 2.3667, 2.3761, 2.3832, 2.3862, +(PID.TID 0000.0001) > 2.3881, 2.3863, 2.3867, +(PID.TID 0000.0001) > PTRACERS_EvPrRn(2)= 0., +(PID.TID 0000.0001) ># tracer 3 - po4 +(PID.TID 0000.0001) > PTRACERS_names(3)='PO4', +(PID.TID 0000.0001) > PTRACERS_long_names(3)='Phosphate (PO4) [mol P/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(3)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(3)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(3)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(3)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(3)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(3)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,3) = 0.5438E-3, 0.7821E-3, 1.1335E-3, 1.4913E-3, +(PID.TID 0000.0001) > 1.8606E-3, 2.1986E-3, 2.3966E-3, 2.4187E-3, +(PID.TID 0000.0001) > 2.4046E-3, 2.3291E-3, 2.2922E-3, 2.2886E-3, +(PID.TID 0000.0001) > 2.2608E-3, 2.2356E-3, 2.2296E-3, +(PID.TID 0000.0001) >#PTRACERS_EvPrRn(3)= 0., +(PID.TID 0000.0001) ># tracer 4 - dop +(PID.TID 0000.0001) > PTRACERS_names(4)='DOP', +(PID.TID 0000.0001) > PTRACERS_long_names(4)='Dissolved Organic Phosphorus (DOP) [mol P/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(4)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(4)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(4)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(4)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(4)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(4)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,4) = 15*0., +(PID.TID 0000.0001) >#PTRACERS_EvPrRn(4)= 0., +(PID.TID 0000.0001) ># tracer 5 - o2 +(PID.TID 0000.0001) > PTRACERS_names(5)='O2', +(PID.TID 0000.0001) > PTRACERS_long_names(5)='Dissolved Oxygen (O2) [mol O/m^3]', +(PID.TID 0000.0001) > PTRACERS_units(5)='mol/m^3', +(PID.TID 0000.0001) > PTRACERS_advScheme(5)=77, +(PID.TID 0000.0001) > PTRACERS_diffKh(5)=0.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr(5)=3.E-5, +(PID.TID 0000.0001) > PTRACERS_useGMRedi(5)=.TRUE., +(PID.TID 0000.0001) > PTRACERS_initialFile(5)=' ', +(PID.TID 0000.0001) >#- use F95 syntax (to be converted with -DNML_EXTENDED_F77 if needed) +(PID.TID 0000.0001) > PTRACERS_ref(1:15,5) = 0.2457, 0.2336, 0.1975, 0.1729, +(PID.TID 0000.0001) > 0.1591, 0.1503, 0.1424, 0.1445, +(PID.TID 0000.0001) > 0.1549, 0.1661, 0.1774, 0.1863, +(PID.TID 0000.0001) > 0.1925, 0.2021, 0.2051, +(PID.TID 0000.0001) >#PTRACERS_EvPrRn(5)= 0., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PTRACERS_READPARMS: finished reading data.ptracers +(PID.TID 0000.0001) GCHEM_READPARMS: opening data.gchem +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gchem +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gchem" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > &GCHEM_PARM01 +(PID.TID 0000.0001) > useDIC=.TRUE., +(PID.TID 0000.0001) > nsubtime=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GCHEM_READPARMS: finished reading data.gchem +(PID.TID 0000.0001) DIC_READPARMS: opening data.dic +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.dic +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.dic" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># DIC parameters +(PID.TID 0000.0001) > &ABIOTIC_PARMS +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &BIOTIC_PARMS +(PID.TID 0000.0001) > alphaUniform = 0.97e-10, +(PID.TID 0000.0001) > rainRatioUniform = 5.e-2, +(PID.TID 0000.0001) > KRemin = 0.95, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &DIC_FORCING +(PID.TID 0000.0001) > DIC_iceFile='fice.bin', +(PID.TID 0000.0001) > DIC_windFile='tren_speed.bin', +(PID.TID 0000.0001) > DIC_silicaFile='sillev1.bin', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) DIC_READPARMS: finished reading data.dic +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // DIC package parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) Using Millero (1995)/Mehrbach K1 and K2 coefficients +(PID.TID 0000.0001) Using Dickson and Riley (1979) KF coefficient +(PID.TID 0000.0001) Using Uppstrom (1974) BT estimation from salinity +(PID.TID 0000.0001) Using Riley (1965) FT estimation from salinity +(PID.TID 0000.0001) permil = /* Ref. density to convert mol/m3 to mol/kg */ +(PID.TID 0000.0001) 9.760858955588092E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) Pa2Atm = /* Atmosph. pressure conversion coeff (to Atm) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zca = /* Scale depth for CaCO3 remineralization (m) */ +(PID.TID 0000.0001) 3.500000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCalciteSaturation = /* Flag for omegaC calculation on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DOPfraction = /* Fraction of new production going to DOP */ +(PID.TID 0000.0001) 6.700000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KDOPRemin = /* DOP remineralization rate (1/s) */ +(PID.TID 0000.0001) 6.430041152263375E-08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KRemin = /* Remin power law coeff. */ +(PID.TID 0000.0001) 9.500000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) zcrit = /* Minimum depth for biological activity (m) */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) O2crit = /* Critical oxygen level (mol/m3) */ +(PID.TID 0000.0001) 4.000000000000000E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_OP = /* Stochiometric ratio R_OP */ +(PID.TID 0000.0001) -1.700000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_CP = /* Stochiometric ratio R_CP */ +(PID.TID 0000.0001) 1.170000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_NP = /* Stochiometric ratio R_NP */ +(PID.TID 0000.0001) 1.600000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) R_FeP = /* Stochiometric ratio R_FeP */ +(PID.TID 0000.0001) 4.680000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) parfrac = /* Fraction of Qsw that is PAR */ +(PID.TID 0000.0001) 4.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) k0 = /* Light attentuation coefficient, water (1/m) */ +(PID.TID 0000.0001) 2.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) kchl = /* Light attentuation coefficient, chlorophyll (m2/mg) */ +(PID.TID 0000.0001) 2.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) lit0 = /* Half saturation light constant (W/m2) */ +(PID.TID 0000.0001) 3.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KPO4 = /* Half saturation phosphate constant (mol/m3) */ +(PID.TID 0000.0001) 5.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KFE = /* Half saturation fe constant (mol/m3) */ +(PID.TID 0000.0001) 1.200000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) alpfe = /* Solubility of aeolian fe */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fesedflux_pcm = /* Sediment Fe flux = fesedflux_pcm*pflux+FeIntSec */ +(PID.TID 0000.0001) 7.208000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) FeIntSec = /* Sediment Fe flux = fesedflux_pcm * pflux + FeIntSec */ +(PID.TID 0000.0001) 5.787037037037037E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freefemax = /* Max solubility of free iron (mol/m3) */ +(PID.TID 0000.0001) 3.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) KScav = /* Iron scavenging rate */ +(PID.TID 0000.0001) 6.108539094650206E-09 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ligand_stab = /* Ligand-free iron stability constant (m3/mol) */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ligand_tot = /* Total free ligand (mol/m3) */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) alphaUniform = /* Timescale for biological activity */ +(PID.TID 0000.0001) 9.700000000000000E-11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rainRatioUniform= /* Inorganic/organic carbon rain ratio */ +(PID.TID 0000.0001) 5.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) QSW_underice = /* Flag for Qsw under Sea-Ice (i.e. SI fract included) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_windFile = /* File name of wind speeds */ +(PID.TID 0000.0001) 'tren_speed.bin' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_atmospFile= /* File name of atmospheric pressure*/ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_silicaFile= /* File name of surface silica */ +(PID.TID 0000.0001) 'sillev1.bin' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_iceFile = /* File name of seaice fraction */ +(PID.TID 0000.0001) 'fice.bin' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_parFile= /* File name of photosynthetically available radiation */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_chlaFile= /* File name of chlorophyll climatology */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_ironFile = /* File name of aeolian iron flux */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_forcingPeriod = /* Periodic forcing parameter specific for DIC (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) DIC_forcingCycle = /* Periodic forcing parameter specific for DIC (s) */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int1 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int2 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int3 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_int4 = /* */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dic_pCO2 = /* Atmospheric pCO2 to be read in data.dic */ +(PID.TID 0000.0001) 2.780000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GCHEM_TR_REGISTER: Start registering GCHEM tracers +(PID.TID 0000.0001) DIC_TR_REGISTER: number of DIC tracers= 5 +(PID.TID 0000.0001) DIC_TR_REGISTER: starting at pTrc num= 1 +(PID.TID 0000.0001) DIC_TR_REGISTER: Numb. Trac & SepForc Trac: 5 5 +(PID.TID 0000.0001) GCHEM_TR_REGISTER: Numb. Trac & SepForc Trac: 5 5 +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > ctrlname = 'ecco_ctrl', +(PID.TID 0000.0001) > costname = 'ecco_cost', +(PID.TID 0000.0001) > scalname = 'ecco_scal', +(PID.TID 0000.0001) > maskname = 'ecco_mask', +(PID.TID 0000.0001) > metaname = 'ecco_meta', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_file(1) = 'xx_theta', +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_bounds(1:5,1) = -2.,-1.9,39.,40.,5., +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(2) = 'xx_salt', +(PID.TID 0000.0001) > xx_genarr3d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(3) = 'xx_diffkr', +(PID.TID 0000.0001) > xx_genarr3d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_genarr3d_file(4) = 'xx_ptr1', +(PID.TID 0000.0001) > xx_genarr3d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(1) = 'xx_qnet', +(PID.TID 0000.0001) > xx_gentim2d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(2) = 'xx_empmr', +(PID.TID 0000.0001) > xx_gentim2d_weight(2) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(3) = 'xx_fu', +(PID.TID 0000.0001) > xx_gentim2d_weight(3) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > xx_gentim2d_file(4) = 'xx_fv', +(PID.TID 0000.0001) > xx_gentim2d_weight(4) = 'ones_64b.bin', +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > mult_tracer = 1., +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > mult_atl = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-5, +(PID.TID 0000.0001) > nbeg = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) ># to test xx_tr1 set 204 +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > iGloPos =10, +(PID.TID 0000.0001) > jGloPos =10, +(PID.TID 0000.0001) > kGloPos =1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-04 +(PID.TID 0000.0001) First location: 1 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.5859375000000E+02 +(PID.TID 0000.0001) %MON XC_min = 1.4062500000000E+00 +(PID.TID 0000.0001) %MON XC_mean = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.0391987692599E+02 +(PID.TID 0000.0001) %MON XG_max = 3.5718750000000E+02 +(PID.TID 0000.0001) %MON XG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON XG_mean = 1.7859375000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.0391987692599E+02 +(PID.TID 0000.0001) %MON DXC_max = 3.1259246843155E+05 +(PID.TID 0000.0001) %MON DXC_min = 7.6737143816223E+03 +(PID.TID 0000.0001) %MON DXC_mean = 1.9908248704234E+05 +(PID.TID 0000.0001) %MON DXC_sd = 9.6190602240067E+04 +(PID.TID 0000.0001) %MON DXF_max = 3.1259246843155E+05 +(PID.TID 0000.0001) %MON DXF_min = 7.6737143816223E+03 +(PID.TID 0000.0001) %MON DXF_mean = 1.9908248704234E+05 +(PID.TID 0000.0001) %MON DXF_sd = 9.6190602240067E+04 +(PID.TID 0000.0001) %MON DXG_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DXG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON DXG_mean = 1.9902252711933E+05 +(PID.TID 0000.0001) %MON DXG_sd = 9.6314600686012E+04 +(PID.TID 0000.0001) %MON DXV_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DXV_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON DXV_mean = 1.9902252711933E+05 +(PID.TID 0000.0001) %MON DXV_sd = 9.6314600686012E+04 +(PID.TID 0000.0001) %MON YC_max = 8.8593750000000E+01 +(PID.TID 0000.0001) %MON YC_min = -8.8593750000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON YC_sd = 5.1955180880375E+01 +(PID.TID 0000.0001) %MON YG_max = 8.7187500000000E+01 +(PID.TID 0000.0001) %MON YG_min = -9.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -1.4062500000000E+00 +(PID.TID 0000.0001) %MON YG_sd = 5.1955180880375E+01 +(PID.TID 0000.0001) %MON DYC_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYC_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYC_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYC_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYF_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYF_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYF_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYF_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYG_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYG_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYG_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYG_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON DYU_max = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYU_min = 3.1268664380261E+05 +(PID.TID 0000.0001) %MON DYU_mean = 3.1268664380260E+05 +(PID.TID 0000.0001) %MON DYU_sd = 4.3655745685101E-09 +(PID.TID 0000.0001) %MON RA_max = 9.7733676797555E+10 +(PID.TID 0000.0001) %MON RA_min = 2.3992270990190E+09 +(PID.TID 0000.0001) %MON RA_mean = 6.2244185031956E+10 +(PID.TID 0000.0001) %MON RA_sd = 3.0074496923945E+10 +(PID.TID 0000.0001) %MON RAW_max = 9.7733676797555E+10 +(PID.TID 0000.0001) %MON RAW_min = 2.3992270990190E+09 +(PID.TID 0000.0001) %MON RAW_mean = 6.2244185031956E+10 +(PID.TID 0000.0001) %MON RAW_sd = 3.0074496923945E+10 +(PID.TID 0000.0001) %MON RAS_max = 9.7763121221868E+10 +(PID.TID 0000.0001) %MON RAS_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON RAS_mean = 6.2225438247155E+10 +(PID.TID 0000.0001) %MON RAS_sd = 3.0113265689232E+10 +(PID.TID 0000.0001) %MON RAZ_max = 9.7763121221868E+10 +(PID.TID 0000.0001) %MON RAZ_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON RAZ_mean = 6.2225438247155E+10 +(PID.TID 0000.0001) %MON RAZ_sd = 3.0113265689232E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) PTRACERS_INIT_FIXED: updated GAD_OlMinSize= 2 0 1 + QQ load dic parameters, initial fixed +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // DIC_INIT_FIXED parameters : +(PID.TID 0000.0001) nlev = /* Number of level over which Bio act is computed */ +(PID.TID 0000.0001) 15 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 240064 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 1300 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 1246 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 1205 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 16159 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 32318 +(PID.TID 0000.0001) ctrl-wet 8: atmos 32318 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 15 240064 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 4447 4201 4277 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 4399 4158 4229 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 4352 4111 4178 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 4282 4046 4108 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 4220 3992 4050 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 4125 3897 3960 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 4075 3846 3907 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 4021 3785 3851 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 3970 3730 3801 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 3878 3629 3692 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 3763 3505 3562 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 3557 3269 3332 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 3091 2747 2809 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 2428 2071 2146 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 1065 813 874 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 8 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 240064 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 30720 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 016159 014603 015209 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 019716 018428 019084 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 006646 006264 005997 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 013152 012505 012486 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_theta +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 2 is in use +(PID.TID 0000.0001) file = xx_salt +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0202 +(PID.TID 0000.0001) ncvarindex = 0302 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 3 is in use +(PID.TID 0000.0001) file = xx_diffkr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0203 +(PID.TID 0000.0001) ncvarindex = 0303 +(PID.TID 0000.0001) -> 3d control, genarr3d no. 4 is in use +(PID.TID 0000.0001) file = xx_ptr1 +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0204 +(PID.TID 0000.0001) ncvarindex = 0304 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 1 is in use +(PID.TID 0000.0001) file = xx_qnet +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0301 +(PID.TID 0000.0001) ncvarindex = 0401 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 2 is in use +(PID.TID 0000.0001) file = xx_empmr +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0302 +(PID.TID 0000.0001) ncvarindex = 0402 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 3 is in use +(PID.TID 0000.0001) file = xx_fu +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0303 +(PID.TID 0000.0001) ncvarindex = 0403 +(PID.TID 0000.0001) -> time variable 2D control, gentim2d no. 4 is in use +(PID.TID 0000.0001) file = xx_fv +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0304 +(PID.TID 0000.0001) ncvarindex = 0404 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCori_mean = 2.3039296165317E-19 +(PID.TID 0000.0001) %MON fCori_sd = 1.0312619976228E-04 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4566679669714E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4584247033981E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -2.2787885990593E-06 +(PID.TID 0000.0001) %MON fCoriG_sd = 1.0310101939326E-04 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4579854531444E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.5791533929553E-06 +(PID.TID 0000.0001) %MON fCoriCos_mean = 9.2855522572229E-05 +(PID.TID 0000.0001) %MON fCoriCos_sd = 4.4864964117307E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 7.0372759228205380E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 15 @ 2.000000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 15 @ 3.500000000000000E+01 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 1.024872626184147E+03, /* K = 1 */ +(PID.TID 0000.0001) 1.025135462285008E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.025507198938228E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.026030780760464E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.026748377776259E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.027679406285166E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.028820735595355E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.030168558073105E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.031718419899614E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.033465256541184E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.035403432414885E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.037526784183520E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.039828667078104E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.042302003623418E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.044939334132512E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 2.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 1.000000000000000E-03 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 3.000000000000000E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 1.300000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 1.500000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 1.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'JMD95Z' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosRefP0 = /* Reference atmospheric pressure for EOS ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.500000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 1000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-13 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.971999950222133E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 5184000 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 5184004 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 2.239488000000000E+11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 2.239489728000000E+11 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 3.110400000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 5.184000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 7.776000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 9.661835748792270E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 1.035000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 8.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.650000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.650000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.150000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.650000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.150000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.650000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.150000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.650000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.150000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.650000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 3.450000000000000E+02 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) 1.400000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) 2.400000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) 3.400000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) 3.900000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 4.900000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 5.400000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 5.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 6.400000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 6.900000000000000E+02 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 128 @ 2.812500000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 64 @ 2.812500000000000E+00 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -9.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 1.406250000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 4.218750000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 7.031250000000000E+00, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.296875000000000E+01, /* I = 30 */ +(PID.TID 0000.0001) 8.578125000000000E+01, /* I = 31 */ +(PID.TID 0000.0001) 8.859375000000000E+01, /* I = 32 */ +(PID.TID 0000.0001) 9.140625000000000E+01, /* I = 33 */ +(PID.TID 0000.0001) 9.421875000000000E+01, /* I = 34 */ +(PID.TID 0000.0001) 9.703125000000000E+01, /* I = 35 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.729687500000000E+02, /* I = 62 */ +(PID.TID 0000.0001) 1.757812500000000E+02, /* I = 63 */ +(PID.TID 0000.0001) 1.785937500000000E+02, /* I = 64 */ +(PID.TID 0000.0001) 1.814062500000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 1.842187500000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 1.870312500000000E+02, /* I = 67 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.629687500000000E+02, /* I = 94 */ +(PID.TID 0000.0001) 2.657812500000000E+02, /* I = 95 */ +(PID.TID 0000.0001) 2.685937500000000E+02, /* I = 96 */ +(PID.TID 0000.0001) 2.714062500000000E+02, /* I = 97 */ +(PID.TID 0000.0001) 2.742187500000000E+02, /* I = 98 */ +(PID.TID 0000.0001) 2.770312500000000E+02, /* I = 99 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.529687500000000E+02, /* I =126 */ +(PID.TID 0000.0001) 3.557812500000000E+02, /* I =127 */ +(PID.TID 0000.0001) 3.585937500000000E+02 /* I =128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -8.859375000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -8.578125000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -8.296875000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -8.015625000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -7.734375000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -7.453125000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -7.171875000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -6.890625000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -6.609375000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -6.328125000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -6.046875000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -5.765625000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -5.484375000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -5.203125000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -4.921875000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -4.640625000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -4.359375000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -4.078125000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -3.796875000000000E+01, /* J = 19 */ +(PID.TID 0000.0001) -3.515625000000000E+01, /* J = 20 */ +(PID.TID 0000.0001) -3.234375000000000E+01, /* J = 21 */ +(PID.TID 0000.0001) -2.953125000000000E+01, /* J = 22 */ +(PID.TID 0000.0001) -2.671875000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) -2.390625000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) -2.109375000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) -1.828125000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) -1.546875000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) -1.265625000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) -9.843750000000000E+00, /* J = 29 */ +(PID.TID 0000.0001) -7.031250000000000E+00, /* J = 30 */ +(PID.TID 0000.0001) -4.218750000000000E+00, /* J = 31 */ +(PID.TID 0000.0001) -1.406250000000000E+00, /* J = 32 */ +(PID.TID 0000.0001) 1.406250000000000E+00, /* J = 33 */ +(PID.TID 0000.0001) 4.218750000000000E+00, /* J = 34 */ +(PID.TID 0000.0001) 7.031250000000000E+00, /* J = 35 */ +(PID.TID 0000.0001) 9.843750000000000E+00, /* J = 36 */ +(PID.TID 0000.0001) 1.265625000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 1.546875000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 1.828125000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 2.109375000000000E+01, /* J = 40 */ +(PID.TID 0000.0001) 2.390625000000000E+01, /* J = 41 */ +(PID.TID 0000.0001) 2.671875000000000E+01, /* J = 42 */ +(PID.TID 0000.0001) 2.953125000000000E+01, /* J = 43 */ +(PID.TID 0000.0001) 3.234375000000000E+01, /* J = 44 */ +(PID.TID 0000.0001) 3.515625000000000E+01, /* J = 45 */ +(PID.TID 0000.0001) 3.796875000000000E+01, /* J = 46 */ +(PID.TID 0000.0001) 4.078125000000000E+01, /* J = 47 */ +(PID.TID 0000.0001) 4.359375000000000E+01, /* J = 48 */ +(PID.TID 0000.0001) 4.640625000000000E+01, /* J = 49 */ +(PID.TID 0000.0001) 4.921875000000000E+01, /* J = 50 */ +(PID.TID 0000.0001) 5.203125000000000E+01, /* J = 51 */ +(PID.TID 0000.0001) 5.484375000000000E+01, /* J = 52 */ +(PID.TID 0000.0001) 5.765625000000000E+01, /* J = 53 */ +(PID.TID 0000.0001) 6.046875000000000E+01, /* J = 54 */ +(PID.TID 0000.0001) 6.328125000000000E+01, /* J = 55 */ +(PID.TID 0000.0001) 6.609375000000000E+01, /* J = 56 */ +(PID.TID 0000.0001) 6.890625000000000E+01, /* J = 57 */ +(PID.TID 0000.0001) 7.171875000000000E+01, /* J = 58 */ +(PID.TID 0000.0001) 7.453125000000000E+01, /* J = 59 */ +(PID.TID 0000.0001) 7.734375000000000E+01, /* J = 60 */ +(PID.TID 0000.0001) 8.015625000000000E+01, /* J = 61 */ +(PID.TID 0000.0001) 8.296875000000000E+01, /* J = 62 */ +(PID.TID 0000.0001) 8.578125000000000E+01, /* J = 63 */ +(PID.TID 0000.0001) 8.859375000000000E+01 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -8.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.700000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.900000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -4.550000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -6.700000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -9.350000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.250000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.615000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -2.030000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.495000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -3.010000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.575000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -4.190000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.855000000000000E+03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.200000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -2.200000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -3.600000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -5.500000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -7.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -1.080000000000000E+03, /* K = 8 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 9 */ +(PID.TID 0000.0001) -1.810000000000000E+03, /* K = 10 */ +(PID.TID 0000.0001) -2.250000000000000E+03, /* K = 11 */ +(PID.TID 0000.0001) -2.740000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -3.280000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -3.870000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -4.510000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -5.200000000000000E+03 /* K = 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 15 @ 1.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 16 @ 1.000000000000000E+00 /* K = 1: 16 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 7.673714381622299E+03 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.673714381622299E+03, /* J = 1 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 3 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 5 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 3.125924684315491E+05, /* J = 32: 33 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 57 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 58 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 59 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 60 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 61 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 62 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 63 */ +(PID.TID 0000.0001) 7.673714381622299E+03 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 1.534280640463982E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 3 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 5 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 14 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 26 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 32 */ +(PID.TID 0000.0001) 3.126866438026091E+05, /* J = 33 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 57 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 58 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 59 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 60 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 61 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 62 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 63 */ +(PID.TID 0000.0001) 1.534280640463982E+04 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 7.673714381622299E+03 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.673714381622299E+03, /* J = 1 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 3 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 5 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 14 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 3.125924684315491E+05, /* J = 32: 33 */ +(PID.TID 0000.0001) 3.118394057952309E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.103350947164461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.080831592123453E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.050890243928043E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.013599033908587E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.969047799856344E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.917343869596373E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.858611802425402E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.792993089037565E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.720645810660936E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.641744258225996E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.556478512483520E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.465053986083400E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.367690928717577E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.264623896519241E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.156101186996563E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.042384240862251E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.923747012199971E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.800475308484964E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.672866102048804E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.541226814647045E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.405874576853274E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.267135464063795E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.125343710953429E+05, /* J = 57 */ +(PID.TID 0000.0001) 9.808409062749070E+04, /* J = 58 */ +(PID.TID 0000.0001) 8.339751699416524E+04, /* J = 59 */ +(PID.TID 0000.0001) 6.851003143764105E+04, /* J = 60 */ +(PID.TID 0000.0001) 5.345749921461356E+04, /* J = 61 */ +(PID.TID 0000.0001) 3.827618319365421E+04, /* J = 62 */ +(PID.TID 0000.0001) 2.300265649478360E+04, /* J = 63 */ +(PID.TID 0000.0001) 7.673714381622299E+03 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 1.534280640463982E+04, /* J = 2 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 3 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 4 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 5 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 6 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 7 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 8 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 9 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 10 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 11 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 12 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 13 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 14 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 15 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 16 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 17 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 18 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 19 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 20 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 21 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 22 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 23 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 24 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 25 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 26 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 32 */ +(PID.TID 0000.0001) 3.126866438026091E+05, /* J = 33 */ +(PID.TID 0000.0001) 3.123099990460912E+05, /* J = 34 */ +(PID.TID 0000.0001) 3.111809721467461E+05, /* J = 35 */ +(PID.TID 0000.0001) 3.093022830292655E+05, /* J = 36 */ +(PID.TID 0000.0001) 3.066784576202870E+05, /* J = 37 */ +(PID.TID 0000.0001) 3.033158169450409E+05, /* J = 38 */ +(PID.TID 0000.0001) 2.992224618994463E+05, /* J = 39 */ +(PID.TID 0000.0001) 2.944082537343438E+05, /* J = 40 */ +(PID.TID 0000.0001) 2.888847902988777E+05, /* J = 41 */ +(PID.TID 0000.0001) 2.826653781002625E+05, /* J = 42 */ +(PID.TID 0000.0001) 2.757650002472408E+05, /* J = 43 */ +(PID.TID 0000.0001) 2.682002803544621E+05, /* J = 44 */ +(PID.TID 0000.0001) 2.599894424947394E+05, /* J = 45 */ +(PID.TID 0000.0001) 2.511522672956614E+05, /* J = 46 */ +(PID.TID 0000.0001) 2.417100442863276E+05, /* J = 47 */ +(PID.TID 0000.0001) 2.316855206090085E+05, /* J = 48 */ +(PID.TID 0000.0001) 2.211028462192875E+05, /* J = 49 */ +(PID.TID 0000.0001) 2.099875157067021E+05, /* J = 50 */ +(PID.TID 0000.0001) 1.983663068760452E+05, /* J = 51 */ +(PID.TID 0000.0001) 1.862672162372875E+05, /* J = 52 */ +(PID.TID 0000.0001) 1.737193915595329E+05, /* J = 53 */ +(PID.TID 0000.0001) 1.607530616514898E+05, /* J = 54 */ +(PID.TID 0000.0001) 1.473994635376230E+05, /* J = 55 */ +(PID.TID 0000.0001) 1.336907672054259E+05, /* J = 56 */ +(PID.TID 0000.0001) 1.196599981051027E+05, /* J = 57 */ +(PID.TID 0000.0001) 1.053409575883663E+05, /* J = 58 */ +(PID.TID 0000.0001) 9.076814147802141E+04, /* J = 59 */ +(PID.TID 0000.0001) 7.597665696450579E+04, /* J = 60 */ +(PID.TID 0000.0001) 6.100213802959342E+04, /* J = 61 */ +(PID.TID 0000.0001) 4.588065960101153E+04, /* J = 62 */ +(PID.TID 0000.0001) 3.064865064477965E+04, /* J = 63 */ +(PID.TID 0000.0001) 1.534280640463982E+04 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 128 @ 3.126866438026091E+05 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 64 @ 3.126866438026091E+05 /* J = 1: 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 2.399227099019018E+09 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 2.399227099019018E+09, /* J = 1 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 2 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 3 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 6 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 13 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 16 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 9.773367679755542E+10, /* J = 32: 33 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 40 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 44 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 53 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 55 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 62 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 63 */ +(PID.TID 0000.0001) 2.399227099019018E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 2.399227099019018E+09 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 2.399227099019018E+09, /* J = 1 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 2 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 3 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 4 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 6 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 13 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 16 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 31 */ +(PID.TID 0000.0001) 2 @ 9.773367679755542E+10, /* J = 32: 33 */ +(PID.TID 0000.0001) 9.749822780969106E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.702789705119698E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.632381759006650E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.538768561539165E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.422175635109474E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.282883862289705E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.121228809161066E+10, /* J = 40 */ +(PID.TID 0000.0001) 8.937599916905872E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.732439563609566E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.506241998533159E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.259552151423444E+10, /* J = 44 */ +(PID.TID 0000.0001) 7.992964319729683E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.707120736888658E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.402710025128452E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.080465536516846E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.741163586252303E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.385621582452237E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.014696056945659E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.629280601812741E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.230303716643333E+10, /* J = 53 */ +(PID.TID 0000.0001) 4.818726571700000E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.395540692374860E+10, /* J = 55 */ +(PID.TID 0000.0001) 3.961765570517892E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.518446208391881E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.066650601170349E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.607467164043704E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.142002110131771E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.671376785519299E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.196724967835171E+10, /* J = 62 */ +(PID.TID 0000.0001) 7.191901348828056E+09, /* J = 63 */ +(PID.TID 0000.0001) 2.399227099019018E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 128 @ 0.000000000000000E+00 /* I = 1:128 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* J = 1 */ +(PID.TID 0000.0001) 4.797008993346594E+09, /* J = 2 */ +(PID.TID 0000.0001) 9.582461571859739E+09, /* J = 3 */ +(PID.TID 0000.0001) 1.434482916112175E+10, /* J = 4 */ +(PID.TID 0000.0001) 1.907263880047594E+10, /* J = 5 */ +(PID.TID 0000.0001) 2.375450078239423E+10, /* J = 6 */ +(PID.TID 0000.0001) 2.837913609127881E+10, /* J = 7 */ +(PID.TID 0000.0001) 3.293540357560110E+10, /* J = 8 */ +(PID.TID 0000.0001) 3.741232678790870E+10, /* J = 9 */ +(PID.TID 0000.0001) 4.179912042805190E+10, /* J = 10 */ +(PID.TID 0000.0001) 4.608521632591324E+10, /* J = 11 */ +(PID.TID 0000.0001) 5.026028890105701E+10, /* J = 12 */ +(PID.TID 0000.0001) 5.431428003795675E+10, /* J = 13 */ +(PID.TID 0000.0001) 5.823742331687641E+10, /* J = 14 */ +(PID.TID 0000.0001) 6.202026754202965E+10, /* J = 15 */ +(PID.TID 0000.0001) 6.565369951034003E+10, /* J = 16 */ +(PID.TID 0000.0001) 6.912896596594559E+10, /* J = 17 */ +(PID.TID 0000.0001) 7.243769468755632E+10, /* J = 18 */ +(PID.TID 0000.0001) 7.557191465787256E+10, /* J = 19 */ +(PID.TID 0000.0001) 7.852407526645966E+10, /* J = 20 */ +(PID.TID 0000.0001) 8.128706449983365E+10, /* J = 21 */ +(PID.TID 0000.0001) 8.385422607492096E+10, /* J = 22 */ +(PID.TID 0000.0001) 8.621937547463148E+10, /* J = 23 */ +(PID.TID 0000.0001) 8.837681484689812E+10, /* J = 24 */ +(PID.TID 0000.0001) 9.032134673130376E+10, /* J = 25 */ +(PID.TID 0000.0001) 9.204828658021815E+10, /* J = 26 */ +(PID.TID 0000.0001) 9.355347404428317E+10, /* J = 27 */ +(PID.TID 0000.0001) 9.483328299505896E+10, /* J = 28 */ +(PID.TID 0000.0001) 9.588463026068500E+10, /* J = 29 */ +(PID.TID 0000.0001) 9.670498305351135E+10, /* J = 30 */ +(PID.TID 0000.0001) 9.729236507180571E+10, /* J = 31 */ +(PID.TID 0000.0001) 9.764536126083739E+10, /* J = 32 */ +(PID.TID 0000.0001) 9.776312122186816E+10, /* J = 33 */ +(PID.TID 0000.0001) 9.764536126083739E+10, /* J = 34 */ +(PID.TID 0000.0001) 9.729236507180571E+10, /* J = 35 */ +(PID.TID 0000.0001) 9.670498305351135E+10, /* J = 36 */ +(PID.TID 0000.0001) 9.588463026068500E+10, /* J = 37 */ +(PID.TID 0000.0001) 9.483328299505896E+10, /* J = 38 */ +(PID.TID 0000.0001) 9.355347404428317E+10, /* J = 39 */ +(PID.TID 0000.0001) 9.204828658021815E+10, /* J = 40 */ +(PID.TID 0000.0001) 9.032134673130376E+10, /* J = 41 */ +(PID.TID 0000.0001) 8.837681484689812E+10, /* J = 42 */ +(PID.TID 0000.0001) 8.621937547463148E+10, /* J = 43 */ +(PID.TID 0000.0001) 8.385422607492096E+10, /* J = 44 */ +(PID.TID 0000.0001) 8.128706449983365E+10, /* J = 45 */ +(PID.TID 0000.0001) 7.852407526645966E+10, /* J = 46 */ +(PID.TID 0000.0001) 7.557191465787256E+10, /* J = 47 */ +(PID.TID 0000.0001) 7.243769468755632E+10, /* J = 48 */ +(PID.TID 0000.0001) 6.912896596594559E+10, /* J = 49 */ +(PID.TID 0000.0001) 6.565369951034003E+10, /* J = 50 */ +(PID.TID 0000.0001) 6.202026754202965E+10, /* J = 51 */ +(PID.TID 0000.0001) 5.823742331687641E+10, /* J = 52 */ +(PID.TID 0000.0001) 5.431428003795675E+10, /* J = 53 */ +(PID.TID 0000.0001) 5.026028890105701E+10, /* J = 54 */ +(PID.TID 0000.0001) 4.608521632591324E+10, /* J = 55 */ +(PID.TID 0000.0001) 4.179912042805190E+10, /* J = 56 */ +(PID.TID 0000.0001) 3.741232678790870E+10, /* J = 57 */ +(PID.TID 0000.0001) 3.293540357560110E+10, /* J = 58 */ +(PID.TID 0000.0001) 2.837913609127881E+10, /* J = 59 */ +(PID.TID 0000.0001) 2.375450078239423E+10, /* J = 60 */ +(PID.TID 0000.0001) 1.907263880047594E+10, /* J = 61 */ +(PID.TID 0000.0001) 1.434482916112175E+10, /* J = 62 */ +(PID.TID 0000.0001) 9.582461571859739E+09, /* J = 63 */ +(PID.TID 0000.0001) 4.797008993346594E+09 /* J = 64 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.303322488638320E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) the_run_name = /* Name of this simulation */ +(PID.TID 0000.0001) 'Tutorial Biogeo' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_CHECK: #define ALLOW_PTRACERS +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // PTRACERS parameters +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) PTRACERS_numInUse = /* number of tracers */ +(PID.TID 0000.0001) 5 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_Iter0 = /* timestep number when tracers are initialized */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_startAllTrc =/* all tracers start @ startTime */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_doAB_onGpTr =/* apply AB on Tendencies (rather than on Tracers) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_addSrelax2EmP =/* add Salt relaxation to EmP */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dTLev = /* Ptracer timestep ( s ) */ +(PID.TID 0000.0001) 15 @ 4.320000000000000E+04 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_monitorFreq = /* Frequency^-1 for monitor output (s) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dumpFreq = /* Frequency^-1 for snapshot output (s) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_taveFreq = /* Frequency^-1 for time-Aver. output (s) */ +(PID.TID 0000.0001) 2.160000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useRecords = /* all tracers in 1 file */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_timeave_mnc = /* use MNC for Tave output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_snapshot_mnc = /* use MNC for snapshot output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_write_mnc = /* use MNC for writing pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_read_mnc = /* use MNC for reading pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 1 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'DIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Inorganic Carbon (DIC) [mol C/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '01' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 2.028200000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 2.060900000000000E+00, /* K = 2 */ +(PID.TID 0000.0001) 2.120600000000000E+00, /* K = 3 */ +(PID.TID 0000.0001) 2.158100000000000E+00, /* K = 4 */ +(PID.TID 0000.0001) 2.190400000000000E+00, /* K = 5 */ +(PID.TID 0000.0001) 2.218800000000000E+00, /* K = 6 */ +(PID.TID 0000.0001) 2.247400000000000E+00, /* K = 7 */ +(PID.TID 0000.0001) 2.269900000000000E+00, /* K = 8 */ +(PID.TID 0000.0001) 2.279200000000000E+00, /* K = 9 */ +(PID.TID 0000.0001) 2.281400000000000E+00, /* K = 10 */ +(PID.TID 0000.0001) 2.281500000000000E+00, /* K = 11 */ +(PID.TID 0000.0001) 2.280600000000000E+00, /* K = 12 */ +(PID.TID 0000.0001) 2.280000000000000E+00, /* K = 13 */ +(PID.TID 0000.0001) 2.276000000000000E+00, /* K = 14 */ +(PID.TID 0000.0001) 2.275800000000000E+00 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 2 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'Alk' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Alkalinity (Alk) [mol eq/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '02' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 2.308600000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 2.314900000000000E+00, /* K = 2 */ +(PID.TID 0000.0001) 2.316400000000000E+00, /* K = 3 */ +(PID.TID 0000.0001) 2.311200000000000E+00, /* K = 4 */ +(PID.TID 0000.0001) 2.309800000000000E+00, /* K = 5 */ +(PID.TID 0000.0001) 2.316000000000000E+00, /* K = 6 */ +(PID.TID 0000.0001) 2.331300000000000E+00, /* K = 7 */ +(PID.TID 0000.0001) 2.351700000000000E+00, /* K = 8 */ +(PID.TID 0000.0001) 2.366700000000000E+00, /* K = 9 */ +(PID.TID 0000.0001) 2.376100000000000E+00, /* K = 10 */ +(PID.TID 0000.0001) 2.383200000000000E+00, /* K = 11 */ +(PID.TID 0000.0001) 2.386200000000000E+00, /* K = 12 */ +(PID.TID 0000.0001) 2.388100000000000E+00, /* K = 13 */ +(PID.TID 0000.0001) 2.386300000000000E+00, /* K = 14 */ +(PID.TID 0000.0001) 2.386700000000000E+00 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 3 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'PO4' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Phosphate (PO4) [mol P/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '03' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 5.438000000000000E-04, /* K = 1 */ +(PID.TID 0000.0001) 7.821000000000000E-04, /* K = 2 */ +(PID.TID 0000.0001) 1.133500000000000E-03, /* K = 3 */ +(PID.TID 0000.0001) 1.491300000000000E-03, /* K = 4 */ +(PID.TID 0000.0001) 1.860600000000000E-03, /* K = 5 */ +(PID.TID 0000.0001) 2.198600000000000E-03, /* K = 6 */ +(PID.TID 0000.0001) 2.396600000000000E-03, /* K = 7 */ +(PID.TID 0000.0001) 2.418700000000000E-03, /* K = 8 */ +(PID.TID 0000.0001) 2.404600000000000E-03, /* K = 9 */ +(PID.TID 0000.0001) 2.329100000000000E-03, /* K = 10 */ +(PID.TID 0000.0001) 2.292200000000000E-03, /* K = 11 */ +(PID.TID 0000.0001) 2.288600000000000E-03, /* K = 12 */ +(PID.TID 0000.0001) 2.260800000000000E-03, /* K = 13 */ +(PID.TID 0000.0001) 2.235600000000000E-03, /* K = 14 */ +(PID.TID 0000.0001) 2.229600000000000E-03 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 4 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'DOP' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Organic Phosphorus (DOP) [mol P/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '04' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 15 @ 0.000000000000000E+00 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 5 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) 'O2' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) 'Dissolved Oxygen (O2) [mol O/m^3]' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '05' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 77 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 15 @ 3.000000000000000E-05 /* K = 1: 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 2.457000000000000E-01, /* K = 1 */ +(PID.TID 0000.0001) 2.336000000000000E-01, /* K = 2 */ +(PID.TID 0000.0001) 1.975000000000000E-01, /* K = 3 */ +(PID.TID 0000.0001) 1.729000000000000E-01, /* K = 4 */ +(PID.TID 0000.0001) 1.591000000000000E-01, /* K = 5 */ +(PID.TID 0000.0001) 1.503000000000000E-01, /* K = 6 */ +(PID.TID 0000.0001) 1.424000000000000E-01, /* K = 7 */ +(PID.TID 0000.0001) 1.445000000000000E-01, /* K = 8 */ +(PID.TID 0000.0001) 1.549000000000000E-01, /* K = 9 */ +(PID.TID 0000.0001) 1.661000000000000E-01, /* K = 10 */ +(PID.TID 0000.0001) 1.774000000000000E-01, /* K = 11 */ +(PID.TID 0000.0001) 1.863000000000000E-01, /* K = 12 */ +(PID.TID 0000.0001) 1.925000000000000E-01, /* K = 13 */ +(PID.TID 0000.0001) 2.021000000000000E-01, /* K = 14 */ +(PID.TID 0000.0001) 2.051000000000000E-01 /* K = 15 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) GCHEM_CHECK --> Starts to check GCHEM set-up +(PID.TID 0000.0001) GCHEM_CHECK <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 1 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218758050E+11 + cg2d: Sum(rhs),rhsMax = -2.93547657292947E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624727419E+11 + cg2d: Sum(rhs),rhsMax = -2.93676180262992E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326292146E+11 + cg2d: Sum(rhs),rhsMax = -2.93793281258559E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593668318E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159366832D+12 +(PID.TID 0000.0001) grdchk reference fc: fcref = -6.05596159366832E+11 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc tlm grad fd grad 1 - fd/tlm +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1 55673 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd -->hit<-- 61 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 61 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -3.40439482160448E-17 5.42136051441406E-03 + cg2d: Sum(rhs),rhsMax = -2.93464854195236E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218757172E+11 + cg2d: Sum(rhs),rhsMax = 2.75821096330309E-15 7.73379496469338E-03 + cg2d: Sum(rhs),rhsMax = -2.93547152807605E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624725939E+11 + cg2d: Sum(rhs),rhsMax = -3.95516667435250E-14 8.08595009899147E-03 + cg2d: Sum(rhs),rhsMax = -2.93676599483206E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326289922E+11 + cg2d: Sum(rhs),rhsMax = -1.63812760914407E-13 7.88322987392108E-03 + cg2d: Sum(rhs),rhsMax = -2.93792755456934E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593665509E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159366551D+12 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960219457933E+11 + cg2d: Sum(rhs),rhsMax = -2.93547650187520E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468625585909E+11 + cg2d: Sum(rhs),rhsMax = -2.93676698959189E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500327266726E+11 + cg2d: Sum(rhs),rhsMax = -2.93793195993430E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961594565044E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159456504D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159456504E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218058198E+11 + cg2d: Sum(rhs),rhsMax = -2.93547692820084E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468623869000E+11 + cg2d: Sum(rhs),rhsMax = -2.93676304607970E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500325317681E+11 + cg2d: Sum(rhs),rhsMax = -2.93793096517447E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961592771748E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159277175D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596159277175E+11 +grad-res ------------------------------- + grad-res 0 1 61 5 1 1 1 1 -6.05596159367E+11 -6.05596159457E+11 -6.05596159277E+11 + grad-res 0 1 1 1 0 1 1 1 -8.96642030128E+06 -8.96647949219E+06 -6.60139793096E-06 +(PID.TID 0000.0001) TLM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) TLM tangent-lin_grad = -8.96642030127908E+06 +(PID.TID 0000.0001) TLM finite-diff_grad = -8.96647949218750E+06 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 2 55673 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1 2 + ph-grd -->hit<-- 62 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 62 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 1.79706510089472E-16 1.26185420865003E-02 + cg2d: Sum(rhs),rhsMax = -2.93464854195236E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218757172E+11 + cg2d: Sum(rhs),rhsMax = 4.57654758419861E-14 1.39283812355220E-02 + cg2d: Sum(rhs),rhsMax = -2.93547152807605E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624725939E+11 + cg2d: Sum(rhs),rhsMax = 2.52437377983994E-14 1.22267973842446E-02 + cg2d: Sum(rhs),rhsMax = -2.93676599483206E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326289922E+11 + cg2d: Sum(rhs),rhsMax = -7.14695931970037E-14 1.08108329115992E-02 + cg2d: Sum(rhs),rhsMax = -2.93792755456934E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593665509E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159366551D+12 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960219785814E+11 + cg2d: Sum(rhs),rhsMax = -2.93547650187520E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468626320515E+11 + cg2d: Sum(rhs),rhsMax = -2.93676450269231E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500328550085E+11 + cg2d: Sum(rhs),rhsMax = -2.93793565475653E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961596467217E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159646722D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159646722E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960217730292E+11 + cg2d: Sum(rhs),rhsMax = -2.93547543606110E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468623134349E+11 + cg2d: Sum(rhs),rhsMax = -2.93676393425812E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500324034238E+11 + cg2d: Sum(rhs),rhsMax = -2.93793096517447E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961590869471E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159086947D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596159086947E+11 +grad-res ------------------------------- + grad-res 0 2 62 5 1 1 1 1 -6.05596159367E+11 -6.05596159647E+11 -6.05596159087E+11 + grad-res 0 2 2 2 0 1 1 1 -2.79887775463E+07 -2.79887268066E+07 1.81285750289E-06 +(PID.TID 0000.0001) TLM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) TLM tangent-lin_grad = -2.79887775463060E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -2.79887268066406E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 3 55673 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 2 3 + ph-grd -->hit<-- 63 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 63 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 2.22803546445771E-17 1.28714827835053E-02 + cg2d: Sum(rhs),rhsMax = -2.93464854195236E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218757172E+11 + cg2d: Sum(rhs),rhsMax = 1.70558029658417E-14 1.53263166987753E-02 + cg2d: Sum(rhs),rhsMax = -2.93547152807605E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624725939E+11 + cg2d: Sum(rhs),rhsMax = -3.38608567654302E-15 1.40893147699023E-02 + cg2d: Sum(rhs),rhsMax = -2.93676599483206E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326289922E+11 + cg2d: Sum(rhs),rhsMax = -1.13934393801159E-13 1.23097377630282E-02 + cg2d: Sum(rhs),rhsMax = -2.93792755456934E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593665509E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159366551D+12 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960219781553E+11 + cg2d: Sum(rhs),rhsMax = -2.93547707030939E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468626349929E+11 + cg2d: Sum(rhs),rhsMax = -2.93676123419573E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500328636306E+11 + cg2d: Sum(rhs),rhsMax = -2.93793192440717E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961596637151E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159663715D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159663715E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960217734550E+11 + cg2d: Sum(rhs),rhsMax = -2.93547572027819E-07 8.32580875881017E+00 + DIC_COST: iter,totcost = 5184002 -3.027468623104910E+11 + cg2d: Sum(rhs),rhsMax = -2.93676485796368E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500323947994E+11 + cg2d: Sum(rhs),rhsMax = -2.93793238625994E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961590699534E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159069953D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596159069953E+11 +grad-res ------------------------------- + grad-res 0 3 63 5 1 1 1 1 -6.05596159367E+11 -6.05596159664E+11 -6.05596159070E+11 + grad-res 0 3 3 3 0 1 1 1 -2.96880648494E+07 -2.96880859375E+07 -7.10320973374E-07 +(PID.TID 0000.0001) TLM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) TLM tangent-lin_grad = -2.96880648494449E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -2.96880859375000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 4 55673 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 3 4 + ph-grd -->hit<-- 64 5 1 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 64 5 1 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.22044604925031E-16 1.40506892538881E-02 + cg2d: Sum(rhs),rhsMax = -2.93464854195236E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960218757172E+11 + cg2d: Sum(rhs),rhsMax = 1.93178846504781E-14 1.68059208758610E-02 + cg2d: Sum(rhs),rhsMax = -2.93547152807605E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468624725939E+11 + cg2d: Sum(rhs),rhsMax = 9.77016801403635E-15 1.55863121044075E-02 + cg2d: Sum(rhs),rhsMax = -2.93676599483206E-07 8.32215434141134E+00 + DIC_COST: iter,totcost = 5184003 -4.541500326289922E+11 + cg2d: Sum(rhs),rhsMax = -9.13111401661514E-14 1.37865994173167E-02 + cg2d: Sum(rhs),rhsMax = -2.93792755456934E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961593665509E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159366551D+12 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465216572031E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960220046031E+11 + cg2d: Sum(rhs),rhsMax = -2.93547607554956E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468626809648E+11 + cg2d: Sum(rhs),rhsMax = -2.93676272633547E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500329353086E+11 + cg2d: Sum(rhs),rhsMax = -2.93793188888003E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961597615192E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596159761519D+12 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = -6.05596159761519E+11 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 123 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 2 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) nFlds = 11 , nFl3D = 8 , fields: +(PID.TID 0000.0001) >Uvel < >Vvel < >Theta < >Salt < >GuNm1 < >GvNm1 < >GtNm1 < >GsNm1 < >EtaN < >dEtaHdt < >EtaH < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Uvel ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Vvel ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Theta ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "Salt ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GuNm1 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GvNm1 ", # 6 in fldList, rec= 6 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GtNm1 ", # 7 in fldList, rec= 7 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "GsNm1 ", # 8 in fldList, rec= 8 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "EtaN ", # 9 in fldList, rec= 121 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup.0005184000 +(PID.TID 0000.0001) simulName=>Tutorial Biogeo< +(PID.TID 0000.0001) nRecords = 5 ; filePrec = 64 ; fileIter = 5184000 +(PID.TID 0000.0001) nDims = 3 , dims: +(PID.TID 0000.0001) 1: 128 1 128 +(PID.TID 0000.0001) 2: 64 1 64 +(PID.TID 0000.0001) 3: 15 1 15 +(PID.TID 0000.0001) nFlds = 5 , nFl3D = 0 , fields: +(PID.TID 0000.0001) >pTr01 < >pTr02 < >pTr03 < >pTr04 < >pTr05 < +(PID.TID 0000.0001) missingVal= 1.00000000000000E+00 ; nTimRec = 0 , timeList: +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr01 ", # 1 in fldList, rec= 1 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr02 ", # 2 in fldList, rec= 2 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr03 ", # 3 in fldList, rec= 3 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr04 ", # 4 in fldList, rec= 4 +(PID.TID 0000.0001) READ_MFLDS_3D_RL: read field: "pTr05 ", # 5 in fldList, rec= 5 +(PID.TID 0000.0001) READ_MFLDS_CHECK: - normal end ; reset MFLDS file-name: pickup_ptracers.0005184000 + DIC_SURFFORCING_INIT, it= 5184000 : Reading new data, i0,i1= 12 1 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) + EXTERNAL_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) + DIC_FIELDS_LOAD, it= 5184000 : Reading new data, i0,i1= 12 1 (prev= 12 0 ) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = -2.93465159728612E-07 8.32814987068962E+00 + DIC_COST: iter,totcost = 5184001 -1.498960217470071E+11 + cg2d: Sum(rhs),rhsMax = -2.93547618213097E-07 8.32580875881018E+00 + DIC_COST: iter,totcost = 5184002 -3.027468622645211E+11 + cg2d: Sum(rhs),rhsMax = -2.93676517770791E-07 8.32215434141135E+00 + DIC_COST: iter,totcost = 5184003 -4.541500323231237E+11 + cg2d: Sum(rhs),rhsMax = -2.93793608108217E-07 8.31886491394253E+00 + DIC_COST: iter,totcost = 5184004 -6.055961589721516E+11 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 +(PID.TID 0000.0001) local fc = 0.000000000000000D+00 +(PID.TID 0000.0001) global fc = -0.605596158972152D+12 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = -6.05596158972152E+11 +grad-res ------------------------------- + grad-res 0 4 64 5 1 1 1 1 -6.05596159367E+11 -6.05596159762E+11 -6.05596158972E+11 + grad-res 0 4 4 4 0 1 1 1 -3.94683631172E+07 -3.94683776855E+07 -3.69113887455E-07 +(PID.TID 0000.0001) TLM ref_cost_function = -6.05596159366832E+11 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.94683631172259E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.94683776855469E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-05 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) TLM GRAD(FC) 1-FDGRD/TLMGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 61 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 1 -6.0559615936683E+11 -6.0559615945650E+11 -6.0559615927717E+11 +(PID.TID 0000.0001) grdchk output (g): 1 -8.9664794921875E+06 -8.9664203012791E+06 -6.6013979309609E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 62 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 2 -6.0559615936683E+11 -6.0559615964672E+11 -6.0559615908695E+11 +(PID.TID 0000.0001) grdchk output (g): 2 -2.7988726806641E+07 -2.7988777546306E+07 1.8128575028920E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 63 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 3 -6.0559615936683E+11 -6.0559615966372E+11 -6.0559615906995E+11 +(PID.TID 0000.0001) grdchk output (g): 3 -2.9688085937500E+07 -2.9688064849445E+07 -7.1032097337387E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 64 5 1 1 1 0.000000000E+00 -1.000000000E-05 +(PID.TID 0000.0001) grdchk output (c): 4 -6.0559615936683E+11 -6.0559615976152E+11 -6.0559615897215E+11 +(PID.TID 0000.0001) grdchk output (g): 4 -3.9468377685547E+07 -3.9468363117226E+07 -3.6911388745509E-07 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 4 ratios = 3.4462192296709E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 54.538777360226959 +(PID.TID 0000.0001) System time: 0.23340799496509135 +(PID.TID 0000.0001) Wall clock time: 54.987039089202881 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 0.11932299984619021 +(PID.TID 0000.0001) System time: 2.5819999864324927E-002 +(PID.TID 0000.0001) Wall clock time: 0.14805698394775391 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 54.419429548084736 +(PID.TID 0000.0001) System time: 0.20758099481463432 +(PID.TID 0000.0001) Wall clock time: 54.838962078094482 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 2.0662921518087387 +(PID.TID 0000.0001) System time: 0.16335501149296761 +(PID.TID 0000.0001) Wall clock time: 2.2784383296966553 +(PID.TID 0000.0001) No. starts: 13 +(PID.TID 0000.0001) No. stops: 13 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 52.196177095174789 +(PID.TID 0000.0001) System time: 3.7649996578693390E-002 +(PID.TID 0000.0001) Wall clock time: 52.388713359832764 +(PID.TID 0000.0001) No. starts: 13 +(PID.TID 0000.0001) No. stops: 13 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 52.133898586034775 +(PID.TID 0000.0001) System time: 2.2675000131130219E-002 +(PID.TID 0000.0001) Wall clock time: 52.311154365539551 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 52.133303165435791 +(PID.TID 0000.0001) System time: 2.2674001753330231E-002 +(PID.TID 0000.0001) Wall clock time: 52.310542106628418 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.17629081010818481 +(PID.TID 0000.0001) System time: 1.1194996535778046E-002 +(PID.TID 0000.0001) Wall clock time: 0.19295382499694824 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 6.0906618833541870E-002 +(PID.TID 0000.0001) System time: 4.1430070996284485E-003 +(PID.TID 0000.0001) Wall clock time: 6.7438602447509766E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.13860917091369629 +(PID.TID 0000.0001) System time: 2.9951333999633789E-006 +(PID.TID 0000.0001) Wall clock time: 0.13915801048278809 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.9673784971237183E-002 +(PID.TID 0000.0001) System time: 2.3007392883300781E-005 +(PID.TID 0000.0001) Wall clock time: 2.9794692993164062E-002 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.6982179284095764 +(PID.TID 0000.0001) System time: 9.7599625587463379E-004 +(PID.TID 0000.0001) Wall clock time: 4.7128419876098633 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 31.963533282279968 +(PID.TID 0000.0001) System time: 6.5150037407875061E-003 +(PID.TID 0000.0001) Wall clock time: 32.061815500259399 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 10.659657657146454 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 10.689291715621948 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.1978363990783691 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 1.2010817527770996 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.28340590000152588 +(PID.TID 0000.0001) System time: 4.0009617805480957E-006 +(PID.TID 0000.0001) Wall clock time: 0.28422999382019043 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.28988838195800781 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.29069590568542480 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.7716159820556641E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.0493736267089844E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "GCHEM_FORCING_SEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.1496922969818115 +(PID.TID 0000.0001) System time: 3.8880035281181335E-003 +(PID.TID 0000.0001) Wall clock time: 2.1605899333953857 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.53775060176849365 +(PID.TID 0000.0001) System time: 5.4001808166503906E-005 +(PID.TID 0000.0001) Wall clock time: 0.53983616828918457 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_STATEVARS_TAVE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.2818317413330078E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.3235549926757812E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.1864643096923828E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.0827522277832031E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.0219554901123047E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.0183792114257812E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.5059452056884766E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.6215782165527344E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "PTRACERS_RESET [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.0529499053955078E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.1566619873046875E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.9614906311035156E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 4.9901008605957031E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 3.5405158996582031E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.5500526428222656E-004 +(PID.TID 0000.0001) No. starts: 13 +(PID.TID 0000.0001) No. stops: 13 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 12914 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 12914 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/tutorial_tracer_adjsens/code_tap/AUTODIFF_OPTIONS.h b/verification/tutorial_tracer_adjsens/code_tap/AUTODIFF_OPTIONS.h new file mode 100644 index 0000000000..7339a3b301 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/AUTODIFF_OPTIONS.h @@ -0,0 +1,86 @@ +CBOP +C !ROUTINE: AUTODIFF_OPTIONS.h +C !INTERFACE: +C #include "AUTODIFF_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for AutoDiff (autodiff) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef AUTODIFF_OPTIONS_H +#define AUTODIFF_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_AUTODIFF +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C o Include/exclude code in order to be able to automatically +C differentiate the MITgcmUV by using the Tangent Linear and +C Adjoint Model Compiler (TAMC). +#undef ALLOW_AUTODIFF_TAMC + +C >>> Checkpointing as handled by TAMC +#undef ALLOW_TAMC_CHECKPOINTING + +C >>> Extract adjoint state +#define ALLOW_AUTODIFF_MONITOR +C >>> and DYNVARS_DIAG adjoint state +#undef ALLOW_AUTODIFF_MONITOR_DIAG + +C >>> DO 2-level checkpointing instead of 3-level +c#undef AUTODIFF_2_LEVEL_CHECKPOINT + +C extend to 4-level checkpointing +c#undef AUTODIFF_4_LEVEL_CHECKPOINT + +C o use divided adjoint to split adjoint computations +#undef ALLOW_DIVIDED_ADJOINT + +#undef ALLOW_PACKUNPACK_METHOD2 + +C o This flag is incredibly useful as it reduces the number of +C tape-files on the disc. Maybe it should even be the default. +#undef ALLOW_AUTODIFF_WHTAPEIO + +C o use standard MDSFINDUINTS instead of local pkg/autodiff version for +C WHTAPEIO code I/O. +C Note: comment out the #define below (instead of having an #undef) to +C enable to set this Option in CPP command line (from the optfile) +c#define AUTODIFF_USE_MDSFINDUNITS + +C o use the deprecated autodiff_store/restore method where multiple fields +C are collected in a single buffer field array before storing to tape. +C This functionality has been replaced by WHTAPEIO method (see above). +C Might still be used for OBCS since WHTAPEIO does not support OBCS fields. +#undef AUTODIFF_USE_STORE_RESTORE +#undef AUTODIFF_USE_STORE_RESTORE_OBCS + +C o write separate tape files for each ptracer (has no effect, to be removed) +#undef AUTODIFF_PTRACERS_SPLIT_FILES + +C o allow using viscFacInAd to recompute viscosities in AD +#undef AUTODIFF_ALLOW_VISCFACADJ + +C o for output of AD-variables (ALLOW_AUTODIFF_MONITOR), specific code (e.g., +C in addummy_in_stepping.F) relies on adexch_uv_xy_rs and adexch_xy_rs S/R +C which might not always be generated by TAF (e.g., when controls do not +C include any 2D forcing field). In those cases, defining this cpp-option +C allows to circumvent this missing code issue. +#undef AUTODIFF_EXCLUDE_ADEXCH_RS + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_AUTODIFF */ +#endif /* AUTODIFF_OPTIONS_H */ diff --git a/verification/tutorial_tracer_adjsens/code_tap/COST_OPTIONS.h b/verification/tutorial_tracer_adjsens/code_tap/COST_OPTIONS.h new file mode 100644 index 0000000000..6b6a159873 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/COST_OPTIONS.h @@ -0,0 +1,77 @@ +CBOP +C !ROUTINE: COST_OPTIONS.h +C !INTERFACE: +C #include "COST_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Cost-Function (cost) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef COST_OPTIONS_H +#define COST_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_COST +#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 ================================================================== +C-- Package-specific Options & Macros go here + +C >>> Use the EGM-96 geoid error covariance. +#undef ALLOW_EGM96_ERROR_COV +#undef ALLOW_READ_EGM_DATA +C >>> Cost function contributions +#undef ALLOW_HFLUX_COST_CONTRIBUTION +#undef ALLOW_SFLUX_COST_CONTRIBUTION +#undef ALLOW_USTRESS_COST_CONTRIBUTION +#undef ALLOW_VSTRESS_COST_CONTRIBUTION +#undef ALLOW_THETA_COST_CONTRIBUTION +#undef ALLOW_SALT_COST_CONTRIBUTION +#undef ALLOW_SST_COST_CONTRIBUTION +#undef ALLOW_SSS_COST_CONTRIBUTION +#undef ALLOW_SSH_COST_CONTRIBUTION +#undef ALLOW_CTDT_COST_CONTRIBUTION +#undef ALLOW_CTDS_COST_CONTRIBUTION +#undef ALLOW_COST_ATLANTIC +#undef ALLOW_COST_ATLANTIC_HEAT + +#undef ALLOW_COST_TEST +#undef ALLOW_COST_TSQUARED +#define ALLOW_COST_TRACER + +C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost +C function terms. +C > In data.ecco, this requires the specification of data file (name, +C frequency, etc.), bar file name for corresp. model average, standard +C error file name, etc. +C > In addition, adding such cost terms requires editing ecco_cost.h to +C increase NGENCOST, and editing cost_gencost_customize.F to implement +C the actual model average (i.e. the bar file content). +#undef ALLOW_GENCOST_CONTRIBUTION +C >>> free form version of GENCOST: allows one to use otherwise defined +C elements (e.g. psbar and and topex data) while taking advantage of the +C cost function/namelist slots that can be made available using +C ALLOW_GENCOST_CONTRIBUTION. To this end ALLOW_GENCOST_CONTRIBUTION +C simply switches off tests that check whether all of the gencost +C elements (e.g. gencost_barfile and gencost_datafile) are specified +C in data.ecco. +C > While this option increases flexibility within the gencost framework, +C it implies more room for error, so it should be used cautiously, and +C with good knowledge of the rest of pkg/ecco. +C > It requires providing a specific cost function routine, and editing +C cost_gencost_all.F accordingly. +#undef ALLOW_GENCOST_FREEFORM + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_COST */ +#endif /* COST_OPTIONS_H */ diff --git a/verification/tutorial_tracer_adjsens/code_tap/CPP_OPTIONS.h b/verification/tutorial_tracer_adjsens/code_tap/CPP_OPTIONS.h new file mode 100644 index 0000000000..399d4243f3 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/CPP_OPTIONS.h @@ -0,0 +1,159 @@ +#ifndef CPP_OPTIONS_H +#define CPP_OPTIONS_H + +CBOP +C !ROUTINE: CPP_OPTIONS.h +C !INTERFACE: +C #include "CPP_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | main CPP options file for the model: +C | Control which optional features to compile in model/src code. +C *==================================================================* +CEOP + +C CPP flags controlling particular source code features + +C-- Forcing code options: + +C o Shortwave heating as extra term in external_forcing.F +C Note: this should be a run-time option +#define SHORTWAVE_HEATING + +C o Include/exclude Geothermal Heat Flux at the bottom of the ocean +#undef ALLOW_GEOTHERMAL_FLUX + +C o Allow to account for heating due to friction (and momentum dissipation) +#undef ALLOW_FRICTION_HEATING + +C o Allow mass source or sink of Fluid in the interior +C (3-D generalisation of oceanic real-fresh water flux) +#undef ALLOW_ADDFLUID + +C o Include pressure loading code +#define ATMOSPHERIC_LOADING + +C o Include/exclude balancing surface forcing fluxes code +#undef ALLOW_BALANCE_FLUXES + +C o Include/exclude balancing surface forcing relaxation code +#undef ALLOW_BALANCE_RELAX + +C o Include/exclude checking for negative salinity +#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES + +C-- Options to discard parts of the main code: + +C o Exclude/allow external forcing-fields load +C this allows to read & do simple linear time interpolation of oceanic +C forcing fields, if no specific pkg (e.g., EXF) is used to compute them. +#undef EXCLUDE_FFIELDS_LOAD + +C o Include/exclude phi_hyd calculation code +#define INCLUDE_PHIHYD_CALCULATION_CODE + +C o Include/exclude sound speed calculation code +C o (Note that this is a diagnostic from Del Grasso algorithm, not derived +C from EOS) +#undef INCLUDE_SOUNDSPEED_CALC_CODE + +C-- Vertical mixing code options: + +C o Include/exclude calling S/R CONVECTIVE_ADJUSTMENT +#define INCLUDE_CONVECT_CALL + +C o Include/exclude calling S/R CONVECTIVE_ADJUSTMENT_INI, turned off by +C default because it is an unpopular historical left-over, here we +C turn it on to reproduce old results +#define INCLUDE_CONVECT_INI_CALL + +C o Include/exclude call to S/R CALC_DIFFUSIVITY +#define INCLUDE_CALC_DIFFUSIVITY_CALL + +C o Allow full 3D specification of vertical diffusivity +#define ALLOW_3D_DIFFKR + +C o Allow latitudinally varying BryanLewis79 vertical diffusivity +#undef ALLOW_BL79_LAT_VARY + +C o Exclude/allow partial-cell effect (physical or enhanced) in vertical mixing +C this allows to account for partial-cell in vertical viscosity and diffusion, +C either from grid-spacing reduction effect or as artificially enhanced mixing +C near surface & bottom for too thin grid-cell +#define EXCLUDE_PCELL_MIX_CODE + +C o Exclude/allow to use isotropic 3-D Smagorinsky viscosity as diffusivity +C for tracers (after scaling by constant Prandtl number) +#undef ALLOW_SMAG_3D_DIFFUSIVITY + +C-- Time-stepping code options: + +C o Include/exclude combined Surf.Pressure and Drag Implicit solver code +#undef ALLOW_SOLVE4_PS_AND_DRAG + +C o Include/exclude Implicit vertical advection code +#undef INCLUDE_IMPLVERTADV_CODE + +C o Include/exclude AdamsBashforth-3rd-Order code +#undef ALLOW_ADAMSBASHFORTH_3 + +C o Include/exclude Quasi-Hydrostatic Stagger Time-step AdamsBashforth code +#undef ALLOW_QHYD_STAGGER_TS + +C-- Model formulation options: + +C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation +C that ensures that d/dt(eta) is exactly equal to - Div.Transport +#define EXACT_CONSERV + +C o Allow the use of Non-Linear Free-Surface formulation +C this implies that grid-cell thickness (hFactors) varies with time +#define NONLIN_FRSURF +C o Disable code for rStar coordinate and/or code for Sigma coordinate +#undef DISABLE_RSTAR_CODE +#define DISABLE_SIGMA_CODE + +C o Include/exclude nonHydrostatic code +#undef ALLOW_NONHYDROSTATIC + +C o Include/exclude GM-like eddy stress in momentum code +#undef ALLOW_EDDYPSI + +C-- Algorithm options: + +C o Include/exclude code for Non Self-Adjoint (NSA) conjugate-gradient solver +#define ALLOW_CG2D_NSA + +C o Include/exclude code for single reduction Conjugate-Gradient solver +#undef ALLOW_SRCG + +C o Choices for implicit solver routines solve_*diagonal.F +C The following has low memory footprint, but not suitable for AD +#undef SOLVE_DIAGONAL_LOWMEMORY +C The following one suitable for AD but does not vectorize +#undef SOLVE_DIAGONAL_KINNER + +C-- Retired code options: + +C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F +C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO +C is still useful with, e.g., single-domain curvilinear configurations. +#undef OLD_GRID_IO + +C-- Other option files: + +C o Execution environment support options +#include "CPP_EEOPTIONS.h" + +C o Include/exclude single header file containing multiple packages options +C (AUTODIFF, COST, CTRL, ECCO, EXF ...) instead of the standard way where +C each of the above pkg get its own options from its specific option file. +C Although this method, inherited from ECCO setup, has been traditionally +C used for all adjoint built, work is in progress to allow to use the +C standard method also for adjoint built. +c#ifdef PACKAGES_CONFIG_H +c# include "ECCO_CPPOPTIONS.h" +c#endif + +#endif /* CPP_OPTIONS_H */ diff --git a/verification/tutorial_tracer_adjsens/code_tap/CTRL_OPTIONS.h b/verification/tutorial_tracer_adjsens/code_tap/CTRL_OPTIONS.h new file mode 100644 index 0000000000..9e8569d4b7 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/CTRL_OPTIONS.h @@ -0,0 +1,64 @@ +CBOP +C !ROUTINE: CTRL_OPTIONS.h +C !INTERFACE: +C #include "CTRL_OPTIONS.h" + +C !DESCRIPTION: +C *==================================================================* +C | CPP options file for Control (ctrl) package: +C | Control which optional features to compile in this package code. +C *==================================================================* +CEOP + +#ifndef CTRL_OPTIONS_H +#define CTRL_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_CTRL +#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 ================================================================== +C-- Package-specific Options & Macros go here + +#define EXCLUDE_CTRL_PACK +#undef ALLOW_NONDIMENSIONAL_CONTROL_IO + +C >>> Other Control. +#define ALLOW_DIFFKR_CONTROL +#undef ALLOW_KAPGM_CONTROL +#undef ALLOW_KAPREDI_CONTROL +#undef ALLOW_BOTTOMDRAG_CONTROL + +C >>> Generic Control. +#undef ALLOW_GENARR2D_CONTROL +#define ALLOW_GENARR3D_CONTROL +#undef ALLOW_GENTIM2D_CONTROL + +C o Rotation of wind/stress controls adjustments +C from Eastward/Northward to model grid directions +#undef ALLOW_ROTATE_UV_CONTROLS + +C o use pkg/smooth correlation operator (incl. smoother) for 2D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel2D to .TRUE. +#undef ALLOW_SMOOTH_CORREL2D +C o use pkg/smooth correlation operator (incl. smoother) for 3D controls (Weaver, Courtier 01) +C This CPP option just sets the default for ctrlSmoothCorrel3D to .TRUE. +#undef ALLOW_SMOOTH_CORREL3D + +C o apply pkg/ctrl/ctrl_smooth.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_CTRL_SMOOTH +C o apply pkg/smooth/smooth_diff2d.F to 2D controls (outside of ctrlSmoothCorrel2D) +#undef ALLOW_SMOOTH_CTRL2D +C o apply pkg/smooth/smooth_diff3d.F to 3D controls (outside of ctrlSmoothCorrel3D) +#undef ALLOW_SMOOTH_CTRL3D + +C ================================================================== +#endif /* ndef ECCO_CPPOPTIONS_H */ +#endif /* ALLOW_CTRL */ +#endif /* CTRL_OPTIONS_H */ diff --git a/verification/tutorial_tracer_adjsens/code_tap/CTRL_SIZE.h b/verification/tutorial_tracer_adjsens/code_tap/CTRL_SIZE.h new file mode 100644 index 0000000000..538693bf62 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/CTRL_SIZE.h @@ -0,0 +1,27 @@ +c ================================================================== +c CTRL_SIZE.h +c ================================================================== + +C Generic control variable array dimension +C ---------------------------------------- +C +C maxCtrlArr2D :: number of 2-dim. generic control variables +C maxCtrlArr3D :: number of 3-dim. generic control variables +C maxCtrlTim2D :: number of 2-d generic tim-varying ctrl variables +C maxCtrlProc :: number of pre-processing options per ctrl variable + + integer maxCtrlArr2D + parameter ( maxCtrlArr2D = 4 ) + + integer maxCtrlArr3D + parameter ( maxCtrlArr3D = 4 ) + + integer maxCtrlTim2D + parameter ( maxCtrlTim2D = 1 ) + + integer maxCtrlProc + parameter ( maxCtrlProc = 1 ) + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/tutorial_tracer_adjsens/code_tap/GAD_OPTIONS.h b/verification/tutorial_tracer_adjsens/code_tap/GAD_OPTIONS.h new file mode 100644 index 0000000000..93c713c402 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/GAD_OPTIONS.h @@ -0,0 +1,81 @@ +CBOP +C !ROUTINE: GAD_OPTIONS.h + +C !INTERFACE: +C #include "GAD_OPTIONS.h" + +C !DESCRIPTION: +C Contains CPP macros/flags for controlling optional features of package. +CEOP + +C CPP options file for GAD (Generic Advection Diffusion) package +C Use this file for selecting options within the GAD package + +#ifndef GAD_OPTIONS_H +#define GAD_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GENERIC_ADVDIFF +C Package-specific Options & Macros go here + +C This flag selects the form of COSINE(lat) scaling of bi-harmonic term. +C *only for use on a lat-lon grid* +C Setting this flag here only affects the bi-harmonic tracer terms; to +C use COSINEMETH_III in the momentum equations set it CPP_OPTIONS.h +#define COSINEMETH_III + +C This selects isotropic scaling of harmonic and bi-harmonic term when +C using the COSINE(lat) scaling. +C Setting this flag here only affects the tracer diffusion terms; to +C use ISOTROPIC_COS_SCALING of the horizontal viscosity terms in the +C momentum equations set it CPP_OPTIONS.h; the following line +C even overrides setting the flag in CPP_OPTIONS.h +#undef ISOTROPIC_COS_SCALING + +C As of checkpoint41, the inclusion of multi-dimensional advection +C introduces excessive recomputation/storage for the adjoint. +C We can disable it here using CPP because run-time flags are insufficient. +#undef DISABLE_MULTIDIM_ADVECTION + +C Use compressible flow method for multi-dim advection instead of old, less +C accurate jmc method. Note: option has no effect on SOM advection which +C always use compressible flow method. +#undef GAD_MULTIDIM_COMPRESSIBLE + +C This enable the use of 2nd-Order Moment advection scheme (Prather, 1986) for +C Temperature and Salinity ; due to large memory space (10 times more / tracer) +C requirement, by default, this part of the code is not compiled. +#define GAD_ALLOW_TS_SOM_ADV + +C Hack to get rid of negatives caused by Redi. Works by restricting the +C outgoing flux (only contributions computed in gad_calc_rhs) for each cell +C to be no more than the amount of tracer in the cell (see Smolarkiewicz +C MWR 1989 and Bott MWR 1989). +C The flux contributions computed in gad_calc_rhs which are affected by +C this hack are: +C - explicit diffusion, Redi and the non-local part of KPP +C - advection is affected only if multiDimAdvection=.FALSE. +C - vertical diffusion (including the diagonal contribution from GMRedi) +C only if implicitDiffusion=.FALSE. +C - GM is affected only if GMREDI_AdvForm=.FALSE. +C +C The parameter SmolarkiewiczMaxFrac (defined in gad_init_fixed.F) +C specifies the maximal fraction of tracer that can leave a cell. +C By default it is 1. This will prevent the tracer from going negative +C due to contributions from gad_calc_rhs alone. In the presence of other +C contributions (or roundoff errors), it may be necessary to reduce this +C value to achieve strict positivity. +C +C This hack applies to all tracers except temperature and salinity! +C Do not use with Adams-Bashforth (for ptracers)! +C Do not use with OBCS! +#undef GAD_SMOLARKIEWICZ_HACK + +#else + +C If GAD is disabled then so is multi-dimensional advection +#define DISABLE_MULTIDIM_ADVECTION + +#endif /* ALLOW_GENERIC_ADVDIFF */ +#endif /* GAD_OPTIONS_H */ diff --git a/verification/tutorial_tracer_adjsens/code_tap/GMREDI_OPTIONS.h b/verification/tutorial_tracer_adjsens/code_tap/GMREDI_OPTIONS.h new file mode 100644 index 0000000000..98d1c2a39e --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/GMREDI_OPTIONS.h @@ -0,0 +1,52 @@ +C CPP options file for GM/Redi package +C Use this file for selecting options within the GM/Redi package + +#ifndef GMREDI_OPTIONS_H +#define GMREDI_OPTIONS_H +#include "PACKAGES_CONFIG.h" +#include "CPP_OPTIONS.h" + +#ifdef ALLOW_GMREDI +C Package-specific Options & Macros go here + +C Designed to simplify the Ajoint code: +C #define GMREDI_WITH_STABLE_ADJOINT +C -- exclude the clipping/tapering part of the code that is not used +#define GM_EXCLUDE_CLIPPING +#define GM_EXCLUDE_FM07_TAP +#define GM_EXCLUDE_AC02_TAP +#undef GM_EXCLUDE_TAPERING +#define GM_EXCLUDE_SUBMESO + +C This allows to use Visbeck et al formulation to compute K_GM+Redi +#undef GM_VISBECK_VARIABLE_K +C Use old calculation (before 2007/05/24) of Visbeck etal K_GM+Redi +C (which depends on tapering scheme) +#undef OLD_VISBECK_CALC + +C This allows the leading diagonal (top two rows) to be non-unity +C (a feature required when tapering adiabatically). +#define GM_NON_UNITY_DIAGONAL + +C Allows to use different values of K_GM and K_Redi ; also to +C be used with the advective form (Bolus velocity) of GM +#define GM_EXTRA_DIAGONAL + +C Allows to use the advective form (Bolus velocity) of GM +C instead of the Skew-Flux form (=default) +#define GM_BOLUS_ADVEC + +C Allows to use the Boundary-Value-Problem method to evaluate GM Bolus transport +#undef GM_BOLUS_BVP + +C Following option avoids specific recomputation in adjoint +C routines of gmredi_x/y/rtransport +C It is not needed, only for tests, and very memory-consuming +#undef GM_AUTODIFF_EXCESSIVE_STORE + +#endif /* ALLOW_GMREDI */ +#endif /* GMREDI_OPTIONS_H */ + +CEH3 ;;; Local Variables: *** +CEH3 ;;; mode:fortran *** +CEH3 ;;; End: *** diff --git a/verification/tutorial_tracer_adjsens/code_tap/MDSIO_BUFF_WH.h b/verification/tutorial_tracer_adjsens/code_tap/MDSIO_BUFF_WH.h new file mode 100644 index 0000000000..4f971790fe --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/MDSIO_BUFF_WH.h @@ -0,0 +1,59 @@ +CBOP +C !ROUTINE: MDSIO_BUFF_WH.h +C !INTERFACE: +C include "MDSIO_BUFF_WH.h" +C +C !DESCRIPTION: +C *==========================================================* +C | MDSIO_BUFF_WH.h +C | o Shared Buffers used for I/O WITH HALOS +C *==========================================================* +CEOP + +#ifdef ALLOW_WHIO +C-- COMMON /MDS_WH_BUFFERS_R[8,4]/ Shared Local Buffers With Halos +C Those buffers have be in common block to be shared by all threads +C fld2d_procbuff_rx :: Heap storage buffer to which master thread +C read-in/write-from data which all threads copy from +C (during read) or copy to (during write). + COMMON /MDS_WH_BUFFERS_R8/ fld2d_procbuff_r8 +#ifndef EXCLUDE_WHIO_GLOBUFF_2D + & , fld2d_globuff_r8 +#endif + COMMON /MDS_WH_BUFFERS_R4/ fld2d_procbuff_r4 +#ifndef EXCLUDE_WHIO_GLOBUFF_2D + & , fld2d_globuff_r4 +#endif + Real*8 fld2d_procbuff_r8( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy ) + Real*4 fld2d_procbuff_r4( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy ) +#ifndef EXCLUDE_WHIO_GLOBUFF_2D + Real*4 fld2d_globuff_r4( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy ) + Real*8 fld2d_globuff_r8( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy ) +#endif + +#ifdef ALLOW_WHIO_3D + COMMON /MDS_WH_BUFFERS_3D_L/ writeWh + logical writeWh + COMMON /MDS_WH_BUFFERS_3D_I/ iWh, jWh + integer nWh, iWh, jWh + PARAMETER (nWh=727) + COMMON /MDS_WH_BUFFERS_3D_RL/ +# ifdef INCLUDE_WHIO_GLOBUFF_3D + & fld3d_globuff_r8, fld3d_globuff_r4, +# endif + & fld3d_procbuff_r8, fld3d_procbuff_r4 + Real*8 fld3d_procbuff_r8 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nWh ) + Real*4 fld3d_procbuff_r4 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nWh ) +# ifdef INCLUDE_WHIO_GLOBUFF_3D + Real*4 fld3d_globuff_r4 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy*nWh ) + Real*8 fld3d_globuff_r8 + & ( (sNx+2*Olx)*(sNy+2*Oly)*nSx*nSy*nPx*nPy*nWh ) +# endif +#endif + +#endif + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| diff --git a/verification/tutorial_tracer_adjsens/code_tap/SIZE.h b/verification/tutorial_tracer_adjsens/code_tap/SIZE.h new file mode 100644 index 0000000000..8a656ea673 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/SIZE.h @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 45, + & sNy = 20, + & OLx = 3, + & OLy = 3, + & nSx = 2, + & nSy = 2, + & nPx = 1, + & nPy = 1, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 20) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/tutorial_tracer_adjsens/code_tap/SIZE.h_mpi b/verification/tutorial_tracer_adjsens/code_tap/SIZE.h_mpi new file mode 100644 index 0000000000..33c5318434 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/SIZE.h_mpi @@ -0,0 +1,68 @@ +CBOP +C !ROUTINE: SIZE.h +C !INTERFACE: +C include SIZE.h +C !DESCRIPTION: \bv +C *==========================================================* +C | SIZE.h Declare size of underlying computational grid. +C *==========================================================* +C | The design here supports a three-dimensional model grid +C | with indices I,J and K. The three-dimensional domain +C | is comprised of nPx*nSx blocks (or tiles) of size sNx +C | along the first (left-most index) axis, nPy*nSy blocks +C | of size sNy along the second axis and one block of size +C | Nr along the vertical (third) axis. +C | Blocks/tiles have overlap regions of size OLx and OLy +C | along the dimensions that are subdivided. +C *==========================================================* +C \ev +C +C Voodoo numbers controlling data layout: +C sNx :: Number of X points in tile. +C sNy :: Number of Y points in tile. +C OLx :: Tile overlap extent in X. +C OLy :: Tile overlap extent in Y. +C nSx :: Number of tiles per process in X. +C nSy :: Number of tiles per process in Y. +C nPx :: Number of processes to use in X. +C nPy :: Number of processes to use in Y. +C Nx :: Number of points in X for the full domain. +C Ny :: Number of points in Y for the full domain. +C Nr :: Number of points in vertical direction. +CEOP + INTEGER sNx + INTEGER sNy + INTEGER OLx + INTEGER OLy + INTEGER nSx + INTEGER nSy + INTEGER nPx + INTEGER nPy + INTEGER Nx + INTEGER Ny + INTEGER Nr + PARAMETER ( + & sNx = 45, + & sNy = 20, + & OLx = 3, + & OLy = 3, + & nSx = 1, + & nSy = 1, + & nPx = 2, + & nPy = 2, + & Nx = sNx*nSx*nPx, + & Ny = sNy*nSy*nPy, + & Nr = 20) + +C MAX_OLX :: Set to the maximum overlap region size of any array +C MAX_OLY that will be exchanged. Controls the sizing of exch +C routine buffers. + INTEGER MAX_OLX + INTEGER MAX_OLY + PARAMETER ( MAX_OLX = OLx, + & MAX_OLY = OLy ) + +C for pkg/ctrl: + INTEGER nobcs + PARAMETER ( nobcs = 4 ) + diff --git a/verification/tutorial_tracer_adjsens/code_tap/packages.conf b/verification/tutorial_tracer_adjsens/code_tap/packages.conf new file mode 100644 index 0000000000..f99351eee2 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/packages.conf @@ -0,0 +1,11 @@ +#-- list of packages (or group of packages) to compile for this experiment: +gfd +monitor +cd_code +gmredi +#- currently, needs pkg/kpp only to make code less simple so that TAF will generate AD-EXCH_UV S/R +kpp +ptracers + +tapenade +adjoint diff --git a/verification/tutorial_tracer_adjsens/code_tap/ptracers_forcing_surf.F b/verification/tutorial_tracer_adjsens/code_tap/ptracers_forcing_surf.F new file mode 100644 index 0000000000..5975ada542 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/code_tap/ptracers_forcing_surf.F @@ -0,0 +1,202 @@ +#include "PTRACERS_OPTIONS.h" + +CBOP +C !ROUTINE: PTRACERS_FORCING_SURF + +C !INTERFACE: ========================================================== + SUBROUTINE PTRACERS_FORCING_SURF( + I relaxForcingS, + I bi, bj, iMin, iMax, jMin, jMax, + I myTime,myIter,myThid ) + +C !DESCRIPTION: +C Precomputes surface forcing term for pkg/ptracers. +C Precomputation is needed because of non-local KPP transport term, +C routine KPP_TRANSPORT_PTR. + +C !USES: =============================================================== + IMPLICIT NONE +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "GRID.h" +#include "SURFACE.h" +#include "DYNVARS.h" +#include "FFIELDS.h" +#include "PTRACERS_SIZE.h" +#include "PTRACERS_PARAMS.h" +#include "PTRACERS_START.h" +#include "PTRACERS_FIELDS.h" + +C !INPUT PARAMETERS: =================================================== +C relaxForcingS :: Salt forcing due to surface relaxation +C bi,bj :: tile indices +C myTime :: model time +C myIter :: time-step number +C myThid :: thread number + _RL relaxForcingS(1-OLx:sNx+OLx,1-OLy:sNy+OLy) + INTEGER bi, bj, iMin, iMax, jMin, jMax + _RL myTime + INTEGER myIter + INTEGER myThid + +#ifdef ALLOW_PTRACERS + +C !LOCAL VARIABLES: ==================================================== +C i,j :: loop indices +C iTrc :: tracer index +C ks :: surface level index + INTEGER i, j + INTEGER iTrc, ks + _RL add2EmP(1-OLx:sNx+OLx,1-OLy:sNy+OLy) + _RL epsil, cutoff, tmpVar +CEOP + + IF ( usingPCoords ) THEN + ks = Nr + ELSE + ks = 1 + ENDIF + +C Example of how to add forcing at the surface + DO iTrc=1,PTRACERS_numInUse +c IF ( PTRACERS_StepFwd(iTrc) ) THEN + DO j = jMin, jMax + DO i = iMin, iMax + surfaceForcingPTr(i,j,bi,bj,iTrc) = 0. _d 0 + & + surfaceForcingS(i,j,bi,bj) + ENDDO + ENDDO +c ENDIF + ENDDO + +C-- Option to convert Salt-relaxation into additional EmP contribution + IF ( PTRACERS_addSrelax2EmP ) THEN +C- here we assume that salt_EvPrRn = 0 +C set cutoff value to prevent too large additional EmP: +C current limit is set to 0.1 CFL + epsil = 1. _d -10 + cutoff = 0.1 _d 0 *drF(ks)/PTRACERS_dTLev(ks) + IF ( ( (nonlinFreeSurf.GT.0 .OR. usingPCoords) + & .AND. useRealFreshWaterFlux ) + & .OR.convertFW2Salt .EQ. -1. ) THEN + DO j = jMin, jMax + DO i = iMin, iMax + tmpVar = MAX( salt(i,j,ks,bi,bj), epsil ) + add2EmP(i,j) = relaxForcingS(i,j)/tmpVar + add2EmP(i,j) = rUnit2mass + & *MAX( -cutoff, MIN( add2EmP(i,j), cutoff ) ) + ENDDO + ENDDO + ELSE + DO j = jMin, jMax + DO i = iMin, iMax + add2EmP(i,j) = relaxForcingS(i,j)/convertFW2Salt + add2EmP(i,j) = rUnit2mass + & *MAX( -cutoff, MIN( add2EmP(i,j), cutoff ) ) + ENDDO + ENDDO + ENDIF +#ifdef ALLOW_DIAGNOSTICS + IF ( useDiagnostics ) THEN + CALL DIAGNOSTICS_FILL(add2EmP,'Add2EmP ',0,1,2,bi,bj,myThid) + ENDIF +#endif /* ALLOW_DIAGNOSTICS */ + ELSE + DO j = jMin, jMax + DO i = iMin, iMax + add2EmP(i,j) = 0. _d 0 + ENDDO + ENDDO + ENDIF +C-- end of "addEmP" setting + +#ifdef EXACT_CONSERV + IF ( (nonlinFreeSurf.GT.0 .OR. usingPCoords) + & .AND. useRealFreshWaterFlux ) THEN + + DO iTrc=1,PTRACERS_numInUse + +c- NonLin_FrSurf and RealFreshWaterFlux : PmEpR effectively changes +c the water column height ; temp., salt, (tracer) flux associated +c with this input/output of water is added here to the surface tendency. +c + IF ( PTRACERS_StepFwd(iTrc) .AND. + & PTRACERS_EvPrRn(iTrc).NE.UNSET_RL ) THEN + DO j = jMin, jMax + DO i = iMin, iMax + surfaceForcingPTr(i,j,bi,bj,iTrc) = + & surfaceForcingPTr(i,j,bi,bj,iTrc) + & + ( PmEpR(i,j,bi,bj) - add2EmP(i,j) ) + & *( PTRACERS_EvPrRn(iTrc) - pTracer(i,j,ks,bi,bj,iTrc) ) + & *mass2rUnit + ENDDO + ENDDO + ENDIF + + ENDDO + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + ELSE +#else /* EXACT_CONSERV */ + IF (.TRUE.) THEN +#endif /* EXACT_CONSERV */ + +C-- EmPmR does not really affect the water column height (for tracer budget) +C and is converted to a salt tendency. + + IF (convertFW2Salt .EQ. -1.) THEN +C- use local surface tracer field to calculate forcing term: + + DO iTrc=1,PTRACERS_numInUse + + IF ( PTRACERS_StepFwd(iTrc) .AND. + & PTRACERS_EvPrRn(iTrc).NE.UNSET_RL ) THEN +C account for Rain/Evap tracer content (PTRACERS_EvPrRn) using +C local surface tracer + DO j = jMin, jMax + DO i = iMin, iMax + surfaceForcingPTr(i,j,bi,bj,iTrc) = + & surfaceForcingPTr(i,j,bi,bj,iTrc) + & + ( EmPmR(i,j,bi,bj) + add2EmP(i,j) ) + & *( pTracer(i,j,ks,bi,bj,iTrc) - PTRACERS_EvPrRn(iTrc) ) + & *mass2rUnit + ENDDO + ENDDO + ENDIF + + ENDDO + + ELSE +C- use uniform tracer value to calculate forcing term: + + DO iTrc=1,PTRACERS_numInUse + + IF ( PTRACERS_StepFwd(iTrc) .AND. + & PTRACERS_EvPrRn(iTrc).NE.UNSET_RL ) THEN +C account for Rain/Evap tracer content (PTRACERS_EvPrRn) assuming uniform +C surface tracer (=PTRACERS_ref) + DO j = jMin, jMax + DO i = iMin, iMax + surfaceForcingPTr(i,j,bi,bj,iTrc) = + & surfaceForcingPTr(i,j,bi,bj,iTrc) + & + ( EmPmR(i,j,bi,bj) + add2EmP(i,j) ) + & *( PTRACERS_ref(ks,iTrc) - PTRACERS_EvPrRn(iTrc) ) + & *mass2rUnit + ENDDO + ENDDO + ENDIF + + ENDDO + +C- end local-surface-tracer / uniform-value distinction + ENDIF + + ENDIF + +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| + +#endif /* ALLOW_PTRACERS */ + + RETURN + END diff --git a/verification/tutorial_tracer_adjsens/input_tap/data b/verification/tutorial_tracer_adjsens/input_tap/data new file mode 100644 index 0000000000..5e4294d0c8 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data @@ -0,0 +1,96 @@ +# ==================== +# | Model parameters | +# ==================== +# +# Continuous equation parameters + &PARM01 + tRef= 16.0 , 15.2 , 14.5 , 13.9 , 13.3 , + 12.4 , 11.3 , 9.9 , 8.4 , 6.7 , + 5.2 , 3.8 , 2.9 , 2.3 , 1.8 , + 1.5 , 1.1 , 0.8 , 0.66, 0.63, + sRef= 34.65, 34.75, 34.82, 34.87, 34.90, + 34.90, 34.86, 34.78, 34.69, 34.60, + 34.58, 34.62, 34.68, 34.72, 34.73, + 34.74, 34.73, 34.73, 34.72, 34.72, + viscAr=1.E-3, + viscAh=5.E5, + no_slip_sides=.FALSE., + no_slip_bottom=.TRUE., + diffKhT=1.E3, +#- diffKrT unused when compiled with ALLOW_3D_DIFFKR +#diffKrT=3.E-5, + diffKhS=1.E3, + diffKrS=3.E-5, + tAlpha=2.E-4, + sBeta =7.4E-4, + eosType='LINEAR', + gravity=9.81, + implicitDiffusion=.TRUE., + rigidLid=.FALSE., + implicitFreeSurface=.TRUE., + exactConserv=.TRUE., + useCDscheme=.TRUE., +#-nonlinear free surface + hFacInf=0.2, + hFacSup=2.0, + nonlinFreeSurf=3, + select_rStar=1, +#-I/O settings + readBinaryPrec=32, + & + +# Elliptic solver parameters + &PARM02 + useNSACGSolver=.FALSE., + cg2dMaxIters=200, +#cg2dTargetResidual=1.E-17, + cg2dTargetResWunit=1.E-24, + & + +# Time stepping parameters + &PARM03 +# startTime = 49766400000., + startTime = 0., +# endTime = 49767264000., + endTime = 345600., + deltaTClock = 86400., + deltaTFreeSurf = 86400., + deltaTMom = 2400., + tauCD = 321428., + cAdjFreq = -1., + abEps = 0.1, + pChkptFreq = 86400000., + chkptFreq = 86400000., + dumpFreq = 86400., + monitorFreq = 43200., + adjMonitorFreq = 43200., + monitorSelect = 4, +# + tauThetaClimRelax = 2592000., + tauSaltClimRelax = 2592000., +#tauTr1ClimRelax = 31104000., <= moved to data.ptracers + & + +# Gridding parameters + &PARM04 + usingSphericalPolarGrid=.TRUE., + delR= 50., 50., 55., 60., + 65., 70., 80., 95., + 120., 155., 200., 260., + 320., 400., 480., 570., + 655., 725., 775., 815., + ygOrigin=-80., + delY=40*4., + delX=90*4., + & + +# Input datasets + &PARM05 + hydrogThetaFile='theta.bin', + hydrogSaltFile='salt.bin', + bathyFile='topog.bin', + zonalWindFile='windx.bin', + meridWindFile='windy.bin', + thetaClimFile='SST.bin' + saltClimFile='SSS.bin' + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.autodiff b/verification/tutorial_tracer_adjsens/input_tap/data.autodiff new file mode 100644 index 0000000000..4585444d65 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.autodiff @@ -0,0 +1,8 @@ +# ========================= +# pkg AUTODIFF parameters : +# ========================= +# inAdExact :: get an exact adjoint (no approximation) (def=.True.) +# + &AUTODIFF_PARM01 +# inAdExact = .FALSE., + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.cost b/verification/tutorial_tracer_adjsens/input_tap/data.cost new file mode 100644 index 0000000000..603933a51a --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.cost @@ -0,0 +1,11 @@ +# +# +# ****************** +# ECCO cost function +# ****************** + &COST_NML +# + mult_tracer = 1., + mult_test = 1., + mult_atl = 1., + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.ctrl b/verification/tutorial_tracer_adjsens/input_tap/data.ctrl new file mode 100644 index 0000000000..b5b06424c0 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.ctrl @@ -0,0 +1,19 @@ +# ********************* +# ECCO controlvariables +# ********************* + &CTRL_NML + & +# +# ********************* +# names for ctrl_pack/unpack +# ********************* + &CTRL_PACKNAMES + & +# +# ********************* +# names for CTRL_GENARR, CTRL_GENTIM +# ********************* + &CTRL_NML_GENARR + xx_genarr3d_weight(1) = 'ones_64b.bin', + xx_genarr3d_file(1)='xx_ptr1', + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.gmredi b/verification/tutorial_tracer_adjsens/input_tap/data.gmredi new file mode 100644 index 0000000000..aadb99efc3 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.gmredi @@ -0,0 +1,36 @@ +# GM+Redi package parameters: +# GM_Small_Number :: epsilon used in computing the slope +# GM_slopeSqCutoff :: slope^2 cut-off value + +#-from MOM : +# GM_background_K: G & Mc.W diffusion coefficient +# GM_maxSlope : max slope of isopycnals +# GM_Scrit : transition for scaling diffusion coefficient +# GM_Sd : half width scaling for diffusion coefficient +# GM_taper_scheme: slope clipping or one of the tapering schemes +# GM_Kmin_horiz : horizontal diffusion minimum value + +#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +# GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +# GM_AdvForm : turn on GM Advective form (default=Skew flux form) + + &GM_PARM01 + GM_Small_Number = 1.D-20, + GM_slopeSqCutoff = 1.D+08, + GM_AdvForm = .TRUE., + GM_isopycK = 1.1D+3, + GM_background_K = 0.9D+3, +# GM_background_K = 1.D+3, + GM_taper_scheme = 'dm95', + GM_maxSlope = 1.D-2, + GM_Kmin_horiz = 50., + GM_Scrit = 4.D-3, + GM_Sd = 1.D-3, +# GM_Visbeck_alpha = 1.5D-2, + GM_Visbeck_alpha = 0., + GM_Visbeck_length = 2.D+5, + GM_Visbeck_depth = 1.D+3, + GM_Visbeck_maxval_K= 2.5D+3, + & + + diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.grdchk b/verification/tutorial_tracer_adjsens/input_tap/data.grdchk new file mode 100644 index 0000000000..42825fc991 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.grdchk @@ -0,0 +1,19 @@ + +# ******************* +# ECCO gradient check +# ******************* + &GRDCHK_NML + grdchk_eps = 1.d-4, +### nbeg = 1, + iGloPos = 15, + jGloPos = 5, + kGloPos = 4, + iGloTile = 1, + jgloTile = 1, + nstep = 1, + nend = 4, +# to test xx_tr1 set 17 +### grdchkvarindex = 17, +# to test xx_genarr3d set 201 + grdchkvarindex = 201, + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.optim b/verification/tutorial_tracer_adjsens/input_tap/data.optim new file mode 100644 index 0000000000..332922f3e1 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.optim @@ -0,0 +1,7 @@ +# +# ******************************** +# Off-line optimization parameters +# ******************************** + &OPTIM + optimcycle=0, + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.pkg b/verification/tutorial_tracer_adjsens/input_tap/data.pkg new file mode 100644 index 0000000000..f8bb357329 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.pkg @@ -0,0 +1,10 @@ +# +# ******** +# Packages +# ******** + &PACKAGES + usePtracers = .TRUE., + useGMRedi = .TRUE., + useKPP = .FALSE., + useGrdchk = .TRUE., + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/data.ptracers b/verification/tutorial_tracer_adjsens/input_tap/data.ptracers new file mode 100644 index 0000000000..c77a8312ae --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/data.ptracers @@ -0,0 +1,11 @@ +# This set-up makes is supposed to immitate salt. That is, PTRACER(:,:,:,1) +# should look exactly like S(:,:,:). + &PTRACERS_PARM01 + PTRACERS_numInUse=1, + PTRACERS_advScheme=2, + PTRACERS_diffKh=1.E3, + PTRACERS_diffKr=3.E-5, + PTRACERS_initialFile=' ', + PTRACERS_ref=1., 19*0., + tauTr1ClimRelax= 31104000., + & diff --git a/verification/tutorial_tracer_adjsens/input_tap/eedata b/verification/tutorial_tracer_adjsens/input_tap/eedata new file mode 100644 index 0000000000..06dcf3c23d --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/eedata @@ -0,0 +1,11 @@ +# Example "eedata" file +# Lines beginning "#" are comments +# nTx - No. threads per process in X +# nTy - No. threads per process in Y + &EEPARMS + nTx=1, + nTy=1, + & +# Note: Some systems use & as the +# namelist terminator. Other systems +# use a / character (as shown here). diff --git a/verification/tutorial_tracer_adjsens/input_tap/prepare_run b/verification/tutorial_tracer_adjsens/input_tap/prepare_run new file mode 100755 index 0000000000..371c1a2daf --- /dev/null +++ b/verification/tutorial_tracer_adjsens/input_tap/prepare_run @@ -0,0 +1,51 @@ +#! /usr/bin/env bash + +#- in order to save disc space, take *.bin files +#- from this dir: +fromDir="../../exp2/input" + +fileList=`( cd $fromDir ; echo *.bin )` + +#echo 'fileList=' $fileList + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi + +#- And take file 'ones_64b.bin' +#- from this dir: +fromDir="../../isomip/input_ad" + +fileList='ones_64b.bin' + +#- and do a symbolic link in the current directory +# (if the file does not already exist) +if test -d $fromDir ; then + lnkList='files:' + for xx in $fileList + do + if test -r ${fromDir}/$xx ; then + if test ! -r $xx ; then + lnkList=${lnkList}" "$xx + ln -sf ${fromDir}/$xx . + fi + fi + done + echo ' link' $lnkList "from dir:" $fromDir +else + echo " Error:" $fromDir "not a directory" +fi diff --git a/verification/tutorial_tracer_adjsens/results/output_tap_adj.txt b/verification/tutorial_tracer_adjsens/results/output_tap_adj.txt new file mode 100644 index 0000000000..7adb9284e2 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/results/output_tap_adj.txt @@ -0,0 +1,3572 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 06:02:25 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 45 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 20 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 3 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 3 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 20 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 90 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 40 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef= 16.0 , 15.2 , 14.5 , 13.9 , 13.3 , +(PID.TID 0000.0001) > 12.4 , 11.3 , 9.9 , 8.4 , 6.7 , +(PID.TID 0000.0001) > 5.2 , 3.8 , 2.9 , 2.3 , 1.8 , +(PID.TID 0000.0001) > 1.5 , 1.1 , 0.8 , 0.66, 0.63, +(PID.TID 0000.0001) > sRef= 34.65, 34.75, 34.82, 34.87, 34.90, +(PID.TID 0000.0001) > 34.90, 34.86, 34.78, 34.69, 34.60, +(PID.TID 0000.0001) > 34.58, 34.62, 34.68, 34.72, 34.73, +(PID.TID 0000.0001) > 34.74, 34.73, 34.73, 34.72, 34.72, +(PID.TID 0000.0001) > viscAr=1.E-3, +(PID.TID 0000.0001) > viscAh=5.E5, +(PID.TID 0000.0001) > no_slip_sides=.FALSE., +(PID.TID 0000.0001) > no_slip_bottom=.TRUE., +(PID.TID 0000.0001) > diffKhT=1.E3, +(PID.TID 0000.0001) >#- diffKrT unused when compiled with ALLOW_3D_DIFFKR +(PID.TID 0000.0001) >#diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=1.E3, +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > tAlpha=2.E-4, +(PID.TID 0000.0001) > sBeta =7.4E-4, +(PID.TID 0000.0001) > eosType='LINEAR', +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > rigidLid=.FALSE., +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > exactConserv=.TRUE., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) >#-nonlinear free surface +(PID.TID 0000.0001) > hFacInf=0.2, +(PID.TID 0000.0001) > hFacSup=2.0, +(PID.TID 0000.0001) > nonlinFreeSurf=3, +(PID.TID 0000.0001) > select_rStar=1, +(PID.TID 0000.0001) >#-I/O settings +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > useNSACGSolver=.FALSE., +(PID.TID 0000.0001) > cg2dMaxIters=200, +(PID.TID 0000.0001) >#cg2dTargetResidual=1.E-17, +(PID.TID 0000.0001) > cg2dTargetResWunit=1.E-24, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) ># startTime = 49766400000., +(PID.TID 0000.0001) > startTime = 0., +(PID.TID 0000.0001) ># endTime = 49767264000., +(PID.TID 0000.0001) > endTime = 345600., +(PID.TID 0000.0001) > deltaTClock = 86400., +(PID.TID 0000.0001) > deltaTFreeSurf = 86400., +(PID.TID 0000.0001) > deltaTMom = 2400., +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > cAdjFreq = -1., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq = 86400000., +(PID.TID 0000.0001) > chkptFreq = 86400000., +(PID.TID 0000.0001) > dumpFreq = 86400., +(PID.TID 0000.0001) > monitorFreq = 43200., +(PID.TID 0000.0001) > adjMonitorFreq = 43200., +(PID.TID 0000.0001) > monitorSelect = 4, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > tauThetaClimRelax = 2592000., +(PID.TID 0000.0001) > tauSaltClimRelax = 2592000., +(PID.TID 0000.0001) >#tauTr1ClimRelax = 31104000., <= moved to data.ptracers +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delR= 50., 50., 55., 60., +(PID.TID 0000.0001) > 65., 70., 80., 95., +(PID.TID 0000.0001) > 120., 155., 200., 260., +(PID.TID 0000.0001) > 320., 400., 480., 570., +(PID.TID 0000.0001) > 655., 725., 775., 815., +(PID.TID 0000.0001) > ygOrigin=-80., +(PID.TID 0000.0001) > delY=40*4., +(PID.TID 0000.0001) > delX=90*4., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > hydrogThetaFile='theta.bin', +(PID.TID 0000.0001) > hydrogSaltFile='salt.bin', +(PID.TID 0000.0001) > bathyFile='topog.bin', +(PID.TID 0000.0001) > zonalWindFile='windx.bin', +(PID.TID 0000.0001) > meridWindFile='windy.bin', +(PID.TID 0000.0001) > thetaClimFile='SST.bin' +(PID.TID 0000.0001) > saltClimFile='SSS.bin' +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > usePtracers = .TRUE., +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useKPP = .FALSE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/kpp compiled but not used ( useKPP = F ) + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/ptracers compiled and used ( usePTRACERS = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .TRUE., +(PID.TID 0000.0001) > GM_isopycK = 1.1D+3, +(PID.TID 0000.0001) > GM_background_K = 0.9D+3, +(PID.TID 0000.0001) ># GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) > GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) > GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) > GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) > GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) PTRACERS_READPARMS: opening data.ptracers +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ptracers +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ptracers" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># This set-up makes is supposed to immitate salt. That is, PTRACER(:,:,:,1) +(PID.TID 0000.0001) ># should look exactly like S(:,:,:). +(PID.TID 0000.0001) > &PTRACERS_PARM01 +(PID.TID 0000.0001) > PTRACERS_numInUse=1, +(PID.TID 0000.0001) > PTRACERS_advScheme=2, +(PID.TID 0000.0001) > PTRACERS_diffKh=1.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile=' ', +(PID.TID 0000.0001) > PTRACERS_ref=1., 19*0., +(PID.TID 0000.0001) > tauTr1ClimRelax= 31104000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PTRACERS_READPARMS: finished reading data.ptracers +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(1)='xx_ptr1', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > mult_tracer = 1., +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > mult_atl = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-4, +(PID.TID 0000.0001) >### nbeg = 1, +(PID.TID 0000.0001) > iGloPos = 15, +(PID.TID 0000.0001) > jGloPos = 5, +(PID.TID 0000.0001) > kGloPos = 4, +(PID.TID 0000.0001) > iGloTile = 1, +(PID.TID 0000.0001) > jgloTile = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) ># to test xx_tr1 set 17 +(PID.TID 0000.0001) >### grdchkvarindex = 17, +(PID.TID 0000.0001) ># to test xx_genarr3d set 201 +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-03 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.5800000000000E+02 +(PID.TID 0000.0001) %MON XC_min = 2.0000000000000E+00 +(PID.TID 0000.0001) %MON XC_mean = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON XG_max = 3.5600000000000E+02 +(PID.TID 0000.0001) %MON XG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON XG_mean = 1.7800000000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON DXC_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXC_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXC_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXC_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXF_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXF_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXF_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXF_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXG_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXG_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXG_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON DXV_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXV_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXV_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXV_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON YC_max = 7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_min = -7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON YC_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON YG_max = 7.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = -8.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -2.0000000000000E+00 +(PID.TID 0000.0001) %MON YG_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON DYC_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON DYF_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON DYG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON DYU_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON RA_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RA_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RA_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RA_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAW_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RAW_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RAW_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RAW_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAS_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAS_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAS_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAS_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON RAZ_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAZ_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAZ_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAZ_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 37994 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 616 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 586 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 557 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 10880 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 21760 +(PID.TID 0000.0001) ctrl-wet 8: atmos 21760 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 20 37994 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 2158 2004 2052 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 2155 2003 2049 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 2154 2002 2048 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 2151 2000 2047 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 2148 1997 2044 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 2143 1993 2040 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2143 1993 2040 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 2141 1993 2038 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 2139 1991 2036 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 2134 1986 2030 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 2126 1977 2022 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 2108 1961 2003 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 2101 1954 1995 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 2086 1938 1981 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 2054 1903 1946 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 16 1998 1841 1879 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 17 1844 1650 1702 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 18 1180 951 996 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 19 754 556 602 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 20 277 168 186 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 1 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 37994 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 18000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 010880 009660 010196 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 012622 011628 012169 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 004933 004598 004381 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 009559 008975 008990 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_ptr1 +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4265546244797E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4265546244797E-04 +(PID.TID 0000.0001) %MON fCori_mean = 4.7801269115805E-19 +(PID.TID 0000.0001) %MON fCori_sd = 9.6599226301546E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4151032568025E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4362679550910E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -3.5906698877273E-06 +(PID.TID 0000.0001) %MON fCoriG_sd = 9.6548915696246E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4575362704741E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.0322354601388E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 1.0288600773633E-04 +(PID.TID 0000.0001) %MON fCoriCos_sd = 3.6784304327266E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 8.8319877372200804E-05 +(PID.TID 0000.0001) INI_CG2D: cg2dTolerance = 1.227458930695841E-17 (Area=3.3354908559E+14) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 1.600000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 1.520000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.450000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.390000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 1.330000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 1.240000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 1.130000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 9.900000000000000E+00, /* K = 8 */ +(PID.TID 0000.0001) 8.400000000000000E+00, /* K = 9 */ +(PID.TID 0000.0001) 6.700000000000000E+00, /* K = 10 */ +(PID.TID 0000.0001) 5.200000000000000E+00, /* K = 11 */ +(PID.TID 0000.0001) 3.800000000000000E+00, /* K = 12 */ +(PID.TID 0000.0001) 2.900000000000000E+00, /* K = 13 */ +(PID.TID 0000.0001) 2.300000000000000E+00, /* K = 14 */ +(PID.TID 0000.0001) 1.800000000000000E+00, /* K = 15 */ +(PID.TID 0000.0001) 1.500000000000000E+00, /* K = 16 */ +(PID.TID 0000.0001) 1.100000000000000E+00, /* K = 17 */ +(PID.TID 0000.0001) 8.000000000000000E-01, /* K = 18 */ +(PID.TID 0000.0001) 6.600000000000000E-01, /* K = 19 */ +(PID.TID 0000.0001) 6.300000000000000E-01 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 3.465000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 3.475000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 3.482000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 3.487000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2 @ 3.490000000000000E+01, /* K = 5: 6 */ +(PID.TID 0000.0001) 3.486000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 3.478000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 3.469000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 3.460000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 3.458000000000000E+01, /* K = 11 */ +(PID.TID 0000.0001) 3.462000000000000E+01, /* K = 12 */ +(PID.TID 0000.0001) 3.468000000000000E+01, /* K = 13 */ +(PID.TID 0000.0001) 3.472000000000000E+01, /* K = 14 */ +(PID.TID 0000.0001) 3.473000000000000E+01, /* K = 15 */ +(PID.TID 0000.0001) 3.474000000000000E+01, /* K = 16 */ +(PID.TID 0000.0001) 2 @ 3.473000000000000E+01, /* K = 17: 18 */ +(PID.TID 0000.0001) 2 @ 3.472000000000000E+01 /* K = 19: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02, /* K = 1 */ +(PID.TID 0000.0001) 1.000033953200000E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.000225714840000E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.000382683440000E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.000524855000000E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.000704819000000E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.000895180920000E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.001115936760000E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.001349290080000E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.001622635400000E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.001907778360000E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.002217316440000E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.002441671560000E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.002591241640000E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.002698620160000E+03, /* K = 15 */ +(PID.TID 0000.0001) 1.002766006680000E+03, /* K = 16 */ +(PID.TID 0000.0001) 1.002838592160000E+03, /* K = 17 */ +(PID.TID 0000.0001) 1.002898580160000E+03, /* K = 18 */ +(PID.TID 0000.0001) 1.002919176040000E+03, /* K = 19 */ +(PID.TID 0000.0001) 1.002925174840000E+03 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 4.591080000000024E-05, /* K = 2 */ +(PID.TID 0000.0001) 3.583920000000001E-05, /* K = 3 */ +(PID.TID 0000.0001) 2.678556521739093E-05, /* K = 4 */ +(PID.TID 0000.0001) 2.231971200000012E-05, /* K = 5 */ +(PID.TID 0000.0001) 2.616000000000001E-05, /* K = 6 */ +(PID.TID 0000.0001) 2.490432000000007E-05, /* K = 7 */ +(PID.TID 0000.0001) 2.475483428571444E-05, /* K = 8 */ +(PID.TID 0000.0001) 2.129910697674396E-05, /* K = 9 */ +(PID.TID 0000.0001) 1.950584727272747E-05, /* K = 10 */ +(PID.TID 0000.0001) 1.576232112676044E-05, /* K = 11 */ +(PID.TID 0000.0001) 1.320511304347824E-05, /* K = 12 */ +(PID.TID 0000.0001) 7.590910344827643E-06, /* K = 13 */ +(PID.TID 0000.0001) 4.076599999999984E-06, /* K = 14 */ +(PID.TID 0000.0001) 2.394531818181785E-06, /* K = 15 */ +(PID.TID 0000.0001) 1.259417142857214E-06, /* K = 16 */ +(PID.TID 0000.0001) 1.162785306122388E-06, /* K = 17 */ +(PID.TID 0000.0001) 8.530434782608699E-07, /* K = 18 */ +(PID.TID 0000.0001) 2.694480000000193E-07, /* K = 19 */ +(PID.TID 0000.0001) 7.403773584905668E-08 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 20 @ 1.000000000000000E-03 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 20 @ 0.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 20 @ 3.000000000000000E-05 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'LINEAR' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tAlpha = /* Linear EOS thermal expansion coefficient ( 1/oC ) */ +(PID.TID 0000.0001) 2.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sBeta = /* Linear EOS haline contraction coefficient ( 1/(g/kg) ) */ +(PID.TID 0000.0001) 7.400000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoNil = /* Reference density for Linear EOS ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 20 @ 1.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 21 @ 1.000000000000000E+00 /* K = 1: 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 20 @ 1.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 21 @ 1.000000000000000E+00 /* K = 1: 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.500000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 200 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) 9.999999999999999E-25 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 2.400000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 20 @ 8.640000000000000E+04 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.925333200592357E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 3.456000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 1.000200040008002E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 5.250000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 5.750000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 6.250000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 6.750000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 7.500000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 8.750000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 1.075000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 1.375000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 1.775000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 2.300000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 3.600000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 5.250000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 6.125000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) 6.900000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) 7.500000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) 7.950000000000000E+02, /* K = 20 */ +(PID.TID 0000.0001) 4.075000000000000E+02 /* K = 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 2 @ 5.000000000000000E+01, /* K = 1: 2 */ +(PID.TID 0000.0001) 5.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 6.500000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 8.000000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 9.500000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 1.550000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 2.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 2.600000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 3.200000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 4.000000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 4.800000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 5.700000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 6.550000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) 7.250000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) 7.750000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) 8.150000000000000E+02 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 90 @ 4.000000000000000E+00 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 40 @ 4.000000000000000E+00 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.200000000000000E+01, /* I = 21 */ +(PID.TID 0000.0001) 8.600000000000000E+01, /* I = 22 */ +(PID.TID 0000.0001) 9.000000000000000E+01, /* I = 23 */ +(PID.TID 0000.0001) 9.400000000000000E+01, /* I = 24 */ +(PID.TID 0000.0001) 9.800000000000000E+01, /* I = 25 */ +(PID.TID 0000.0001) 1.020000000000000E+02, /* I = 26 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.700000000000000E+02, /* I = 43 */ +(PID.TID 0000.0001) 1.740000000000000E+02, /* I = 44 */ +(PID.TID 0000.0001) 1.780000000000000E+02, /* I = 45 */ +(PID.TID 0000.0001) 1.820000000000000E+02, /* I = 46 */ +(PID.TID 0000.0001) 1.860000000000000E+02, /* I = 47 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* I = 48 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.580000000000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 2.620000000000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 2.660000000000000E+02, /* I = 67 */ +(PID.TID 0000.0001) 2.700000000000000E+02, /* I = 68 */ +(PID.TID 0000.0001) 2.740000000000000E+02, /* I = 69 */ +(PID.TID 0000.0001) 2.780000000000000E+02, /* I = 70 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.500000000000000E+02, /* I = 88 */ +(PID.TID 0000.0001) 3.540000000000000E+02, /* I = 89 */ +(PID.TID 0000.0001) 3.580000000000000E+02 /* I = 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.800000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.400000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.000000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -6.600000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -6.200000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -5.800000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -5.400000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -4.600000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -4.200000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -3.800000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -3.400000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -2.600000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -2.200000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -1.800000000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -1.400000000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -6.000000000000000E+00, /* J = 19 */ +(PID.TID 0000.0001) -2.000000000000000E+00, /* J = 20 */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* J = 21 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* J = 22 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) 2.600000000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) 3.400000000000000E+01, /* J = 29 */ +(PID.TID 0000.0001) 3.800000000000000E+01, /* J = 30 */ +(PID.TID 0000.0001) 4.200000000000000E+01, /* J = 31 */ +(PID.TID 0000.0001) 4.600000000000000E+01, /* J = 32 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* J = 33 */ +(PID.TID 0000.0001) 5.400000000000000E+01, /* J = 34 */ +(PID.TID 0000.0001) 5.800000000000000E+01, /* J = 35 */ +(PID.TID 0000.0001) 6.200000000000000E+01, /* J = 36 */ +(PID.TID 0000.0001) 6.600000000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 7.400000000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 7.800000000000000E+01 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -7.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.275000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -1.850000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -2.475000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -3.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -3.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -4.775000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -5.850000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -7.225000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -9.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -1.130000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -1.780000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -2.220000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -2.745000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -3.357500000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -4.047500000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -4.797500000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -5.592500000000000E+03 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -1.550000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -2.150000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -2.800000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -3.500000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -4.300000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -5.250000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -6.450000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -8.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -1.000000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -1.260000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -1.580000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -1.980000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -2.460000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -3.030000000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -3.685000000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -4.410000000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -5.185000000000000E+03, /* K = 20 */ +(PID.TID 0000.0001) -6.000000000000000E+03 /* K = 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 20 @ 1.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 21 @ 1.000000000000000E+00 /* K = 1: 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 3.433488626798250E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.433488626798250E+10, /* J = 1 */ +(PID.TID 0000.0001) 4.783442523123625E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 3 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 4 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 5 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 6 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 19 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 20 */ +(PID.TID 0000.0001) 1.977267295821495E+11, /* J = 21 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 37 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 38 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.783442523123625E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.335490855875281E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.100000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_CHECK: #define ALLOW_PTRACERS +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // PTRACERS parameters +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) PTRACERS_numInUse = /* number of tracers */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_Iter0 = /* timestep number when tracers are initialized */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_startAllTrc =/* all tracers start @ startTime */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_doAB_onGpTr =/* apply AB on Tendencies (rather than on Tracers) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_addSrelax2EmP =/* add Salt relaxation to EmP */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dTLev = /* Ptracer timestep ( s ) */ +(PID.TID 0000.0001) 20 @ 8.640000000000000E+04 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_monitorFreq = /* Frequency^-1 for monitor output (s) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dumpFreq = /* Frequency^-1 for snapshot output (s) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_taveFreq = /* Frequency^-1 for time-Aver. output (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useRecords = /* all tracers in 1 file */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_timeave_mnc = /* use MNC for Tave output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_snapshot_mnc = /* use MNC for snapshot output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_write_mnc = /* use MNC for writing pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_read_mnc = /* use MNC for reading pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 1 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '01' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 20 @ 3.000000000000000E-05 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 1.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 19 @ 0.000000000000000E+00 /* K = 2: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 1 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 0 +(PID.TID 0000.0001) %MON time_secondsf = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9329580307007E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8496928215027E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.4434668483202E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.2513626348502E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.1755281830340E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7439460754395E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1028352737427E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4718545511620E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.8229416934120E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 8.2249504761060E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_max = 1.6004334390163E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.0329221189022E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 4.1280488583042E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 5.5800359441598E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.2370368543277E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 8.4633164107800E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -7.0490099489689E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = 2.8803575798275E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 2.2193297771215E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.1170835219132E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON pe_b_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON ke_vol = 1.4474490094807E+18 +(PID.TID 0000.0001) %MON vort_r_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_r_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON vort_a_mean = -1.8620194793381E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3819348238724E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.1817369821813E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.0010250762040E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 1.1521963240253E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0672023052516E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 +(PID.TID 0000.0001) cg2d_init_res = 2.78780403600002E+01 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 193 +(PID.TID 0000.0001) cg2d_last_res = 1.05064798940203E-17 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 1 +(PID.TID 0000.0001) %MON time_secondsf = 8.6400000000000E+04 +(PID.TID 0000.0001) %MON dynstat_eta_max = 1.6743052600424E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -1.3455863869852E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = 9.3689358928851E-18 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 4.3408438286638E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.4693072840009E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 7.6568006879409E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -9.9209029407204E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.0862912534280E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 3.1095830800429E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 3.2885831448895E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 9.0871363656057E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -1.3005606017108E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.2707164556280E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 4.9820272816924E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 4.0045244193533E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 4.4119853376755E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -2.9804148516926E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -9.5396253396688E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 1.7868311507756E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 1.9816405776776E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9327980755348E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8513879261731E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.4434668483202E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.2510831025359E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.1683993482881E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7438512393600E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1031060186620E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4718545511620E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.8219507328089E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 8.2344897487274E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_max = 1.6004334390163E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.0329221189022E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 4.1280488583042E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 5.5800359441598E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.2370368543277E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 8.4633164107800E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -7.0490099489689E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = 2.8803575798275E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 2.2193297771215E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.1170835219132E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 2.6977069407749E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 1.1031754027236E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.8841667303896E-02 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 3.4389055671184E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 2.5267806642809E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 1.5537798739418E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 1.7367998966642E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 2.1298244853148E-04 +(PID.TID 0000.0001) %MON ke_max = 4.9157938604515E-03 +(PID.TID 0000.0001) %MON ke_mean = 1.6900689799910E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.4474490094807E+18 +(PID.TID 0000.0001) %MON vort_r_min = -3.0400601742071E-07 +(PID.TID 0000.0001) %MON vort_r_max = 2.9340104619709E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -1.8620194793382E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3819142035417E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.1817369821813E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.0010207052842E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 6.0600014278863E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 2.1441792214511E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 1.0042254150255E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = 4.2092357168592E-79 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 1.1521963240253E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0643562464203E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 2.7841954026231E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 +(PID.TID 0000.0001) cg2d_init_res = 2.44467587231599E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 188 +(PID.TID 0000.0001) cg2d_last_res = 9.41383025913911E-18 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 2 +(PID.TID 0000.0001) %MON time_secondsf = 1.7280000000000E+05 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.1722938479298E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.1180052058262E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -2.6233020500078E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 6.7566276976025E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.5963390736788E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 1.5349909649340E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -1.9061986513844E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.6400805887536E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 5.7854632395256E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 6.1858910099046E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 1.7704435114990E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -2.5435925132025E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.4264608498679E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 8.8549455675063E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 7.5495195703149E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 8.8364156103437E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -5.9524948848794E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -6.5561960226663E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 3.4064111608528E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 3.7485366218700E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9326233278365E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8491828881337E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.4433949924863E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.2508207215487E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.1215119746026E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7437632997837E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1033203489564E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4718542823795E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.8211408444131E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 8.2272810197565E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_max = 1.6004334390163E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.0329221189022E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 4.1280488583042E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 5.5800359441598E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.2370368543277E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 8.4633164107800E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -7.0490099489689E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = 2.8803575798275E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 2.2193297771215E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.1170835219132E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 3.4396042957797E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 2.5477453623859E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 1.4418143360672E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 5.9828840721427E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 4.9417923099586E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 3.1131438583132E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 3.4786496603512E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 5.1600685488463E-04 +(PID.TID 0000.0001) %MON ke_max = 1.8344723279920E-02 +(PID.TID 0000.0001) %MON ke_mean = 5.2871985504159E-05 +(PID.TID 0000.0001) %MON ke_vol = 1.4474490094807E+18 +(PID.TID 0000.0001) %MON vort_r_min = -5.9016503193913E-07 +(PID.TID 0000.0001) %MON vort_r_max = 5.6830858846864E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -1.8620194793382E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3819041903640E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.1817354111469E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.0010698930140E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 4.1467193481605E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 1.8391512492940E-07 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 1.0135028593422E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = -2.3477632371764E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 1.1521869985534E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0617001604937E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 4.4700606541972E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 +(PID.TID 0000.0001) cg2d_init_res = 3.42292070136256E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 186 +(PID.TID 0000.0001) cg2d_last_res = 1.13966875122246E-17 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 3 +(PID.TID 0000.0001) %MON time_secondsf = 2.5920000000000E+05 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.4140754918102E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3612137980944E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -4.2722347671556E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.6426133342662E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.3632240946692E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.2141094835870E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -2.7588418338258E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.6665508561476E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 8.3985173092517E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 8.6142553628778E-05 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 2.6054430028602E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -3.7485964306326E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 1.1207885178595E-03 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.2354962037809E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.0292211707282E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.3121798223018E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -8.7994735809658E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -3.1338158955948E-08 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 4.8185884395796E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 5.1970403022149E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9324393327545E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8433200099543E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.4434166596962E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.2506397887185E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.0622124453523E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7436798088433E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1035935877654E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4718542808429E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.8204831087947E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 8.2068695865780E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_max = 1.6004334390163E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.0329221189022E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 4.1280488583042E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 5.5800359441598E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.2370368543277E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 8.4633164107800E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -7.0490099489689E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = 2.8803575798275E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 2.2193297771215E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.1170835219132E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 5.9849338443010E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 4.9923946694845E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 2.8742625017039E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 7.7134445371948E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 7.2829216621317E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 4.5837464677179E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 5.1296969109274E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 6.6020569779455E-04 +(PID.TID 0000.0001) %MON ke_max = 3.9075413857354E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.0304434708380E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.4474490094807E+18 +(PID.TID 0000.0001) %MON vort_r_min = -8.6228013318125E-07 +(PID.TID 0000.0001) %MON vort_r_max = 8.3600040616676E-07 +(PID.TID 0000.0001) %MON vort_a_mean = -1.8620194793382E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3819044706365E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.1817357372569E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.0011062181928E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 1.7664004093575E-06 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = 7.4273904255599E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 1.0365841835399E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = -6.3110104723254E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 1.1521451706624E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0591631665363E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 6.1213823969941E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) cg2d_init_res = 3.90975289118563E+00 +(PID.TID 0000.0001) cg2d_iters(min,last) = -1 188 +(PID.TID 0000.0001) cg2d_last_res = 1.19835178092004E-17 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON time_tsnumber = 4 +(PID.TID 0000.0001) %MON time_secondsf = 3.4560000000000E+05 +(PID.TID 0000.0001) %MON dynstat_eta_max = 2.4965434427476E+00 +(PID.TID 0000.0001) %MON dynstat_eta_min = -2.3353439381795E+00 +(PID.TID 0000.0001) %MON dynstat_eta_mean = -1.8737871785770E-16 +(PID.TID 0000.0001) %MON dynstat_eta_sd = 7.7757200900409E-01 +(PID.TID 0000.0001) %MON dynstat_eta_del2 = 3.1485297038807E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_max = 2.7975586143468E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_min = -3.5403346233508E-01 +(PID.TID 0000.0001) %MON dynstat_uvel_mean = -1.4166161294004E-03 +(PID.TID 0000.0001) %MON dynstat_uvel_sd = 1.1136898417508E-02 +(PID.TID 0000.0001) %MON dynstat_uvel_del2 = 1.0611319362049E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_max = 3.4070558210048E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_min = -4.8895811484273E-01 +(PID.TID 0000.0001) %MON dynstat_vvel_mean = 6.4330455157150E-04 +(PID.TID 0000.0001) %MON dynstat_vvel_sd = 1.5264434258408E-02 +(PID.TID 0000.0001) %MON dynstat_vvel_del2 = 1.2184250405457E-04 +(PID.TID 0000.0001) %MON dynstat_wvel_max = 1.7199202381894E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_min = -1.1447923391891E-03 +(PID.TID 0000.0001) %MON dynstat_wvel_mean = -9.0867344519065E-09 +(PID.TID 0000.0001) %MON dynstat_wvel_sd = 6.0062696933672E-05 +(PID.TID 0000.0001) %MON dynstat_wvel_del2 = 6.3099042930147E-07 +(PID.TID 0000.0001) %MON dynstat_theta_max = 2.9322579385039E+01 +(PID.TID 0000.0001) %MON dynstat_theta_min = -1.8143597695966E+00 +(PID.TID 0000.0001) %MON dynstat_theta_mean = 3.4434413012240E+00 +(PID.TID 0000.0001) %MON dynstat_theta_sd = 4.2504854943091E+00 +(PID.TID 0000.0001) %MON dynstat_theta_del2 = 5.0063053064132E-03 +(PID.TID 0000.0001) %MON dynstat_salt_max = 3.7436005928498E+01 +(PID.TID 0000.0001) %MON dynstat_salt_min = 3.1038905895788E+01 +(PID.TID 0000.0001) %MON dynstat_salt_mean = 3.4718543405790E+01 +(PID.TID 0000.0001) %MON dynstat_salt_sd = 2.8199011833275E-01 +(PID.TID 0000.0001) %MON dynstat_salt_del2 = 8.1826785630806E-04 +(PID.TID 0000.0001) %MON forcing_qnet_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qnet_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_qsw_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_empmr_del2 = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON forcing_fu_max = 1.6004334390163E-01 +(PID.TID 0000.0001) %MON forcing_fu_min = -1.0329221189022E-01 +(PID.TID 0000.0001) %MON forcing_fu_mean = 4.1280488583042E-03 +(PID.TID 0000.0001) %MON forcing_fu_sd = 5.5800359441598E-02 +(PID.TID 0000.0001) %MON forcing_fu_del2 = 3.2370368543277E-04 +(PID.TID 0000.0001) %MON forcing_fv_max = 8.4633164107800E-02 +(PID.TID 0000.0001) %MON forcing_fv_min = -7.0490099489689E-02 +(PID.TID 0000.0001) %MON forcing_fv_mean = 2.8803575798275E-03 +(PID.TID 0000.0001) %MON forcing_fv_sd = 2.2193297771215E-02 +(PID.TID 0000.0001) %MON forcing_fv_del2 = 2.1170835219132E-04 +(PID.TID 0000.0001) %MON trAdv_CFL_u_max = 7.7161954703141E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_v_max = 7.3449834843829E-02 +(PID.TID 0000.0001) %MON trAdv_CFL_w_max = 4.2232817386396E-01 +(PID.TID 0000.0001) %MON advcfl_uvel_max = 8.5910483431361E-02 +(PID.TID 0000.0001) %MON advcfl_vvel_max = 9.4996719768586E-02 +(PID.TID 0000.0001) %MON advcfl_wvel_max = 5.9435516508115E-01 +(PID.TID 0000.0001) %MON advcfl_W_hf_max = 6.6665346136486E-01 +(PID.TID 0000.0001) %MON pe_b_mean = 6.8340276198649E-04 +(PID.TID 0000.0001) %MON ke_max = 6.5658211688714E-02 +(PID.TID 0000.0001) %MON ke_mean = 1.6308888218461E-04 +(PID.TID 0000.0001) %MON ke_vol = 1.4474490094807E+18 +(PID.TID 0000.0001) %MON vort_r_min = -1.1142780134389E-06 +(PID.TID 0000.0001) %MON vort_r_max = 1.0945056568835E-06 +(PID.TID 0000.0001) %MON vort_a_mean = -1.8620194793382E-05 +(PID.TID 0000.0001) %MON vort_a_sd = 7.3819102578469E-05 +(PID.TID 0000.0001) %MON vort_p_mean = -2.1817369223887E-05 +(PID.TID 0000.0001) %MON vort_p_sd = 1.0011199422819E-04 +(PID.TID 0000.0001) %MON surfExpan_theta_mean = 3.6636405801357E-07 +(PID.TID 0000.0001) %MON surfExpan_salt_mean = -1.3479900614701E-08 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR dynamic field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Begin MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %MON trcstat_ptracer01_max = 1.0640605525151E+00 +(PID.TID 0000.0001) %MON trcstat_ptracer01_min = -1.1381665492144E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_mean = 1.1520685994679E-02 +(PID.TID 0000.0001) %MON trcstat_ptracer01_sd = 1.0567383186993E-01 +(PID.TID 0000.0001) %MON trcstat_ptracer01_del2 = 7.7833603450914E-05 +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End MONITOR ptracer field statistics +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) %CHECKPOINT 4 ckptA +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 4.03588273911737E-12 1.47881353008628E+03 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = -6.82121026329696E-13 7.98899709494991E+03 +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = 4.95674612466246E-11 2.20410845001181E+04 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 +(PID.TID 0000.0001) grdchk reference fc: fcref = 1.84102723380947E+14 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc adj grad fd grad 1 - fd/adj + grad-res exact position met: + grad-res 0 1881 15 5 4 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1881 37994 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 616 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1232 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1848 1 + ph-grd -->hit<-- 15 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 15 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471742246D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723377715D+15 +(PID.TID 0000.0001) global fc = 0.184102723377715D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723377715E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471806894D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723384179D+15 +(PID.TID 0000.0001) global fc = 0.184102723384179D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723384179E+14 +grad-res ------------------------------- + grad-res 0 1 15 5 4 1 1 1 1.84102723381E+14 1.84102723378E+14 1.84102723384E+14 + grad-res 0 1 1 1881 0 1 1 1 -3.23242721513E+07 -3.23242187500E+07 1.65204955460E-06 +(PID.TID 0000.0001) ADM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.23242721512994E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.23242187500000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1882 37994 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1881 2 + ph-grd -->hit<-- 16 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 16 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471753096D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723378800D+15 +(PID.TID 0000.0001) global fc = 0.184102723378800D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723378800E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471796044D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723383094D+15 +(PID.TID 0000.0001) global fc = 0.184102723383094D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723383094E+14 +grad-res ------------------------------- + grad-res 0 2 16 5 4 1 1 1 1.84102723381E+14 1.84102723379E+14 1.84102723383E+14 + grad-res 0 2 2 1882 0 1 1 1 -2.14737521330E+07 -2.14737500000E+07 9.93301442209E-08 +(PID.TID 0000.0001) ADM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) ADM adjoint_gradient = -2.14737521329909E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -2.14737500000000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1883 37994 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1882 3 + ph-grd -->hit<-- 17 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 17 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471730206D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723376511D+15 +(PID.TID 0000.0001) global fc = 0.184102723376511D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723376511E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471818934D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723385383D+15 +(PID.TID 0000.0001) global fc = 0.184102723385383D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723385383E+14 +grad-res ------------------------------- + grad-res 0 3 17 5 4 1 1 1 1.84102723381E+14 1.84102723377E+14 1.84102723385E+14 + grad-res 0 3 3 1883 0 1 1 1 -4.43643318051E+07 -4.43642187500E+07 2.54833237046E-06 +(PID.TID 0000.0001) ADM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) ADM adjoint_gradient = -4.43643318050628E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -4.43642187500000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1884 37994 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1883 4 + ph-grd -->hit<-- 18 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 18 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471743619D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723377852D+15 +(PID.TID 0000.0001) global fc = 0.184102723377852D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723377852E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471805521D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723384042D+15 +(PID.TID 0000.0001) global fc = 0.184102723384042D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723384042E+14 +grad-res ------------------------------- + grad-res 0 4 18 5 4 1 1 1 1.84102723381E+14 1.84102723378E+14 1.84102723384E+14 + grad-res 0 4 4 1884 0 1 1 1 -3.09510269421E+07 -3.09509375000E+07 2.88979460350E-06 +(PID.TID 0000.0001) ADM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.09510269421106E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.09509375000000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1885 37994 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1884 5 + ph-grd -->hit<-- 19 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 19 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471741881D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723377678D+15 +(PID.TID 0000.0001) global fc = 0.184102723377678D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723377678E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471807259D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723384216D+15 +(PID.TID 0000.0001) global fc = 0.184102723384216D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723384216E+14 +grad-res ------------------------------- + grad-res 0 5 19 5 4 1 1 1 1.84102723381E+14 1.84102723378E+14 1.84102723384E+14 + grad-res 0 5 5 1885 0 1 1 1 -3.26888456348E+07 -3.26889062500E+07 -1.85430770894E-06 +(PID.TID 0000.0001) ADM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) ADM adjoint_gradient = -3.26888456348215E+07 +(PID.TID 0000.0001) ADM finite-diff_grad = -3.26889062500000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) ADJ GRAD(FC) 1-FDGRD/ADGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 15 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 1 1.8410272338095E+14 1.8410272337771E+14 1.8410272338418E+14 +(PID.TID 0000.0001) grdchk output (g): 1 -3.2324218750000E+07 -3.2324272151299E+07 1.6520495546013E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 16 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 2 1.8410272338095E+14 1.8410272337880E+14 1.8410272338309E+14 +(PID.TID 0000.0001) grdchk output (g): 2 -2.1473750000000E+07 -2.1473752132991E+07 9.9330144220922E-08 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 17 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 3 1.8410272338095E+14 1.8410272337651E+14 1.8410272338538E+14 +(PID.TID 0000.0001) grdchk output (g): 3 -4.4364218750000E+07 -4.4364331805063E+07 2.5483323704556E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 18 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 4 1.8410272338095E+14 1.8410272337785E+14 1.8410272338404E+14 +(PID.TID 0000.0001) grdchk output (g): 4 -3.0950937500000E+07 -3.0951026942111E+07 2.8897946035000E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 19 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 5 1.8410272338095E+14 1.8410272337768E+14 1.8410272338422E+14 +(PID.TID 0000.0001) grdchk output (g): 5 -3.2688906250000E+07 -3.2688845634822E+07 -1.8543077089372E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 2.0504878448098E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 27.047916263341904 +(PID.TID 0000.0001) System time: 2.0048750347341411 +(PID.TID 0000.0001) Wall clock time: 29.144879102706909 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 5.1464000716805458E-002 +(PID.TID 0000.0001) System time: 1.1852999625261873E-002 +(PID.TID 0000.0001) Wall clock time: 6.3724994659423828E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 17.005991965532303 +(PID.TID 0000.0001) System time: 1.9461832940578461E-002 +(PID.TID 0000.0001) Wall clock time: 17.069626808166504 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "UPDATE_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.32979211211204529 +(PID.TID 0000.0001) System time: 4.1323900222778320E-004 +(PID.TID 0000.0001) Wall clock time: 0.33143687248229980 +(PID.TID 0000.0001) No. starts: 96 +(PID.TID 0000.0001) No. stops: 96 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 8.1838667392730713E-004 +(PID.TID 0000.0001) System time: 1.3984739780426025E-005 +(PID.TID 0000.0001) Wall clock time: 8.4137916564941406E-004 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 3.0297040939331055E-004 +(PID.TID 0000.0001) System time: 1.0088086128234863E-005 +(PID.TID 0000.0001) Wall clock time: 2.9826164245605469E-004 +(PID.TID 0000.0001) No. starts: 52 +(PID.TID 0000.0001) No. stops: 52 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.6506185531616211E-004 +(PID.TID 0000.0001) System time: 4.1425228118896484E-006 +(PID.TID 0000.0001) Wall clock time: 2.6845932006835938E-004 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.5336900949478149E-002 +(PID.TID 0000.0001) System time: 2.3841857910156250E-005 +(PID.TID 0000.0001) Wall clock time: 1.5416622161865234E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.7045112997293472 +(PID.TID 0000.0001) System time: 9.5810741186141968E-004 +(PID.TID 0000.0001) Wall clock time: 2.7128231525421143 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.4879390299320221 +(PID.TID 0000.0001) System time: 1.0461062192916870E-003 +(PID.TID 0000.0001) Wall clock time: 6.5058043003082275 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.9816790521144867 +(PID.TID 0000.0001) System time: 8.4996223449707031E-005 +(PID.TID 0000.0001) Wall clock time: 3.9919025897979736 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "UPDATE_CG2D [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 8.5112333297729492E-002 +(PID.TID 0000.0001) System time: 1.3113021850585938E-005 +(PID.TID 0000.0001) Wall clock time: 8.5364580154418945E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.3041900098323822 +(PID.TID 0000.0001) System time: 1.0132789611816406E-005 +(PID.TID 0000.0001) Wall clock time: 2.3097071647644043 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.13604497909545898 +(PID.TID 0000.0001) System time: 1.6935169696807861E-005 +(PID.TID 0000.0001) Wall clock time: 0.13638949394226074 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.24726682901382446 +(PID.TID 0000.0001) System time: 5.1259994506835938E-006 +(PID.TID 0000.0001) Wall clock time: 0.24792790412902832 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "CALC_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.5462448596954346E-002 +(PID.TID 0000.0001) System time: 9.0226531028747559E-006 +(PID.TID 0000.0001) Wall clock time: 2.5564908981323242E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.38325715065002441 +(PID.TID 0000.0001) System time: 1.0967254638671875E-005 +(PID.TID 0000.0001) Wall clock time: 0.38421702384948730 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.12249928712844849 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.12300944328308105 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 9.1468393802642822E-002 +(PID.TID 0000.0001) System time: 9.5367431640625000E-007 +(PID.TID 0000.0001) Wall clock time: 9.1725111007690430E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.7444491386413574E-003 +(PID.TID 0000.0001) System time: 6.0796737670898438E-006 +(PID.TID 0000.0001) Wall clock time: 1.7516613006591797E-003 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 5.7971894741058350E-002 +(PID.TID 0000.0001) System time: 1.0771967470645905E-002 +(PID.TID 0000.0001) Wall clock time: 6.9117069244384766E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "PTRACERS_RESET [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.8133392333984375E-004 +(PID.TID 0000.0001) System time: 1.9967555999755859E-006 +(PID.TID 0000.0001) Wall clock time: 2.8395652770996094E-004 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.3475050926208496E-002 +(PID.TID 0000.0001) System time: 5.9859901666641235E-003 +(PID.TID 0000.0001) Wall clock time: 2.9594659805297852E-002 +(PID.TID 0000.0001) No. starts: 48 +(PID.TID 0000.0001) No. stops: 48 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 16.086175918579102 +(PID.TID 0000.0001) System time: 1.5964984893798828E-002 +(PID.TID 0000.0001) Wall clock time: 16.144426822662354 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.58577442169189453 +(PID.TID 0000.0001) System time: 8.8802576065063477E-003 +(PID.TID 0000.0001) Wall clock time: 0.59696531295776367 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 15.422034263610840 +(PID.TID 0000.0001) System time: 4.8375129699707031E-004 +(PID.TID 0000.0001) Wall clock time: 15.462122678756714 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 15.421163558959961 +(PID.TID 0000.0001) System time: 4.7659873962402344E-004 +(PID.TID 0000.0001) Wall clock time: 15.461258649826050 +(PID.TID 0000.0001) No. starts: 44 +(PID.TID 0000.0001) No. stops: 44 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 4.8828125000000000E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 4.9495697021484375E-004 +(PID.TID 0000.0001) No. starts: 11 +(PID.TID 0000.0001) No. stops: 11 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 69264 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 69264 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/tutorial_tracer_adjsens/results/output_tap_tlm.txt b/verification/tutorial_tracer_adjsens/results/output_tap_tlm.txt new file mode 100644 index 0000000000..5aecb4fa67 --- /dev/null +++ b/verification/tutorial_tracer_adjsens/results/output_tap_tlm.txt @@ -0,0 +1,3175 @@ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // MITgcm UV +(PID.TID 0000.0001) // ========= +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // execution environment starting up... +(PID.TID 0000.0001) +(PID.TID 0000.0001) // MITgcmUV version: checkpoint68o +(PID.TID 0000.0001) // Build user: jmc +(PID.TID 0000.0001) // Build host: jaures.mit.edu +(PID.TID 0000.0001) // Build date: Thu May 18 03:18:48 PM EDT 2023 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Execution Environment parameter file "eedata" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># Example "eedata" file +(PID.TID 0000.0001) ># Lines beginning "#" are comments +(PID.TID 0000.0001) ># nTx - No. threads per process in X +(PID.TID 0000.0001) ># nTy - No. threads per process in Y +(PID.TID 0000.0001) > &EEPARMS +(PID.TID 0000.0001) > nTx=1, +(PID.TID 0000.0001) > nTy=1, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># Note: Some systems use & as the +(PID.TID 0000.0001) ># namelist terminator. Other systems +(PID.TID 0000.0001) ># use a / character (as shown here). +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Computational Grid Specification ( see files "SIZE.h" ) +(PID.TID 0000.0001) // ( and "eedata" ) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) nPx = 1 ; /* No. processes in X */ +(PID.TID 0000.0001) nPy = 1 ; /* No. processes in Y */ +(PID.TID 0000.0001) nSx = 2 ; /* No. tiles in X per process */ +(PID.TID 0000.0001) nSy = 2 ; /* No. tiles in Y per process */ +(PID.TID 0000.0001) sNx = 45 ; /* Tile size in X */ +(PID.TID 0000.0001) sNy = 20 ; /* Tile size in Y */ +(PID.TID 0000.0001) OLx = 3 ; /* Tile overlap distance in X */ +(PID.TID 0000.0001) OLy = 3 ; /* Tile overlap distance in Y */ +(PID.TID 0000.0001) nTx = 1 ; /* No. threads in X per process */ +(PID.TID 0000.0001) nTy = 1 ; /* No. threads in Y per process */ +(PID.TID 0000.0001) Nr = 20 ; /* No. levels in the vertical */ +(PID.TID 0000.0001) Nx = 90 ; /* Total domain size in X ( = nPx*nSx*sNx ) */ +(PID.TID 0000.0001) Ny = 40 ; /* Total domain size in Y ( = nPy*nSy*sNy ) */ +(PID.TID 0000.0001) nTiles = 4 ; /* Total no. tiles per process ( = nSx*nSy ) */ +(PID.TID 0000.0001) nProcs = 1 ; /* Total no. processes ( = nPx*nPy ) */ +(PID.TID 0000.0001) nThreads = 1 ; /* Total no. threads per process ( = nTx*nTy ) */ +(PID.TID 0000.0001) usingMPI = F ; /* Flag used to control whether MPI is in use */ +(PID.TID 0000.0001) /* note: To execute a program with MPI calls */ +(PID.TID 0000.0001) /* it must be launched appropriately e.g */ +(PID.TID 0000.0001) /* "mpirun -np 64 ......" */ +(PID.TID 0000.0001) useCoupler= F ; /* Flag used to control communications with */ +(PID.TID 0000.0001) /* other model components, through a coupler */ +(PID.TID 0000.0001) useNest2W_parent = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) useNest2W_child = F ;/* Control 2-W Nesting comm */ +(PID.TID 0000.0001) debugMode = F ; /* print debug msg. (sequence of S/R calls) */ +(PID.TID 0000.0001) printMapIncludesZeros= F ; /* print zeros in Std.Output maps */ +(PID.TID 0000.0001) maxLengthPrt1D= 65 /* maxLength of 1D array printed to StdOut */ +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Mapping of tiles to threads +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // -o- Thread 1, tiles ( 1: 2, 1: 2) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile connectvity table +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile number: 000001 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000002 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // EAST: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // SOUTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // NORTH: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // Tile number: 000003 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000004, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000001, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000001 +(PID.TID 0000.0001) // Tile number: 000004 (process no. = 000000) +(PID.TID 0000.0001) // WEST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // EAST: Tile = 000003, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000001, bj = 000002 +(PID.TID 0000.0001) // SOUTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) // NORTH: Tile = 000002, Process = 000000, Comm = put +(PID.TID 0000.0001) // bi = 000002, bj = 000001 +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS: opening model parameter file "data" +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># | Model parameters | +(PID.TID 0000.0001) ># ==================== +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># Continuous equation parameters +(PID.TID 0000.0001) > &PARM01 +(PID.TID 0000.0001) > tRef= 16.0 , 15.2 , 14.5 , 13.9 , 13.3 , +(PID.TID 0000.0001) > 12.4 , 11.3 , 9.9 , 8.4 , 6.7 , +(PID.TID 0000.0001) > 5.2 , 3.8 , 2.9 , 2.3 , 1.8 , +(PID.TID 0000.0001) > 1.5 , 1.1 , 0.8 , 0.66, 0.63, +(PID.TID 0000.0001) > sRef= 34.65, 34.75, 34.82, 34.87, 34.90, +(PID.TID 0000.0001) > 34.90, 34.86, 34.78, 34.69, 34.60, +(PID.TID 0000.0001) > 34.58, 34.62, 34.68, 34.72, 34.73, +(PID.TID 0000.0001) > 34.74, 34.73, 34.73, 34.72, 34.72, +(PID.TID 0000.0001) > viscAr=1.E-3, +(PID.TID 0000.0001) > viscAh=5.E5, +(PID.TID 0000.0001) > no_slip_sides=.FALSE., +(PID.TID 0000.0001) > no_slip_bottom=.TRUE., +(PID.TID 0000.0001) > diffKhT=1.E3, +(PID.TID 0000.0001) >#- diffKrT unused when compiled with ALLOW_3D_DIFFKR +(PID.TID 0000.0001) >#diffKrT=3.E-5, +(PID.TID 0000.0001) > diffKhS=1.E3, +(PID.TID 0000.0001) > diffKrS=3.E-5, +(PID.TID 0000.0001) > tAlpha=2.E-4, +(PID.TID 0000.0001) > sBeta =7.4E-4, +(PID.TID 0000.0001) > eosType='LINEAR', +(PID.TID 0000.0001) > gravity=9.81, +(PID.TID 0000.0001) > implicitDiffusion=.TRUE., +(PID.TID 0000.0001) > rigidLid=.FALSE., +(PID.TID 0000.0001) > implicitFreeSurface=.TRUE., +(PID.TID 0000.0001) > exactConserv=.TRUE., +(PID.TID 0000.0001) > useCDscheme=.TRUE., +(PID.TID 0000.0001) >#-nonlinear free surface +(PID.TID 0000.0001) > hFacInf=0.2, +(PID.TID 0000.0001) > hFacSup=2.0, +(PID.TID 0000.0001) > nonlinFreeSurf=3, +(PID.TID 0000.0001) > select_rStar=1, +(PID.TID 0000.0001) >#-I/O settings +(PID.TID 0000.0001) > readBinaryPrec=32, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Elliptic solver parameters +(PID.TID 0000.0001) > &PARM02 +(PID.TID 0000.0001) > useNSACGSolver=.FALSE., +(PID.TID 0000.0001) > cg2dMaxIters=200, +(PID.TID 0000.0001) >#cg2dTargetResidual=1.E-17, +(PID.TID 0000.0001) > cg2dTargetResWunit=1.E-24, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Time stepping parameters +(PID.TID 0000.0001) > &PARM03 +(PID.TID 0000.0001) ># startTime = 49766400000., +(PID.TID 0000.0001) > startTime = 0., +(PID.TID 0000.0001) ># endTime = 49767264000., +(PID.TID 0000.0001) > endTime = 345600., +(PID.TID 0000.0001) > deltaTClock = 86400., +(PID.TID 0000.0001) > deltaTFreeSurf = 86400., +(PID.TID 0000.0001) > deltaTMom = 2400., +(PID.TID 0000.0001) > tauCD = 321428., +(PID.TID 0000.0001) > cAdjFreq = -1., +(PID.TID 0000.0001) > abEps = 0.1, +(PID.TID 0000.0001) > pChkptFreq = 86400000., +(PID.TID 0000.0001) > chkptFreq = 86400000., +(PID.TID 0000.0001) > dumpFreq = 86400., +(PID.TID 0000.0001) > monitorFreq = 43200., +(PID.TID 0000.0001) > adjMonitorFreq = 43200., +(PID.TID 0000.0001) > monitorSelect = 4, +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > tauThetaClimRelax = 2592000., +(PID.TID 0000.0001) > tauSaltClimRelax = 2592000., +(PID.TID 0000.0001) >#tauTr1ClimRelax = 31104000., <= moved to data.ptracers +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Gridding parameters +(PID.TID 0000.0001) > &PARM04 +(PID.TID 0000.0001) > usingSphericalPolarGrid=.TRUE., +(PID.TID 0000.0001) > delR= 50., 50., 55., 60., +(PID.TID 0000.0001) > 65., 70., 80., 95., +(PID.TID 0000.0001) > 120., 155., 200., 260., +(PID.TID 0000.0001) > 320., 400., 480., 570., +(PID.TID 0000.0001) > 655., 725., 775., 815., +(PID.TID 0000.0001) > ygOrigin=-80., +(PID.TID 0000.0001) > delY=40*4., +(PID.TID 0000.0001) > delX=90*4., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># Input datasets +(PID.TID 0000.0001) > &PARM05 +(PID.TID 0000.0001) > hydrogThetaFile='theta.bin', +(PID.TID 0000.0001) > hydrogSaltFile='salt.bin', +(PID.TID 0000.0001) > bathyFile='topog.bin', +(PID.TID 0000.0001) > zonalWindFile='windx.bin', +(PID.TID 0000.0001) > meridWindFile='windy.bin', +(PID.TID 0000.0001) > thetaClimFile='SST.bin' +(PID.TID 0000.0001) > saltClimFile='SSS.bin' +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM01 +(PID.TID 0000.0001) INI_PARMS ; read PARM01 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM02 +(PID.TID 0000.0001) INI_PARMS ; read PARM02 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM03 +(PID.TID 0000.0001) INI_PARMS ; read PARM03 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM04 +(PID.TID 0000.0001) INI_PARMS ; read PARM04 : OK +(PID.TID 0000.0001) INI_PARMS ; starts to read PARM05 +(PID.TID 0000.0001) INI_PARMS ; read PARM05 : OK +(PID.TID 0000.0001) INI_PARMS: finished reading file "data" +(PID.TID 0000.0001) PACKAGES_BOOT: opening data.pkg +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.pkg +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.pkg" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) ># Packages +(PID.TID 0000.0001) ># ******** +(PID.TID 0000.0001) > &PACKAGES +(PID.TID 0000.0001) > usePtracers = .TRUE., +(PID.TID 0000.0001) > useGMRedi = .TRUE., +(PID.TID 0000.0001) > useKPP = .FALSE., +(PID.TID 0000.0001) > useGrdchk = .TRUE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PACKAGES_BOOT: finished reading data.pkg +(PID.TID 0000.0001) PACKAGES_BOOT: On/Off package Summary + -------- pkgs with a standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/kpp compiled but not used ( useKPP = F ) + pkg/gmredi compiled and used ( useGMRedi = T ) + pkg/autodiff compiled and used ( useAUTODIFF = T ) + pkg/grdchk compiled and used ( useGrdchk = T ) + pkg/ctrl compiled and used ( useCTRL = T ) + pkg/ptracers compiled and used ( usePTRACERS = T ) + -------- pkgs without standard "usePKG" On/Off switch in "data.pkg": -------- + pkg/generic_advdiff compiled and used ( useGAD = T ) + pkg/mom_common compiled and used ( momStepping = T ) + pkg/mom_vecinv compiled but not used ( +vectorInvariantMomentum = F ) + pkg/mom_fluxform compiled and used ( & not vectorInvariantMom = T ) + pkg/cd_code compiled and used ( useCDscheme = T ) + pkg/monitor compiled and used ( monitorFreq > 0. = T ) + pkg/debug compiled but not used ( debugMode = F ) + pkg/rw compiled and used + pkg/mdsio compiled and used + pkg/autodiff compiled and used + pkg/cost compiled and used +(PID.TID 0000.0001) PACKAGES_BOOT: End of package Summary +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: opening data.gmredi +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.gmredi +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.gmredi" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># GM+Redi package parameters: +(PID.TID 0000.0001) ># GM_Small_Number :: epsilon used in computing the slope +(PID.TID 0000.0001) ># GM_slopeSqCutoff :: slope^2 cut-off value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-from MOM : +(PID.TID 0000.0001) ># GM_background_K: G & Mc.W diffusion coefficient +(PID.TID 0000.0001) ># GM_maxSlope : max slope of isopycnals +(PID.TID 0000.0001) ># GM_Scrit : transition for scaling diffusion coefficient +(PID.TID 0000.0001) ># GM_Sd : half width scaling for diffusion coefficient +(PID.TID 0000.0001) ># GM_taper_scheme: slope clipping or one of the tapering schemes +(PID.TID 0000.0001) ># GM_Kmin_horiz : horizontal diffusion minimum value +(PID.TID 0000.0001) > +(PID.TID 0000.0001) >#-Option parameters (needs to "define" options in GMREDI_OPTIONS.h") +(PID.TID 0000.0001) ># GM_isopycK : isopycnal diffusion coefficient (default=GM_background_K) +(PID.TID 0000.0001) ># GM_AdvForm : turn on GM Advective form (default=Skew flux form) +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > &GM_PARM01 +(PID.TID 0000.0001) > GM_Small_Number = 1.D-20, +(PID.TID 0000.0001) > GM_slopeSqCutoff = 1.D+08, +(PID.TID 0000.0001) > GM_AdvForm = .TRUE., +(PID.TID 0000.0001) > GM_isopycK = 1.1D+3, +(PID.TID 0000.0001) > GM_background_K = 0.9D+3, +(PID.TID 0000.0001) ># GM_background_K = 1.D+3, +(PID.TID 0000.0001) > GM_taper_scheme = 'dm95', +(PID.TID 0000.0001) > GM_maxSlope = 1.D-2, +(PID.TID 0000.0001) > GM_Kmin_horiz = 50., +(PID.TID 0000.0001) > GM_Scrit = 4.D-3, +(PID.TID 0000.0001) > GM_Sd = 1.D-3, +(PID.TID 0000.0001) ># GM_Visbeck_alpha = 1.5D-2, +(PID.TID 0000.0001) > GM_Visbeck_alpha = 0., +(PID.TID 0000.0001) > GM_Visbeck_length = 2.D+5, +(PID.TID 0000.0001) > GM_Visbeck_depth = 1.D+3, +(PID.TID 0000.0001) > GM_Visbeck_maxval_K= 2.5D+3, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) > +(PID.TID 0000.0001) > +(PID.TID 0000.0001) +(PID.TID 0000.0001) GM_READPARMS: finished reading data.gmredi +(PID.TID 0000.0001) PTRACERS_READPARMS: opening data.ptracers +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ptracers +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ptracers" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># This set-up makes is supposed to immitate salt. That is, PTRACER(:,:,:,1) +(PID.TID 0000.0001) ># should look exactly like S(:,:,:). +(PID.TID 0000.0001) > &PTRACERS_PARM01 +(PID.TID 0000.0001) > PTRACERS_numInUse=1, +(PID.TID 0000.0001) > PTRACERS_advScheme=2, +(PID.TID 0000.0001) > PTRACERS_diffKh=1.E3, +(PID.TID 0000.0001) > PTRACERS_diffKr=3.E-5, +(PID.TID 0000.0001) > PTRACERS_initialFile=' ', +(PID.TID 0000.0001) > PTRACERS_ref=1., 19*0., +(PID.TID 0000.0001) > tauTr1ClimRelax= 31104000., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) PTRACERS_READPARMS: finished reading data.ptracers +(PID.TID 0000.0001) AUTODIFF_READPARMS: opening data.autodiff +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.autodiff +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.autodiff" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># pkg AUTODIFF parameters : +(PID.TID 0000.0001) ># ========================= +(PID.TID 0000.0001) ># inAdExact :: get an exact adjoint (no approximation) (def=.True.) +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > &AUTODIFF_PARM01 +(PID.TID 0000.0001) ># inAdExact = .FALSE., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) AUTODIFF_READPARMS: finished reading data.autodiff +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // AUTODIFF parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) inAdExact = /* get an exact adjoint (no approximation) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useApproxAdvectionInAdMode = /* approximate AD-advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dFullAdjoint = /* use full hand written cg2d adjoint (no approximation) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useKPPinAdMode = /* use KPP in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGMRediInAdMode = /* use GMRedi in adjoint mode */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSEAICEinAdMode = /* use SEAICE in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useGGL90inAdMode = /* use GGL90 in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSALT_PLUMEinAdMode = /* use SALT_PLUME in adjoint mode */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpAdVarExch = /* control adexch before dumpinp */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mon_AdVarExch = /* control adexch before monitor */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInFw = /* viscosity factor for forward model */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscFacInAd = /* viscosity factor for adjoint */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInAd = /* sea ice factor for adjoint model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) SIregFacInFw = /* sea ice factor for forward model */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: opening data.optim +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.optim +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.optim" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) ># Off-line optimization parameters +(PID.TID 0000.0001) ># ******************************** +(PID.TID 0000.0001) > &OPTIM +(PID.TID 0000.0001) > optimcycle=0, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) OPTIM_READPARMS: finished reading data.optim +(PID.TID 0000.0001) CTRL_READPARMS: opening data.ctrl +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.ctrl +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.ctrl" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># ECCO controlvariables +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for ctrl_pack/unpack +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_PACKNAMES +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) ># names for CTRL_GENARR, CTRL_GENTIM +(PID.TID 0000.0001) ># ********************* +(PID.TID 0000.0001) > &CTRL_NML_GENARR +(PID.TID 0000.0001) > xx_genarr3d_weight(1) = 'ones_64b.bin', +(PID.TID 0000.0001) > xx_genarr3d_file(1)='xx_ptr1', +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) CTRL_READPARMS: finished reading data.ctrl +(PID.TID 0000.0001) read-write ctrl files from current run directory +(PID.TID 0000.0001) COST_READPARMS: opening data.cost +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.cost +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.cost" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) ># ECCO cost function +(PID.TID 0000.0001) ># ****************** +(PID.TID 0000.0001) > &COST_NML +(PID.TID 0000.0001) ># +(PID.TID 0000.0001) > mult_tracer = 1., +(PID.TID 0000.0001) > mult_test = 1., +(PID.TID 0000.0001) > mult_atl = 1., +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_READPARMS: finished reading data.cost +(PID.TID 0000.0001) GRDCHK_READPARMS: opening data.grdchk +(PID.TID 0000.0001) OPEN_COPY_DATA_FILE: opening file data.grdchk +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Parameter file "data.grdchk" +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) > +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) ># ECCO gradient check +(PID.TID 0000.0001) ># ******************* +(PID.TID 0000.0001) > &GRDCHK_NML +(PID.TID 0000.0001) > grdchk_eps = 1.d-4, +(PID.TID 0000.0001) >### nbeg = 1, +(PID.TID 0000.0001) > iGloPos = 15, +(PID.TID 0000.0001) > jGloPos = 5, +(PID.TID 0000.0001) > kGloPos = 4, +(PID.TID 0000.0001) > iGloTile = 1, +(PID.TID 0000.0001) > jgloTile = 1, +(PID.TID 0000.0001) > nstep = 1, +(PID.TID 0000.0001) > nend = 4, +(PID.TID 0000.0001) ># to test xx_tr1 set 17 +(PID.TID 0000.0001) >### grdchkvarindex = 17, +(PID.TID 0000.0001) ># to test xx_genarr3d set 201 +(PID.TID 0000.0001) > grdchkvarindex = 201, +(PID.TID 0000.0001) > / +(PID.TID 0000.0001) +(PID.TID 0000.0001) GRDCHK_READPARMS: finished reading data.grdchk +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchkvarindex : 201 +(PID.TID 0000.0001) eps: 0.100E-03 +(PID.TID 0000.0001) First location: 0 +(PID.TID 0000.0001) Last location: 4 +(PID.TID 0000.0001) Increment: 1 +(PID.TID 0000.0001) grdchkWhichProc: 0 +(PID.TID 0000.0001) iLocTile = 1 , jLocTile = 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SET_PARMS: done +(PID.TID 0000.0001) Enter INI_VERTICAL_GRID: setInterFDr= T ; setCenterDr= F +(PID.TID 0000.0001) %MON XC_max = 3.5800000000000E+02 +(PID.TID 0000.0001) %MON XC_min = 2.0000000000000E+00 +(PID.TID 0000.0001) %MON XC_mean = 1.8000000000000E+02 +(PID.TID 0000.0001) %MON XC_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON XG_max = 3.5600000000000E+02 +(PID.TID 0000.0001) %MON XG_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON XG_mean = 1.7800000000000E+02 +(PID.TID 0000.0001) %MON XG_sd = 1.0391663325314E+02 +(PID.TID 0000.0001) %MON DXC_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXC_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXC_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXC_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXF_max = 4.4443898815675E+05 +(PID.TID 0000.0001) %MON DXF_min = 9.2460385861875E+04 +(PID.TID 0000.0001) %MON DXF_mean = 3.1372497618153E+05 +(PID.TID 0000.0001) %MON DXF_sd = 1.1216447457560E+05 +(PID.TID 0000.0001) %MON DXG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXG_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXG_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXG_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON DXV_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DXV_min = 7.7223062580781E+04 +(PID.TID 0000.0001) %MON DXV_mean = 3.1353386340261E+05 +(PID.TID 0000.0001) %MON DXV_sd = 1.1256651772502E+05 +(PID.TID 0000.0001) %MON YC_max = 7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_min = -7.8000000000000E+01 +(PID.TID 0000.0001) %MON YC_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON YC_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON YG_max = 7.6000000000000E+01 +(PID.TID 0000.0001) %MON YG_min = -8.0000000000000E+01 +(PID.TID 0000.0001) %MON YG_mean = -2.0000000000000E+00 +(PID.TID 0000.0001) %MON YG_sd = 4.6173585522461E+01 +(PID.TID 0000.0001) %MON DYC_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYC_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON DYF_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYF_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON DYG_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYG_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON DYU_max = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_min = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_mean = 4.4470989340816E+05 +(PID.TID 0000.0001) %MON DYU_sd = 5.2968971431255E-09 +(PID.TID 0000.0001) %MON RA_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RA_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RA_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RA_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAW_max = 1.9760627980089E+11 +(PID.TID 0000.0001) %MON RAW_min = 4.1109698667290E+10 +(PID.TID 0000.0001) %MON RAW_mean = 1.3948826965196E+11 +(PID.TID 0000.0001) %MON RAW_sd = 4.9870522472902E+10 +(PID.TID 0000.0001) %MON RAS_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAS_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAS_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAS_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON RAZ_max = 1.9772672958215E+11 +(PID.TID 0000.0001) %MON RAZ_min = 3.4334886267983E+10 +(PID.TID 0000.0001) %MON RAZ_mean = 1.3940329716694E+11 +(PID.TID 0000.0001) %MON RAZ_sd = 5.0049278732353E+10 +(PID.TID 0000.0001) %MON AngleCS_max = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_min = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_mean = 1.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleCS_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_max = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_min = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_mean = 0.0000000000000E+00 +(PID.TID 0000.0001) %MON AngleSN_sd = 0.0000000000000E+00 +(PID.TID 0000.0001) GAD_INIT_FIXED: GAD_OlMinSize= 1 0 1 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // GAD parameters : +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) tempAdvScheme = /* Temp. Horiz.Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempVertAdvScheme = /* Temp. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempMultiDimAdvec = /* use Muti-Dim Advec method for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempSOM_Advection = /* use 2nd Order Moment Advection for Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGt = /* apply Adams-Bashforth extrapolation on Gt */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_T = /* apply Adams-Bashforth extrapolation on Temp */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvScheme = /* Salt. Horiz.advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltVertAdvScheme = /* Salt. Vert. Advection scheme selector */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltMultiDimAdvec = /* use Muti-Dim Advec method for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltSOM_Advection = /* use 2nd Order Moment Advection for Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforthGs = /* apply Adams-Bashforth extrapolation on Gs */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) AdamsBashforth_S = /* apply Adams-Bashforth extrapolation on Salt */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) ctrl-wet 1: nvarlength = 37994 +(PID.TID 0000.0001) ctrl-wet 2: surface wet C = 616 +(PID.TID 0000.0001) ctrl-wet 3: surface wet W = 586 +(PID.TID 0000.0001) ctrl-wet 4: surface wet S = 557 +(PID.TID 0000.0001) ctrl-wet 4a:surface wet V = 0 +(PID.TID 0000.0001) ctrl-wet 5: 3D wet points = 10880 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 1 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 2 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 3 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 4 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 5 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 6 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 7 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 8 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 9 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 10 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 11 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 12 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 13 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 14 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 15 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 16 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 17 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 18 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 19 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 20 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 21 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 22 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 23 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 24 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 25 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 26 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 27 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 28 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 29 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 30 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 31 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 32 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 33 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 34 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 35 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 36 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 37 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 38 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 39 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 40 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 41 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 42 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 43 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 44 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 45 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 46 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 47 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 48 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 49 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 50 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 51 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 52 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 53 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 54 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 55 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 56 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 57 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 58 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 59 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 60 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 61 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 62 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 63 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 64 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 65 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 66 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 67 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 68 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 69 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 70 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 71 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 72 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 73 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 74 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 75 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 76 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 77 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 78 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 79 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 80 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 81 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 82 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 83 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 84 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 85 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 86 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 87 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 88 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 89 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 90 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 91 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 92 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 93 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 94 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 95 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 96 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 97 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 98 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 99 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 100 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 101 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 102 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 103 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 104 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 105 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 106 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 107 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 108 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 109 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 110 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 111 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 112 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 113 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 114 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 115 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 116 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 117 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 118 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 119 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 120 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 121 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 122 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 123 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 124 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 125 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 126 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 127 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 128 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 129 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 130 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 131 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 132 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 133 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 134 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 135 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 136 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 137 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 138 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 139 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 140 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 141 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 142 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 143 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 144 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 145 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 146 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 147 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 148 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 149 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 150 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 151 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 152 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 153 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 154 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 155 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 156 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 157 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 158 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 159 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 160 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 161 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 162 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 163 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 164 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 165 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 166 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 167 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 168 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 169 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 170 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 171 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 172 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 173 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 174 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 175 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 176 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 177 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 178 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 179 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 180 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 181 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 182 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 183 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 184 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 185 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 186 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 187 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 188 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 189 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 190 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 191 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 192 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 193 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 194 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 195 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 196 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 197 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 198 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 199 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 200 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 201 1 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 202 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 203 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 204 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 205 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 206 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 207 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 208 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 209 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 210 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 211 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 212 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 213 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 214 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 215 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 216 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 217 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 218 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 219 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 220 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 221 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 222 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 223 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 224 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 225 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 226 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 227 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 228 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 229 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 230 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 231 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 232 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 233 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 234 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 235 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 236 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 237 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 238 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 239 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 240 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 241 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 242 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 243 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 244 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 245 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 246 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 247 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 248 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 249 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 250 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 251 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 252 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 253 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 254 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 255 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 256 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 257 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 258 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 259 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 260 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 261 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 262 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 263 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 264 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 265 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 266 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 267 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 268 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 269 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 270 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 271 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 272 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 273 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 274 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 275 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 276 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 277 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 278 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 279 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 280 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 281 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 282 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 283 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 284 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 285 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 286 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 287 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 288 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 289 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 290 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 291 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 292 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 293 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 294 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 295 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 296 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 297 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 298 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 299 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 300 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 301 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 302 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 303 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 304 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 305 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 306 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 307 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 308 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 309 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 310 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 311 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 312 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 313 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 314 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 315 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 316 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 317 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 318 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 319 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 320 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 321 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 322 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 323 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 324 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 325 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 326 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 327 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 328 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 329 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 330 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 331 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 332 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 333 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 334 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 335 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 336 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 337 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 338 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 339 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 340 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 341 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 342 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 343 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 344 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 345 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 346 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 347 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 348 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 349 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 350 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 351 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 352 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 353 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 354 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 355 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 356 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 357 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 358 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 359 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 360 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 361 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 362 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 363 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 364 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 365 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 366 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 367 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 368 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 369 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 370 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 371 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 372 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 373 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 374 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 375 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 376 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 377 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 378 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 379 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 380 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 381 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 382 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 383 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 384 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 385 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 386 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 387 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 388 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 389 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 390 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 391 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 392 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 393 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 394 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 395 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 396 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 397 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 398 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 399 0 +(PID.TID 0000.0001) ctrl-wet 6: no recs for i = 400 0 +(PID.TID 0000.0001) ctrl-wet 7: flux 21760 +(PID.TID 0000.0001) ctrl-wet 8: atmos 21760 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 13: global nvarlength for Nr = 20 37994 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 1 2158 2004 2052 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 2 2155 2003 2049 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 3 2154 2002 2048 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 4 2151 2000 2047 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 5 2148 1997 2044 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 6 2143 1993 2040 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 7 2143 1993 2040 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 8 2141 1993 2038 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 9 2139 1991 2036 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 10 2134 1986 2030 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 11 2126 1977 2022 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 12 2108 1961 2003 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 13 2101 1954 1995 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 14 2086 1938 1981 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 15 2054 1903 1946 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 16 1998 1841 1879 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 17 1844 1650 1702 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 18 1180 951 996 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 19 754 556 602 0 +(PID.TID 0000.0001) ctrl-wet 14: global nWet C/S/W/V k= 20 277 168 186 0 +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl-wet ------------------------------------------------- +(PID.TID 0000.0001) ctrl_init_wet: no. of control variables: 1 +(PID.TID 0000.0001) ctrl_init_wet: control vector length: 37994 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Total number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------------- +(PID.TID 0000.0001) snx*sny*nr = 18000 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Number of ocean points per tile: +(PID.TID 0000.0001) -------------------------------- +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0001 010880 009660 010196 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0001 012622 011628 012169 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0001 0002 004933 004598 004381 +(PID.TID 0000.0001) bi,bj,#(c/s/w): 0002 0002 009559 008975 008990 +(PID.TID 0000.0001) +(PID.TID 0000.0001) Settings of generic controls: +(PID.TID 0000.0001) ----------------------------- +(PID.TID 0000.0001) +(PID.TID 0000.0001) -> 3d control, genarr3d no. 1 is in use +(PID.TID 0000.0001) file = xx_ptr1 +(PID.TID 0000.0001) weight = ones_64b.bin +(PID.TID 0000.0001) index = 0201 +(PID.TID 0000.0001) ncvarindex = 0301 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // control vector configuration >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) %MON fCori_max = 1.4265546244797E-04 +(PID.TID 0000.0001) %MON fCori_min = -1.4265546244797E-04 +(PID.TID 0000.0001) %MON fCori_mean = 4.7801269115805E-19 +(PID.TID 0000.0001) %MON fCori_sd = 9.6599226301546E-05 +(PID.TID 0000.0001) %MON fCoriG_max = 1.4151032568025E-04 +(PID.TID 0000.0001) %MON fCoriG_min = -1.4362679550910E-04 +(PID.TID 0000.0001) %MON fCoriG_mean = -3.5906698877273E-06 +(PID.TID 0000.0001) %MON fCoriG_sd = 9.6548915696246E-05 +(PID.TID 0000.0001) %MON fCoriCos_max = 1.4575362704741E-04 +(PID.TID 0000.0001) %MON fCoriCos_min = 3.0322354601388E-05 +(PID.TID 0000.0001) %MON fCoriCos_mean = 1.0288600773633E-04 +(PID.TID 0000.0001) %MON fCoriCos_sd = 3.6784304327266E-05 +(PID.TID 0000.0001) INI_CG2D: CG2D normalisation factor = 8.8319877372200804E-05 +(PID.TID 0000.0001) INI_CG2D: cg2dTolerance = 1.227458930695841E-17 (Area=3.3354908559E+14) +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model configuration +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // "Physical" paramters ( PARM01 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) buoyancyRelation = /* Type of relation to get Buoyancy */ +(PID.TID 0000.0001) 'OCEANIC' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsAir = /* fluid major constituent is Air */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fluidIsWater = /* fluid major constituent is Water */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingPCoords = /* use p (or p*) vertical coordinate */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingZCoords = /* use z (or z*) vertical coordinate */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tRef = /* Reference temperature profile ( oC or K ) */ +(PID.TID 0000.0001) 1.600000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 1.520000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 1.450000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 1.390000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 1.330000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 1.240000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 1.130000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 9.900000000000000E+00, /* K = 8 */ +(PID.TID 0000.0001) 8.400000000000000E+00, /* K = 9 */ +(PID.TID 0000.0001) 6.700000000000000E+00, /* K = 10 */ +(PID.TID 0000.0001) 5.200000000000000E+00, /* K = 11 */ +(PID.TID 0000.0001) 3.800000000000000E+00, /* K = 12 */ +(PID.TID 0000.0001) 2.900000000000000E+00, /* K = 13 */ +(PID.TID 0000.0001) 2.300000000000000E+00, /* K = 14 */ +(PID.TID 0000.0001) 1.800000000000000E+00, /* K = 15 */ +(PID.TID 0000.0001) 1.500000000000000E+00, /* K = 16 */ +(PID.TID 0000.0001) 1.100000000000000E+00, /* K = 17 */ +(PID.TID 0000.0001) 8.000000000000000E-01, /* K = 18 */ +(PID.TID 0000.0001) 6.600000000000000E-01, /* K = 19 */ +(PID.TID 0000.0001) 6.300000000000000E-01 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sRef = /* Reference salinity profile ( g/kg ) */ +(PID.TID 0000.0001) 3.465000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 3.475000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 3.482000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 3.487000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 2 @ 3.490000000000000E+01, /* K = 5: 6 */ +(PID.TID 0000.0001) 3.486000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 3.478000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 3.469000000000000E+01, /* K = 9 */ +(PID.TID 0000.0001) 3.460000000000000E+01, /* K = 10 */ +(PID.TID 0000.0001) 3.458000000000000E+01, /* K = 11 */ +(PID.TID 0000.0001) 3.462000000000000E+01, /* K = 12 */ +(PID.TID 0000.0001) 3.468000000000000E+01, /* K = 13 */ +(PID.TID 0000.0001) 3.472000000000000E+01, /* K = 14 */ +(PID.TID 0000.0001) 3.473000000000000E+01, /* K = 15 */ +(PID.TID 0000.0001) 3.474000000000000E+01, /* K = 16 */ +(PID.TID 0000.0001) 2 @ 3.473000000000000E+01, /* K = 17: 18 */ +(PID.TID 0000.0001) 2 @ 3.472000000000000E+01 /* K = 19: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoRef = /* Density vertical profile from (Ref,sRef)( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02, /* K = 1 */ +(PID.TID 0000.0001) 1.000033953200000E+03, /* K = 2 */ +(PID.TID 0000.0001) 1.000225714840000E+03, /* K = 3 */ +(PID.TID 0000.0001) 1.000382683440000E+03, /* K = 4 */ +(PID.TID 0000.0001) 1.000524855000000E+03, /* K = 5 */ +(PID.TID 0000.0001) 1.000704819000000E+03, /* K = 6 */ +(PID.TID 0000.0001) 1.000895180920000E+03, /* K = 7 */ +(PID.TID 0000.0001) 1.001115936760000E+03, /* K = 8 */ +(PID.TID 0000.0001) 1.001349290080000E+03, /* K = 9 */ +(PID.TID 0000.0001) 1.001622635400000E+03, /* K = 10 */ +(PID.TID 0000.0001) 1.001907778360000E+03, /* K = 11 */ +(PID.TID 0000.0001) 1.002217316440000E+03, /* K = 12 */ +(PID.TID 0000.0001) 1.002441671560000E+03, /* K = 13 */ +(PID.TID 0000.0001) 1.002591241640000E+03, /* K = 14 */ +(PID.TID 0000.0001) 1.002698620160000E+03, /* K = 15 */ +(PID.TID 0000.0001) 1.002766006680000E+03, /* K = 16 */ +(PID.TID 0000.0001) 1.002838592160000E+03, /* K = 17 */ +(PID.TID 0000.0001) 1.002898580160000E+03, /* K = 18 */ +(PID.TID 0000.0001) 1.002919176040000E+03, /* K = 19 */ +(PID.TID 0000.0001) 1.002925174840000E+03 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dBdrRef = /* Vertical grad. of reference buoyancy [(m/s/r)^2] */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 4.591080000000024E-05, /* K = 2 */ +(PID.TID 0000.0001) 3.583920000000001E-05, /* K = 3 */ +(PID.TID 0000.0001) 2.678556521739093E-05, /* K = 4 */ +(PID.TID 0000.0001) 2.231971200000012E-05, /* K = 5 */ +(PID.TID 0000.0001) 2.616000000000001E-05, /* K = 6 */ +(PID.TID 0000.0001) 2.490432000000007E-05, /* K = 7 */ +(PID.TID 0000.0001) 2.475483428571444E-05, /* K = 8 */ +(PID.TID 0000.0001) 2.129910697674396E-05, /* K = 9 */ +(PID.TID 0000.0001) 1.950584727272747E-05, /* K = 10 */ +(PID.TID 0000.0001) 1.576232112676044E-05, /* K = 11 */ +(PID.TID 0000.0001) 1.320511304347824E-05, /* K = 12 */ +(PID.TID 0000.0001) 7.590910344827643E-06, /* K = 13 */ +(PID.TID 0000.0001) 4.076599999999984E-06, /* K = 14 */ +(PID.TID 0000.0001) 2.394531818181785E-06, /* K = 15 */ +(PID.TID 0000.0001) 1.259417142857214E-06, /* K = 16 */ +(PID.TID 0000.0001) 1.162785306122388E-06, /* K = 17 */ +(PID.TID 0000.0001) 8.530434782608699E-07, /* K = 18 */ +(PID.TID 0000.0001) 2.694480000000193E-07, /* K = 19 */ +(PID.TID 0000.0001) 7.403773584905668E-08 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useStrainTensionVisc= /* Use StrainTension Form of Viscous Operator */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useVariableVisc = /* Use variable horizontal viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useHarmonicVisc = /* Use harmonic horizontal viscosity */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useBiharmonicVisc= /* Use biharmonic horiz. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSmag3D = /* Use isotropic 3-D Smagorinsky viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscAh = /* Lateral harmonic viscosity ( m^2/s ) */ +(PID.TID 0000.0001) 5.000000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscA4 = /* Lateral biharmonic viscosity ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_sides = /* Viscous BCs: No-slip sides */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sideDragFactor = /* side-drag scaling factor (non-dim) */ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) viscArNr = /* vertical profile of vertical viscosity ( m^2/s )*/ +(PID.TID 0000.0001) 20 @ 1.000000000000000E-03 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) no_slip_bottom = /* Viscous BCs: No-slip bottom */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomVisc_pCell = /* Partial-cell in bottom Visc. BC */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragLinear = /* linear bottom-drag coefficient ( m/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) bottomDragQuadratic = /* quadratic bottom-drag coefficient (-) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectBotDragQuadr = /* select quadratic bottom drag options */ +(PID.TID 0000.0001) -1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhT = /* Laplacian diffusion of heat laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4T = /* Biharmonic diffusion of heat laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKhS = /* Laplacian diffusion of salt laterally ( m^2/s ) */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffK4S = /* Biharmonic diffusion of salt laterally ( m^4/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrT = /* vertical profile of vertical diffusion of Temp ( m^2/s )*/ +(PID.TID 0000.0001) 20 @ 0.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrNrS = /* vertical profile of vertical diffusion of Salt ( m^2/s )*/ +(PID.TID 0000.0001) 20 @ 3.000000000000000E-05 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79surf = /* Surface diffusion for Bryan and Lewis 79 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79deep = /* Deep diffusion for Bryan and Lewis 1979 ( m^2/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79scl = /* Depth scale for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) 2.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) diffKrBL79Ho = /* Turning depth for Bryan and Lewis 1979 ( m ) */ +(PID.TID 0000.0001) -2.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ivdc_kappa = /* Implicit Vertical Diffusivity for Convection ( m^2/s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixCriteria= /* Criteria for mixed-layer diagnostic */ +(PID.TID 0000.0001) -8.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dRhoSmall = /* Parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 1.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hMixSmooth= /* Smoothing parameter for mixed-layer diagnostic */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) eosType = /* Type of Equation of State */ +(PID.TID 0000.0001) 'LINEAR' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tAlpha = /* Linear EOS thermal expansion coefficient ( 1/oC ) */ +(PID.TID 0000.0001) 2.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sBeta = /* Linear EOS haline contraction coefficient ( 1/(g/kg) ) */ +(PID.TID 0000.0001) 7.400000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoNil = /* Reference density for Linear EOS ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectP_inEOS_Zc = /* select pressure to use in EOS (0,1,2,3) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= -g*rhoConst*z ; 1= pRef (from tRef,sRef); 2= Hyd P ; 3= Hyd+NH P +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) surf_pRef = /* Surface reference pressure ( Pa ) */ +(PID.TID 0000.0001) 1.013250000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) HeatCapacity_Cp = /* Specific heat capacity ( J/kg/K ) */ +(PID.TID 0000.0001) 3.994000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) celsius2K = /* 0 degree Celsius converted to Kelvin ( K ) */ +(PID.TID 0000.0001) 2.731500000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConst = /* Reference density (Boussinesq) ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacC = /* normalized Reference density @ cell-Center (-) */ +(PID.TID 0000.0001) 20 @ 1.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoFacF = /* normalized Reference density @ W-Interface (-) */ +(PID.TID 0000.0001) 21 @ 1.000000000000000E+00 /* K = 1: 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rhoConstFresh = /* Fresh-water reference density ( kg/m^3 ) */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravity = /* Gravitational acceleration ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gBaro = /* Barotropic gravity ( m/s^2 ) */ +(PID.TID 0000.0001) 9.810000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacC = /* gravity factor (vs surf.) @ cell-Center (-) */ +(PID.TID 0000.0001) 20 @ 1.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravFacF = /* gravity factor (vs surf.) @ W-Interface (-) */ +(PID.TID 0000.0001) 21 @ 1.000000000000000E+00 /* K = 1: 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotationPeriod = /* Rotation Period ( s ) */ +(PID.TID 0000.0001) 8.616400000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) omega = /* Angular velocity ( rad/s ) */ +(PID.TID 0000.0001) 7.292123516990375E-05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) f0 = /* Reference coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 1.000000000000000E-04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) beta = /* Beta ( 1/(m.s) ) */ +(PID.TID 0000.0001) 9.999999999999999E-12 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) fPrime = /* Second coriolis parameter ( 1/s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rigidLid = /* Rigid lid on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitFreeSurface = /* Implicit free surface on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) freeSurfFac = /* Implicit free surface factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicSurfPress = /* Surface Pressure implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicDiv2DFlow = /* Barot. Flow Div. implicit factor (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformLin_PhiSurf = /* use uniform Bo_surf on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) uniformFreeSurfLev = /* free-surface level-index is uniform */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) sIceLoadFac = /* scale factor for sIceLoad (0-1) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMin = /* minimum partial cell factor (hFac) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacMinDr = /* minimum partial cell thickness ( m) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) exactConserv = /* Exact Volume Conservation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) linFSConserveTr = /* Tracer correction for Lin Free Surface on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonlinFreeSurf = /* Non-linear Free Surf. options (-1,0,1,2,3)*/ +(PID.TID 0000.0001) 3 +(PID.TID 0000.0001) -1,0= Off ; 1,2,3= On, 2=+rescale gU,gV, 3=+update cg2d solv. +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacInf = /* lower threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) hFacSup = /* upper threshold for hFac (nonlinFreeSurf only)*/ +(PID.TID 0000.0001) 2.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) select_rStar = /* r* Vertical coord. options (=0 r coord.; >0 uses r*)*/ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useRealFreshWaterFlux = /* Real Fresh Water Flux on/off flag*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_EvPrRn = /* Temp. of Evap/Prec/R (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_EvPrRn = /* Salin. of Evap/Prec/R (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectAddFluid = /* option for mass source/sink of fluid (=0: off) */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) temp_addMass = /* Temp. of addMass array (UNSET=use local T)(oC)*/ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) salt_addMass = /* Salin. of addMass array (UNSET=use local S)(g/kg)*/ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) convertFW2Salt = /* convert F.W. Flux to Salt Flux (-1=use local S)(g/kg)*/ +(PID.TID 0000.0001) 3.500000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3Dsolver = /* use 3-D pressure solver on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nonHydrostatic = /* Non-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nh_Am2 = /* Non-Hydrostatic terms scaling factor */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitNHPress = /* Non-Hyd Pressure implicit factor (0-1)*/ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectNHfreeSurf = /* Non-Hyd (free-)Surface option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) quasiHydrostatic = /* Quasi-Hydrostatic on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) calc_wVelocity = /* vertical velocity calculation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momStepping = /* Momentum equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) vectorInvariantMomentum= /* Vector-Invariant Momentum on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momAdvection = /* Momentum advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momViscosity = /* Momentum viscosity on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momImplVertAdv= /* Momentum implicit vert. advection on/off*/ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitViscosity = /* Implicit viscosity on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectImplicitDrag= /* Implicit bot Drag options (0,1,2)*/ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) 0= Expl. ; 1= Impl. on provis. Vel ; 2= Fully Impl (with surf.P) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) metricTerms = /* metric-Terms on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNHMTerms = /* Non-Hydrostatic Metric-Terms on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriMap = /* Coriolis Map options (0,1,2,3)*/ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) 0= f-Plane ; 1= Beta-Plane ; 2= Spherical ; 3= read from file +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) use3dCoriolis = /* 3-D Coriolis on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCoriolis = /* Coriolis on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useCDscheme = /* CD scheme on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectCoriScheme= /* Scheme selector for Coriolis-Term */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : original discretization (simple averaging, no hFac) +(PID.TID 0000.0001) = 1 : Wet-point averaging (Jamar & Ozer 1986) +(PID.TID 0000.0001) = 2 : energy conserving scheme (no hFac weight) +(PID.TID 0000.0001) = 3 : energy conserving scheme using Wet-point averaging +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcing = /* Momentum forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momTidalForcing = /* Momentum Tidal forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momPressureForcing = /* Momentum pressure term on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitIntGravWave= /* Implicit Internal Gravity Wave flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) staggerTimeStep = /* Stagger time stepping on/off flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doResetHFactors = /* reset thickness factors @ each time-step */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) multiDimAdvection = /* enable/disable Multi-Dim Advection */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMultiDimAdvec = /* Multi-Dim Advection is/is-not used */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) implicitDiffusion = /* Implicit Diffusion on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempStepping = /* Temperature equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempAdvection = /* Temperature advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempImplVertAdv = /* Temp. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempForcing = /* Temperature forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doThetaClimRelax = /* apply SST relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tempIsActiveTr = /* Temp. is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltStepping = /* Salinity equation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltAdvection = /* Salinity advection on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltImplVertAdv = /* Sali. implicit vert. advection on/off */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltForcing = /* Salinity forcing on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doSaltClimRelax = /* apply SSS relaxation on/off flag */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) saltIsActiveTr = /* Salt is a dynamically Active Tracer */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) readBinaryPrec = /* Precision used for reading binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writeBinaryPrec = /* Precision used for writing binary files */ +(PID.TID 0000.0001) 32 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rwSuffixType = /* select format of mds file suffix */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) = 0 : myIter (I10.10) ; = 1 : 100*myTime (100th sec) ; +(PID.TID 0000.0001) = 2 : myTime (seconds); = 3 : myTime/360 (10th of hr); +(PID.TID 0000.0001) = 4 : myTime/3600 (hours) +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalFiles = /* write "global" (=not per tile) files */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuIO = /* only master MPI process does I/O */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSingleCpuInput = /* only master process reads input */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) /* debLev[*] : level of debug & auxiliary message printing */ +(PID.TID 0000.0001) debLevZero = 0 ; /* level of disabled aux. msg printing */ +(PID.TID 0000.0001) debLevA = 1 ; /* level of minimum aux. msg printing */ +(PID.TID 0000.0001) debLevB = 2 ; /* level of low aux. print (report read-file opening)*/ +(PID.TID 0000.0001) debLevC = 3 ; /* level of moderate debug prt (most pkgs debug msg) */ +(PID.TID 0000.0001) debLevD = 4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */ +(PID.TID 0000.0001) debLevE = 5 ; /* level of extensive debug printing */ +(PID.TID 0000.0001) debugLevel = /* select debug printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) plotLevel = /* select PLOT_FIELD printing level */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Elliptic solver(s) paramters ( PARM02 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) cg2dMaxIters = /* Upper limit on 2d con. grad iterations */ +(PID.TID 0000.0001) 200 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dMinItersNSA = /* Minimum number of iterations of 2d con. grad solver */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dUseMinResSol= /* use cg2d last-iter(=0) / min-resid.(=1) solution */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResidual = /* 2d con. grad target residual */ +(PID.TID 0000.0001) 1.000000000000000E-07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dTargetResWunit = /* CG2d target residual [W units] */ +(PID.TID 0000.0001) 9.999999999999999E-25 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cg2dPreCondFreq = /* Freq. for updating cg2d preconditioner */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useSRCGSolver = /* use single reduction CG solver(s) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useNSACGSolver = /* use not-self-adjoint CG solver */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) printResidualFreq = /* Freq. for printing CG residual */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Time stepping paramters ( PARM03 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) deltaTMom = /* Momentum equation timestep ( s ) */ +(PID.TID 0000.0001) 2.400000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTFreeSurf = /* FreeSurface equation timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dTtracerLev = /* Tracer equation timestep ( s ) */ +(PID.TID 0000.0001) 20 @ 8.640000000000000E+04 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deltaTClock = /* Model clock timestep ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) cAdjFreq = /* Convective adjustment interval ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momForcingOutAB = /* =1: take Momentum Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tracForcingOutAB = /* =1: take T,S,pTr Forcing out of Adams-Bash. stepping */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) momDissip_In_AB = /* put Dissipation Tendency in Adams-Bash. stepping */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) doAB_onGtGs = /* apply AB on Tendencies (rather than on T,S)*/ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) abEps = /* Adams-Bashforth-2 stabilizing weight */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) applyExchUV_early = /* Apply EXCH to U,V earlier in time-step */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauCD = /* CD coupling time-scale ( s ) */ +(PID.TID 0000.0001) 3.214280000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rCD = /* Normalised CD coupling parameter */ +(PID.TID 0000.0001) 9.925333200592357E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) epsAB_CD = /* AB-2 stabilizing weight for CD-scheme*/ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickupStrictlyMatch= /* stop if pickup do not strictly match */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nIter0 = /* Run starting timestep number */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nTimeSteps = /* Number of timesteps */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) nEndIter = /* Run ending timestep number */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) baseTime = /* Model base time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) startTime = /* Run start time ( s ) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) endTime = /* Integration ending time ( s ) */ +(PID.TID 0000.0001) 3.456000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pChkPtFreq = /* Permanent restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) chkPtFreq = /* Rolling restart/pickup file interval ( s ) */ +(PID.TID 0000.0001) 8.640000000000000E+07 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_write_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pickup_read_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) writePickupAtEnd = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpFreq = /* Model state write out interval ( s ). */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dumpInitAndLast= /* write out Initial & Last iter. model state */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) snapshot_mdsio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorFreq = /* Monitor output interval ( s ). */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitorSelect = /* select group of variables to monitor */ +(PID.TID 0000.0001) 4 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) monitor_stdio = /* Model IO flag. */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingPeriod = /* forcing period (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) externForcingCycle = /* period of the cyle (s). */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauThetaClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) tauSaltClimRelax = /* relaxation time scale (s) */ +(PID.TID 0000.0001) 2.592000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) latBandClimRelax = /* max. Lat. where relaxation */ +(PID.TID 0000.0001) 1.800000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // +(PID.TID 0000.0001) // Gridding paramters ( PARM04 in namelist ) +(PID.TID 0000.0001) // +(PID.TID 0000.0001) usingCartesianGrid = /* Cartesian coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCylindricalGrid = /* Cylindrical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingSphericalPolarGrid = /* Spherical coordinates flag ( True/False ) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) usingCurvilinearGrid = /* Curvilinear coordinates flag ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) useMin4hFacEdges = /* set hFacW,S as minimum of adjacent hFacC factor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interViscAr_pCell = /* account for partial-cell in interior vert. viscosity */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) interDiffKr_pCell = /* account for partial-cell in interior vert. diffusion */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) pCellMix_select = /* option to enhance mixing near surface & bottom */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) selectSigmaCoord = /* Hybrid-Sigma Vert. Coordinate option */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSigmaBnd = /* r/sigma transition ( units of r == m ) */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rkSign = /* index orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) gravitySign = /* gravity orientation relative to vertical coordinate */ +(PID.TID 0000.0001) -1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) seaLev_Z = /* reference height of sea-level [m] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) top_Pres = /* reference pressure at the top [Pa] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) mass2rUnit = /* convert mass per unit area [kg/m2] to r-units [m] */ +(PID.TID 0000.0001) 1.000200040008002E-03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rUnit2mass = /* convert r-units [m] to mass per unit area [kg/m2] */ +(PID.TID 0000.0001) 9.998000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drC = /* C spacing ( units of r ) */ +(PID.TID 0000.0001) 2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) 5.250000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 5.750000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 6.250000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 6.750000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 7.500000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 8.750000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 1.075000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 1.375000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 1.775000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 2.300000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 2.900000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 3.600000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 4.400000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 5.250000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 6.125000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) 6.900000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) 7.500000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) 7.950000000000000E+02, /* K = 20 */ +(PID.TID 0000.0001) 4.075000000000000E+02 /* K = 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) drF = /* W spacing ( units of r ) */ +(PID.TID 0000.0001) 2 @ 5.000000000000000E+01, /* K = 1: 2 */ +(PID.TID 0000.0001) 5.500000000000000E+01, /* K = 3 */ +(PID.TID 0000.0001) 6.000000000000000E+01, /* K = 4 */ +(PID.TID 0000.0001) 6.500000000000000E+01, /* K = 5 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* K = 6 */ +(PID.TID 0000.0001) 8.000000000000000E+01, /* K = 7 */ +(PID.TID 0000.0001) 9.500000000000000E+01, /* K = 8 */ +(PID.TID 0000.0001) 1.200000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) 1.550000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) 2.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) 2.600000000000000E+02, /* K = 12 */ +(PID.TID 0000.0001) 3.200000000000000E+02, /* K = 13 */ +(PID.TID 0000.0001) 4.000000000000000E+02, /* K = 14 */ +(PID.TID 0000.0001) 4.800000000000000E+02, /* K = 15 */ +(PID.TID 0000.0001) 5.700000000000000E+02, /* K = 16 */ +(PID.TID 0000.0001) 6.550000000000000E+02, /* K = 17 */ +(PID.TID 0000.0001) 7.250000000000000E+02, /* K = 18 */ +(PID.TID 0000.0001) 7.750000000000000E+02, /* K = 19 */ +(PID.TID 0000.0001) 8.150000000000000E+02 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delX = /* U spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 90 @ 4.000000000000000E+00 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) delY = /* V spacing ( m - cartesian, degrees - spherical ) */ +(PID.TID 0000.0001) 40 @ 4.000000000000000E+00 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xgOrigin = /* X-axis origin of West edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ygOrigin = /* Y-axis origin of South edge (cartesian: m, lat-lon: deg) */ +(PID.TID 0000.0001) -8.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rSphere = /* Radius ( ignored - cartesian, m - spherical ) */ +(PID.TID 0000.0001) 6.370000000000000E+06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepAtmosphere = /* Deep/Shallow Atmosphere flag (True/False) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) xC = /* xC(:,1,:,1) : P-point X coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* I = 1 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* I = 2 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* I = 3 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 8.200000000000000E+01, /* I = 21 */ +(PID.TID 0000.0001) 8.600000000000000E+01, /* I = 22 */ +(PID.TID 0000.0001) 9.000000000000000E+01, /* I = 23 */ +(PID.TID 0000.0001) 9.400000000000000E+01, /* I = 24 */ +(PID.TID 0000.0001) 9.800000000000000E+01, /* I = 25 */ +(PID.TID 0000.0001) 1.020000000000000E+02, /* I = 26 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 1.700000000000000E+02, /* I = 43 */ +(PID.TID 0000.0001) 1.740000000000000E+02, /* I = 44 */ +(PID.TID 0000.0001) 1.780000000000000E+02, /* I = 45 */ +(PID.TID 0000.0001) 1.820000000000000E+02, /* I = 46 */ +(PID.TID 0000.0001) 1.860000000000000E+02, /* I = 47 */ +(PID.TID 0000.0001) 1.900000000000000E+02, /* I = 48 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 2.580000000000000E+02, /* I = 65 */ +(PID.TID 0000.0001) 2.620000000000000E+02, /* I = 66 */ +(PID.TID 0000.0001) 2.660000000000000E+02, /* I = 67 */ +(PID.TID 0000.0001) 2.700000000000000E+02, /* I = 68 */ +(PID.TID 0000.0001) 2.740000000000000E+02, /* I = 69 */ +(PID.TID 0000.0001) 2.780000000000000E+02, /* I = 70 */ +(PID.TID 0000.0001) . . . +(PID.TID 0000.0001) 3.500000000000000E+02, /* I = 88 */ +(PID.TID 0000.0001) 3.540000000000000E+02, /* I = 89 */ +(PID.TID 0000.0001) 3.580000000000000E+02 /* I = 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) yC = /* yC(1,:,1,:) : P-point Y coord ( deg. or m if cartesian) */ +(PID.TID 0000.0001) -7.800000000000000E+01, /* J = 1 */ +(PID.TID 0000.0001) -7.400000000000000E+01, /* J = 2 */ +(PID.TID 0000.0001) -7.000000000000000E+01, /* J = 3 */ +(PID.TID 0000.0001) -6.600000000000000E+01, /* J = 4 */ +(PID.TID 0000.0001) -6.200000000000000E+01, /* J = 5 */ +(PID.TID 0000.0001) -5.800000000000000E+01, /* J = 6 */ +(PID.TID 0000.0001) -5.400000000000000E+01, /* J = 7 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* J = 8 */ +(PID.TID 0000.0001) -4.600000000000000E+01, /* J = 9 */ +(PID.TID 0000.0001) -4.200000000000000E+01, /* J = 10 */ +(PID.TID 0000.0001) -3.800000000000000E+01, /* J = 11 */ +(PID.TID 0000.0001) -3.400000000000000E+01, /* J = 12 */ +(PID.TID 0000.0001) -3.000000000000000E+01, /* J = 13 */ +(PID.TID 0000.0001) -2.600000000000000E+01, /* J = 14 */ +(PID.TID 0000.0001) -2.200000000000000E+01, /* J = 15 */ +(PID.TID 0000.0001) -1.800000000000000E+01, /* J = 16 */ +(PID.TID 0000.0001) -1.400000000000000E+01, /* J = 17 */ +(PID.TID 0000.0001) -1.000000000000000E+01, /* J = 18 */ +(PID.TID 0000.0001) -6.000000000000000E+00, /* J = 19 */ +(PID.TID 0000.0001) -2.000000000000000E+00, /* J = 20 */ +(PID.TID 0000.0001) 2.000000000000000E+00, /* J = 21 */ +(PID.TID 0000.0001) 6.000000000000000E+00, /* J = 22 */ +(PID.TID 0000.0001) 1.000000000000000E+01, /* J = 23 */ +(PID.TID 0000.0001) 1.400000000000000E+01, /* J = 24 */ +(PID.TID 0000.0001) 1.800000000000000E+01, /* J = 25 */ +(PID.TID 0000.0001) 2.200000000000000E+01, /* J = 26 */ +(PID.TID 0000.0001) 2.600000000000000E+01, /* J = 27 */ +(PID.TID 0000.0001) 3.000000000000000E+01, /* J = 28 */ +(PID.TID 0000.0001) 3.400000000000000E+01, /* J = 29 */ +(PID.TID 0000.0001) 3.800000000000000E+01, /* J = 30 */ +(PID.TID 0000.0001) 4.200000000000000E+01, /* J = 31 */ +(PID.TID 0000.0001) 4.600000000000000E+01, /* J = 32 */ +(PID.TID 0000.0001) 5.000000000000000E+01, /* J = 33 */ +(PID.TID 0000.0001) 5.400000000000000E+01, /* J = 34 */ +(PID.TID 0000.0001) 5.800000000000000E+01, /* J = 35 */ +(PID.TID 0000.0001) 6.200000000000000E+01, /* J = 36 */ +(PID.TID 0000.0001) 6.600000000000000E+01, /* J = 37 */ +(PID.TID 0000.0001) 7.000000000000000E+01, /* J = 38 */ +(PID.TID 0000.0001) 7.400000000000000E+01, /* J = 39 */ +(PID.TID 0000.0001) 7.800000000000000E+01 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rcoord = /* P-point R coordinate ( units of r ) */ +(PID.TID 0000.0001) -2.500000000000000E+01, /* K = 1 */ +(PID.TID 0000.0001) -7.500000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.275000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -1.850000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -2.475000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -3.150000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -3.900000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -4.775000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -5.850000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -7.225000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -9.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -1.130000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -1.420000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -1.780000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -2.220000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -2.745000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -3.357500000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -4.047500000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -4.797500000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -5.592500000000000E+03 /* K = 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rF = /* W-Interf. R coordinate ( units of r ) */ +(PID.TID 0000.0001) 0.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) -5.000000000000000E+01, /* K = 2 */ +(PID.TID 0000.0001) -1.000000000000000E+02, /* K = 3 */ +(PID.TID 0000.0001) -1.550000000000000E+02, /* K = 4 */ +(PID.TID 0000.0001) -2.150000000000000E+02, /* K = 5 */ +(PID.TID 0000.0001) -2.800000000000000E+02, /* K = 6 */ +(PID.TID 0000.0001) -3.500000000000000E+02, /* K = 7 */ +(PID.TID 0000.0001) -4.300000000000000E+02, /* K = 8 */ +(PID.TID 0000.0001) -5.250000000000000E+02, /* K = 9 */ +(PID.TID 0000.0001) -6.450000000000000E+02, /* K = 10 */ +(PID.TID 0000.0001) -8.000000000000000E+02, /* K = 11 */ +(PID.TID 0000.0001) -1.000000000000000E+03, /* K = 12 */ +(PID.TID 0000.0001) -1.260000000000000E+03, /* K = 13 */ +(PID.TID 0000.0001) -1.580000000000000E+03, /* K = 14 */ +(PID.TID 0000.0001) -1.980000000000000E+03, /* K = 15 */ +(PID.TID 0000.0001) -2.460000000000000E+03, /* K = 16 */ +(PID.TID 0000.0001) -3.030000000000000E+03, /* K = 17 */ +(PID.TID 0000.0001) -3.685000000000000E+03, /* K = 18 */ +(PID.TID 0000.0001) -4.410000000000000E+03, /* K = 19 */ +(PID.TID 0000.0001) -5.185000000000000E+03, /* K = 20 */ +(PID.TID 0000.0001) -6.000000000000000E+03 /* K = 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacC = /* deep-model grid factor @ cell-Center (-) */ +(PID.TID 0000.0001) 20 @ 1.000000000000000E+00 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) deepFacF = /* deep-model grid factor @ W-Interface (-) */ +(PID.TID 0000.0001) 21 @ 1.000000000000000E+00 /* K = 1: 21 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rotateGrid = /* use rotated grid ( True/False ) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) phiEuler = /* Euler angle, rotation about original z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) thetaEuler = /* Euler angle, rotation about new x-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) psiEuler = /* Euler angle, rotation about new z-coordinate [rad] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxF = /* dxF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyF = /* dyF(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxG = /* dxG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyG = /* dyG(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 9.246038586187513E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxC = /* dxC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 9.246038586187513E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 4 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 8 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 4.444389881567502E+05, /* J = 20: 21 */ +(PID.TID 0000.0001) 4.422737260813012E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.379537508695838E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.315001090065870E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.229442419867491E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.123278331341585E+05, /* J = 26 */ +(PID.TID 0000.0001) 3.997026045255871E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.851300650057323E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.686812105223082E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.504361782409254E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.304838561248741E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.089214498819034E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.858540093877838E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.613939168938713E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.356603395120765E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.087786486446736E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.808798091874300E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.520997414818001E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.225786591246834E+05, /* J = 39 */ +(PID.TID 0000.0001) 9.246038586187513E+04 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyC = /* dyC(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 7.722306258078101E+04 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dxV = /* dxV(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 7.722306258078101E+04, /* J = 1 */ +(PID.TID 0000.0001) 1.075850604052271E+05, /* J = 2 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 3 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 4 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 5 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 6 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 7 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 8 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 9 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 10 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 11 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 12 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 13 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 14 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 15 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 16 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 17 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 18 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 19 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 20 */ +(PID.TID 0000.0001) 4.447098934081552E+05, /* J = 21 */ +(PID.TID 0000.0001) 4.436266024588540E+05, /* J = 22 */ +(PID.TID 0000.0001) 4.403820072955634E+05, /* J = 23 */ +(PID.TID 0000.0001) 4.349919152597734E+05, /* J = 24 */ +(PID.TID 0000.0001) 4.274825863380723E+05, /* J = 25 */ +(PID.TID 0000.0001) 4.178906052261313E+05, /* J = 26 */ +(PID.TID 0000.0001) 4.062627030917454E+05, /* J = 27 */ +(PID.TID 0000.0001) 3.926555299052806E+05, /* J = 28 */ +(PID.TID 0000.0001) 3.771353784467131E+05, /* J = 29 */ +(PID.TID 0000.0001) 3.597778613338690E+05, /* J = 30 */ +(PID.TID 0000.0001) 3.406675426453503E+05, /* J = 31 */ +(PID.TID 0000.0001) 3.198975259328452E+05, /* J = 32 */ +(PID.TID 0000.0001) 2.975690006299821E+05, /* J = 33 */ +(PID.TID 0000.0001) 2.737907490675810E+05, /* J = 34 */ +(PID.TID 0000.0001) 2.486786164970726E+05, /* J = 35 */ +(PID.TID 0000.0001) 2.223549467040777E+05, /* J = 36 */ +(PID.TID 0000.0001) 1.949479859617814E+05, /* J = 37 */ +(PID.TID 0000.0001) 1.665912582279823E+05, /* J = 38 */ +(PID.TID 0000.0001) 1.374229146297914E+05, /* J = 39 */ +(PID.TID 0000.0001) 1.075850604052271E+05 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(:,1,:,1) ( units: m ) */ +(PID.TID 0000.0001) 90 @ 4.447098934081552E+05 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) dyU = /* dyU(1,:,1,:) ( units: m ) */ +(PID.TID 0000.0001) 40 @ 4.447098934081552E+05 /* J = 1: 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rA = /* rA (1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 4.110969866729047E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAw = /* rAw(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 4.110969866729047E+10, /* J = 1 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 3 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 4 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 5 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 6 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 19 */ +(PID.TID 0000.0001) 2 @ 1.976062798008856E+11, /* J = 20: 21 */ +(PID.TID 0000.0001) 1.966435618690094E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.947228162702492E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.918534006840893E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.880492946148330E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.833290312848623E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.777156073426415E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.712363708253573E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.639228879220326E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.558107891862220E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.469395959475426E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.373525277677229E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.270962918792468E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.162208556324093E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.047792030594103E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.282707674147523E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.042270623659998E+10, /* J = 37 */ +(PID.TID 0000.0001) 6.762652439100235E+10, /* J = 38 */ +(PID.TID 0000.0001) 5.450087291636665E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.110969866729047E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(:,1,:,1) ( units: m^2 ) */ +(PID.TID 0000.0001) 90 @ 3.433488626798250E+10 /* I = 1: 90 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) rAs = /* rAs(1,:,1,:) ( units: m^2 ) */ +(PID.TID 0000.0001) 3.433488626798250E+10, /* J = 1 */ +(PID.TID 0000.0001) 4.783442523123625E+10, /* J = 2 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 3 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 4 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 5 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 6 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 7 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 8 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 9 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 10 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 11 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 12 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 13 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 14 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 15 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 16 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 17 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 18 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 19 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 20 */ +(PID.TID 0000.0001) 1.977267295821495E+11, /* J = 21 */ +(PID.TID 0000.0001) 1.972450772065981E+11, /* J = 22 */ +(PID.TID 0000.0001) 1.958024666419019E+11, /* J = 23 */ +(PID.TID 0000.0001) 1.934059261417216E+11, /* J = 24 */ +(PID.TID 0000.0001) 1.900671314104743E+11, /* J = 25 */ +(PID.TID 0000.0001) 1.858023487204767E+11, /* J = 26 */ +(PID.TID 0000.0001) 1.806323556642996E+11, /* J = 27 */ +(PID.TID 0000.0001) 1.745823399284268E+11, /* J = 28 */ +(PID.TID 0000.0001) 1.676817765813788E+11, /* J = 29 */ +(PID.TID 0000.0001) 1.599642844741385E+11, /* J = 30 */ +(PID.TID 0000.0001) 1.514674624524945E+11, /* J = 31 */ +(PID.TID 0000.0001) 1.422327061792377E+11, /* J = 32 */ +(PID.TID 0000.0001) 1.323050064586578E+11, /* J = 33 */ +(PID.TID 0000.0001) 1.217327300458638E+11, /* J = 34 */ +(PID.TID 0000.0001) 1.105673840088173E+11, /* J = 35 */ +(PID.TID 0000.0001) 9.886336479107463E+10, /* J = 36 */ +(PID.TID 0000.0001) 8.667769319778079E+10, /* J = 37 */ +(PID.TID 0000.0001) 7.406973659603818E+10, /* J = 38 */ +(PID.TID 0000.0001) 6.110091968306414E+10, /* J = 39 */ +(PID.TID 0000.0001) 4.783442523123625E+10 /* J = 40 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) globalArea = /* Integrated horizontal Area (m^2) */ +(PID.TID 0000.0001) 3.335490855875281E+14 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // End of Model config. summary +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) == Packages configuration : Check & print summary == +(PID.TID 0000.0001) +(PID.TID 0000.0001) GMREDI_CHECK: #define GMREDI +(PID.TID 0000.0001) GM_AdvForm = /* if FALSE => use SkewFlux Form */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_InMomAsStress = /* if TRUE => apply as Eddy Stress */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_AdvSeparate = /* Calc Bolus & Euler Adv. separately */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_ExtraDiag = /* Tensor Extra Diag (line 1&2) non 0 */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_isopycK = /* Background Isopyc. Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 1.100000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_skewflx*K = /* Background GM_SkewFlx Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_advec*K = /* Backg. GM-Advec(=Bolus) Diffusivity [m^2/s]*/ +(PID.TID 0000.0001) 9.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Kmin_horiz = /* Minimum Horizontal Diffusivity [m^2/s] */ +(PID.TID 0000.0001) 5.000000000000000E+01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Visbeck_alpha = /* Visbeck alpha coeff. [-] */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_Small_Number = /* epsilon used in slope calc */ +(PID.TID 0000.0001) 9.999999999999999E-21 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_slopeSqCutoff = /* Slope^2 cut-off value */ +(PID.TID 0000.0001) 1.000000000000000E+08 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_taper_scheme = /* Type of Tapering/Clipping scheme */ +(PID.TID 0000.0001) 'dm95 ' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxSlope = /* Maximum Slope (Tapering/Clipping) */ +(PID.TID 0000.0001) 1.000000000000000E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2dz = /* Minimum Trans.Layer Thick. (factor of dz) */ +(PID.TID 0000.0001) 1.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_facTrL2ML = /* Max.Trans.Layer Thick. (factor of MxL Depth)*/ +(PID.TID 0000.0001) 5.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_maxTransLay = /* Maximum Transition Layer Thickness [m] */ +(PID.TID 0000.0001) 5.000000000000000E+02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_UseBVP = /* if TRUE => use bvp a la Ferrari et al. (2010) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_ModeNumber = /* Vertical mode number for BVP wave speed */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_BVP_cMin = /* Minimum wave speed for BVP [m/s] */ +(PID.TID 0000.0001) 1.000000000000000E-01 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useSubMeso = /* if TRUE => use Sub-Meso param. (B.Fox-Kemper) */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Ceff = /* efficiency coeff. of Mixed-Layer Eddies [-] */ +(PID.TID 0000.0001) 7.000000000000001E-02 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_invTau = /* inverse of Sub-Meso mixing time-scale [/s] */ +(PID.TID 0000.0001) 2.000000000000000E-06 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_LfMin = /* minimum length-scale "Lf" [m] */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) subMeso_Lmax = /* maximum grid-scale length [m] */ +(PID.TID 0000.0001) 1.100000000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) GM_useLeithQG = /* if TRUE => add QG Leith viscosity to GMRedi tensor */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_CHECK: #define ALLOW_PTRACERS +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) // PTRACERS parameters +(PID.TID 0000.0001) // =================================== +(PID.TID 0000.0001) PTRACERS_numInUse = /* number of tracers */ +(PID.TID 0000.0001) 1 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_Iter0 = /* timestep number when tracers are initialized */ +(PID.TID 0000.0001) 0 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_startAllTrc =/* all tracers start @ startTime */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_doAB_onGpTr =/* apply AB on Tendencies (rather than on Tracers) */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_addSrelax2EmP =/* add Salt relaxation to EmP */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dTLev = /* Ptracer timestep ( s ) */ +(PID.TID 0000.0001) 20 @ 8.640000000000000E+04 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_monitorFreq = /* Frequency^-1 for monitor output (s) */ +(PID.TID 0000.0001) 4.320000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_dumpFreq = /* Frequency^-1 for snapshot output (s) */ +(PID.TID 0000.0001) 8.640000000000000E+04 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_taveFreq = /* Frequency^-1 for time-Aver. output (s) */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useRecords = /* all tracers in 1 file */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_timeave_mnc = /* use MNC for Tave output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_snapshot_mnc = /* use MNC for snapshot output */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_write_mnc = /* use MNC for writing pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_pickup_read_mnc = /* use MNC for reading pickups */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) tracer number : 1 +(PID.TID 0000.0001) PTRACERS_names = /* Tracer short name */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_long_names = /* Tracer long name */ +(PID.TID 0000.0001) '' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ioLabel = /* tracer IO Label */ +(PID.TID 0000.0001) '01' +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_advScheme = /* Advection Scheme */ +(PID.TID 0000.0001) 2 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_SOM_Advection = /* tracer uses SOM advection scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ImplVertAdv = /* implicit vert. advection flag */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_MultiDimAdv = /* tracer uses Multi-Dim advection */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBashGtr = /* apply AB on tracer tendency */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_AdamsBash_Tr = /* apply AB on passive tracer */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKh = /* Laplacian Diffusivity */ +(PID.TID 0000.0001) 1.000000000000000E+03 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffK4 = /* Biharmonic Diffusivity */ +(PID.TID 0000.0001) 0.000000000000000E+00 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_diffKrNr = /* Vertical Diffusivity */ +(PID.TID 0000.0001) 20 @ 3.000000000000000E-05 /* K = 1: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useGMRedi = /* apply GM-Redi */ +(PID.TID 0000.0001) T +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useDWNSLP = /* apply DOWN-SLOPE Flow */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_useKPP = /* apply KPP scheme */ +(PID.TID 0000.0001) F +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_ref = /* Reference vertical profile */ +(PID.TID 0000.0001) 1.000000000000000E+00, /* K = 1 */ +(PID.TID 0000.0001) 19 @ 0.000000000000000E+00 /* K = 2: 20 */ +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) PTRACERS_EvPrRn =/* tracer conc. in Evap. & Rain */ +(PID.TID 0000.0001) 1.234567000000000E+05 +(PID.TID 0000.0001) ; +(PID.TID 0000.0001) ----------------------------------- +(PID.TID 0000.0001) CTRL_CHECK: --> Starts to check CTRL set-up +(PID.TID 0000.0001) CTRL_CHECK: pTracer # 1 in Gen-CTRL +(PID.TID 0000.0001) CTRL_CHECK: <-- Ends Normally +(PID.TID 0000.0001) +(PID.TID 0000.0001) COST_CHECK: #define ALLOW_COST +(PID.TID 0000.0001) GRDCHK_CHECK: grdchk package +(PID.TID 0000.0001) GAD_CHECK: #define ALLOW_GENERIC_ADVDIFF +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Check Model config. (CONFIG_CHECK): +(PID.TID 0000.0001) // CONFIG_CHECK : Normal End +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient-check starts (grdchk_main) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 +(PID.TID 0000.0001) grdchk reference fc: fcref = 1.84102723380947E+14 +grad-res ------------------------------- + grad-res proc # i j k bi bj iobc fc ref fc + eps fc - eps + grad-res proc # i j k bi bj iobc tlm grad fd grad 1 - fd/tlm + grad-res exact position met: + grad-res 0 1881 15 5 4 1 1 +(PID.TID 0000.0001) ====== Starts gradient-check number 1 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1881 37994 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 0 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 616 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1232 1 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1848 1 + ph-grd -->hit<-- 15 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 15 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = 4.61852778244065E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -4.21884749357559E-15 9.18227067226685E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -6.35047570085590E-14 8.71966856788158E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.28306304154103E-14 8.12211131921600E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471742246D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723377715D+15 +(PID.TID 0000.0001) global fc = 0.184102723377715D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723377715E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471806894D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723384179D+15 +(PID.TID 0000.0001) global fc = 0.184102723384179D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723384179E+14 +grad-res ------------------------------- + grad-res 0 1 15 5 4 1 1 1 1.84102723381E+14 1.84102723378E+14 1.84102723384E+14 + grad-res 0 1 1 1881 0 1 1 1 -3.23242721513E+07 -3.23242187500E+07 1.65204967517E-06 +(PID.TID 0000.0001) TLM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.23242721513033E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.23242187500000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 1 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 2 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1882 37994 2 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1881 2 + ph-grd -->hit<-- 16 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 16 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = 4.61852778244065E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -4.21884749357559E-15 9.18227067226685E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -6.35047570085590E-14 8.71966856788158E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.28306304154103E-14 8.12211131921600E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471753096D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723378800D+15 +(PID.TID 0000.0001) global fc = 0.184102723378800D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723378800E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471796044D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723383094D+15 +(PID.TID 0000.0001) global fc = 0.184102723383094D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723383094E+14 +grad-res ------------------------------- + grad-res 0 2 16 5 4 1 1 1 1.84102723381E+14 1.84102723379E+14 1.84102723383E+14 + grad-res 0 2 2 1882 0 1 1 1 -2.14737521330E+07 -2.14737500000E+07 9.93301466634E-08 +(PID.TID 0000.0001) TLM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) TLM tangent-lin_grad = -2.14737521329909E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -2.14737500000000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 2 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 3 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1883 37994 3 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1882 3 + ph-grd -->hit<-- 17 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 17 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = 4.61852778244065E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -4.21884749357559E-15 9.18227067226685E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -6.35047570085590E-14 8.71966856788158E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.28306304154103E-14 8.12211131921600E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471730206D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723376511D+15 +(PID.TID 0000.0001) global fc = 0.184102723376511D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723376511E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471818934D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723385383D+15 +(PID.TID 0000.0001) global fc = 0.184102723385383D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723385383E+14 +grad-res ------------------------------- + grad-res 0 3 17 5 4 1 1 1 1.84102723381E+14 1.84102723377E+14 1.84102723385E+14 + grad-res 0 3 3 1883 0 1 1 1 -4.43643318051E+07 -4.43642187500E+07 2.54833238755E-06 +(PID.TID 0000.0001) TLM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) TLM tangent-lin_grad = -4.43643318050636E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -4.43642187500000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 3 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 4 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1884 37994 4 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1883 4 + ph-grd -->hit<-- 18 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 18 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = 4.61852778244065E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -4.21884749357559E-15 9.18227067226685E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -6.35047570085590E-14 8.71966856788158E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.28306304154103E-14 8.12211131921600E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471743619D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723377852D+15 +(PID.TID 0000.0001) global fc = 0.184102723377852D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723377852E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471805521D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723384042D+15 +(PID.TID 0000.0001) global fc = 0.184102723384042D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723384042E+14 +grad-res ------------------------------- + grad-res 0 4 18 5 4 1 1 1 1.84102723381E+14 1.84102723378E+14 1.84102723384E+14 + grad-res 0 4 4 1884 0 1 1 1 -3.09510269421E+07 -3.09509375000E+07 2.88979460805E-06 +(PID.TID 0000.0001) TLM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.09510269421108E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.09509375000000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 4 (ierr= 0) ======= +(PID.TID 0000.0001) ====== Starts gradient-check number 5 (=ichknum) ======= + ph-test icomp, ncvarcomp, ichknum 1885 37994 5 + ph-grd _loc: bi, bj, icomptest, ichknum 1 1 1884 5 + ph-grd -->hit<-- 19 5 4 1 +(PID.TID 0000.0001) grdchk pos: i,j,k= 19 5 4 ; bi,bj= 1 1 ; iobc= 1 ; rec= 1 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = 4.61852778244065E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -4.21884749357559E-15 9.18227067226685E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -6.35047570085590E-14 8.71966856788158E+00 + cg2d: Sum(rhs),rhsMax = 0.00000000000000E+00 0.00000000000000E+00 + cg2d: Sum(rhs),rhsMax = -7.28306304154103E-14 8.12211131921600E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471774570D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723380947D+15 +(PID.TID 0000.0001) global fc = 0.184102723380947D+15 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471741881D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723377678D+15 +(PID.TID 0000.0001) global fc = 0.184102723377678D+15 +(PID.TID 0000.0001) grdchk perturb(+)fc: fcpertplus = 1.84102723377678E+14 +(PID.TID 0000.0001) Start initial hydrostatic pressure computation +(PID.TID 0000.0001) Pressure is predetermined for buoyancyRelation OCEANIC +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Model current state +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) SOLVE_FOR_PRESSURE: putPmEinXvector = F + cg2d: Sum(rhs),rhsMax = 3.46389583683049E-14 8.55254939901145E+00 + cg2d: Sum(rhs),rhsMax = -6.03961325396085E-14 9.18227067226690E+00 + cg2d: Sum(rhs),rhsMax = 2.39808173319034E-14 8.71966856788166E+00 + cg2d: Sum(rhs),rhsMax = 5.32907051820075E-15 8.12211131921602E+00 +(PID.TID 0000.0001) Did not write pickup because writePickupAtEnd = FALSE +(PID.TID 0000.0001) early fc = 0.000000000000000D+00 + --> objf_tracer(bi,bj) = 0.513236471807259D+14 + --> objf_tracer(bi,bj) = 0.579123484504980D+14 + --> objf_tracer(bi,bj) = 0.267040314490043D+14 + --> objf_tracer(bi,bj) = 0.481626963039877D+14 +(PID.TID 0000.0001) local fc = 0.184102723384216D+15 +(PID.TID 0000.0001) global fc = 0.184102723384216D+15 +(PID.TID 0000.0001) grdchk perturb(-)fc: fcpertminus = 1.84102723384216E+14 +grad-res ------------------------------- + grad-res 0 5 19 5 4 1 1 1 1.84102723381E+14 1.84102723378E+14 1.84102723384E+14 + grad-res 0 5 5 1885 0 1 1 1 -3.26888456348E+07 -3.26889062500E+07 -1.85430781396E-06 +(PID.TID 0000.0001) TLM ref_cost_function = 1.84102723380947E+14 +(PID.TID 0000.0001) TLM tangent-lin_grad = -3.26888456348181E+07 +(PID.TID 0000.0001) TLM finite-diff_grad = -3.26889062500000E+07 +(PID.TID 0000.0001) ====== End of gradient-check number 5 (ierr= 0) ======= +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> START <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) EPS = 1.000000E-04 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output h.p: Id Itile Jtile LAYER bi bj X(Id) X(Id)+/-EPS +(PID.TID 0000.0001) grdchk output h.c: Id FC FC1 FC2 +(PID.TID 0000.0001) grdchk output h.g: Id FC1-FC2/(2*EPS) TLM GRAD(FC) 1-FDGRD/TLMGRD +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 1 15 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 1 1.8410272338095E+14 1.8410272337771E+14 1.8410272338418E+14 +(PID.TID 0000.0001) grdchk output (g): 1 -3.2324218750000E+07 -3.2324272151303E+07 1.6520496751715E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 2 16 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 2 1.8410272338095E+14 1.8410272337880E+14 1.8410272338309E+14 +(PID.TID 0000.0001) grdchk output (g): 2 -2.1473750000000E+07 -2.1473752132991E+07 9.9330146663412E-08 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 3 17 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 3 1.8410272338095E+14 1.8410272337651E+14 1.8410272338538E+14 +(PID.TID 0000.0001) grdchk output (g): 3 -4.4364218750000E+07 -4.4364331805064E+07 2.5483323875530E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 4 18 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 4 1.8410272338095E+14 1.8410272337785E+14 1.8410272338404E+14 +(PID.TID 0000.0001) grdchk output (g): 4 -3.0950937500000E+07 -3.0951026942111E+07 2.8897946080519E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk output (p): 5 19 5 4 1 1 0.000000000E+00 -1.000000000E-04 +(PID.TID 0000.0001) grdchk output (c): 5 1.8410272338095E+14 1.8410272337768E+14 1.8410272338422E+14 +(PID.TID 0000.0001) grdchk output (g): 5 -3.2688906250000E+07 -3.2688845634818E+07 -1.8543078139643E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) grdchk summary : RMS of 5 ratios = 2.0504878887903E-06 +(PID.TID 0000.0001) +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) // Gradient check results >>> END <<< +(PID.TID 0000.0001) // ======================================================= +(PID.TID 0000.0001) +(PID.TID 0000.0001) Seconds in section "ALL [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 29.009092501364648 +(PID.TID 0000.0001) System time: 7.3744002729654312E-002 +(PID.TID 0000.0001) Wall clock time: 29.187522888183594 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_FIXED [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 5.6726998183876276E-002 +(PID.TID 0000.0001) System time: 9.0249996865168214E-003 +(PID.TID 0000.0001) Wall clock time: 6.8171977996826172E-002 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "GRDCHK_MAIN [THE_MODEL_MAIN]": +(PID.TID 0000.0001) User time: 28.952338777482510 +(PID.TID 0000.0001) System time: 6.4712002873420715E-002 +(PID.TID 0000.0001) Wall clock time: 29.119330883026123 +(PID.TID 0000.0001) No. starts: 1 +(PID.TID 0000.0001) No. stops: 1 +(PID.TID 0000.0001) Seconds in section "INITIALISE_VARIA [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 0.93216114863753319 +(PID.TID 0000.0001) System time: 2.8156005777418613E-002 +(PID.TID 0000.0001) Wall clock time: 0.97236967086791992 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) Seconds in section "MAIN LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 27.909506604075432 +(PID.TID 0000.0001) System time: 2.1967992186546326E-002 +(PID.TID 0000.0001) Wall clock time: 28.005802392959595 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) Seconds in section "MAIN_DO_LOOP [THE_MAIN_LOOP]": +(PID.TID 0000.0001) User time: 27.824960343539715 +(PID.TID 0000.0001) System time: 4.9789920449256897E-003 +(PID.TID 0000.0001) Wall clock time: 27.903953552246094 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "FORWARD_STEP [MAIN_DO_LOOP]": +(PID.TID 0000.0001) User time: 27.824249729514122 +(PID.TID 0000.0001) System time: 4.9719884991645813E-003 +(PID.TID 0000.0001) Wall clock time: 27.903240442276001 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "UPDATE_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.53901068121194839 +(PID.TID 0000.0001) System time: 9.7993761301040649E-005 +(PID.TID 0000.0001) Wall clock time: 0.54104971885681152 +(PID.TID 0000.0001) No. starts: 128 +(PID.TID 0000.0001) No. stops: 128 +(PID.TID 0000.0001) Seconds in section "LOAD_FIELDS_DRIVER [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 1.0980442166328430E-003 +(PID.TID 0000.0001) System time: 4.9993395805358887E-006 +(PID.TID 0000.0001) Wall clock time: 1.1107921600341797E-003 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]": +(PID.TID 0000.0001) User time: 3.7207454442977905E-004 +(PID.TID 0000.0001) System time: 9.9837779998779297E-007 +(PID.TID 0000.0001) Wall clock time: 3.7574768066406250E-004 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "CTRL_MAP_FORCING [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.6501139402389526E-004 +(PID.TID 0000.0001) System time: 1.0021030902862549E-006 +(PID.TID 0000.0001) Wall clock time: 3.6406517028808594E-004 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "DO_ATMOSPHERIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.3955352604389191E-002 +(PID.TID 0000.0001) System time: 1.2997537851333618E-005 +(PID.TID 0000.0001) Wall clock time: 2.4055719375610352E-002 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "DO_OCEANIC_PHYS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.5174685046076775 +(PID.TID 0000.0001) System time: 1.7980001866817474E-003 +(PID.TID 0000.0001) Wall clock time: 4.5319643020629883 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "THERMODYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 11.075864300131798 +(PID.TID 0000.0001) System time: 2.9219947755336761E-003 +(PID.TID 0000.0001) Wall clock time: 11.107930898666382 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "DYNAMICS [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.7849542200565338 +(PID.TID 0000.0001) System time: 4.0009617805480957E-006 +(PID.TID 0000.0001) Wall clock time: 6.8030791282653809 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "UPDATE_CG2D [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.13858792185783386 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.13898372650146484 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "SOLVE_FOR_PRESSURE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.1996087133884430 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.2074856758117676 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "MOM_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.21850594878196716 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.21913695335388184 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "INTEGR_CONTINUITY [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.41276869177818298 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.41390943527221680 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "CALC_R_STAR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.2352378368377686E-002 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 4.2481184005737305E-002 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "TRC_CORRECTION_STEP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.63119709491729736 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.63281941413879395 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "BLOCKING_EXCHANGES [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 0.22456407546997070 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 0.22537279129028320 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "MONITOR [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.7086009979248047E-004 +(PID.TID 0000.0001) System time: 0.0000000000000000 +(PID.TID 0000.0001) Wall clock time: 3.7002563476562500E-004 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "COST_TILE [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 2.7487874031066895E-003 +(PID.TID 0000.0001) System time: 5.4992735385894775E-005 +(PID.TID 0000.0001) Wall clock time: 2.8162002563476562E-003 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "DO_THE_MODEL_IO [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 4.1100382804870605E-004 +(PID.TID 0000.0001) System time: 5.9977173805236816E-006 +(PID.TID 0000.0001) Wall clock time: 4.2605400085449219E-004 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "PTRACERS_RESET [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 3.7646293640136719E-004 +(PID.TID 0000.0001) System time: 4.9993395805358887E-006 +(PID.TID 0000.0001) Wall clock time: 3.6621093750000000E-004 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "DO_WRITE_PICKUP [FORWARD_STEP]": +(PID.TID 0000.0001) User time: 6.5258145332336426E-004 +(PID.TID 0000.0001) System time: 2.0995736122131348E-005 +(PID.TID 0000.0001) Wall clock time: 6.8068504333496094E-004 +(PID.TID 0000.0001) No. starts: 64 +(PID.TID 0000.0001) No. stops: 64 +(PID.TID 0000.0001) Seconds in section "COST_FINAL [ADJOINT SPIN-DOWN]": +(PID.TID 0000.0001) User time: 5.5944919586181641E-004 +(PID.TID 0000.0001) System time: 3.4004449844360352E-005 +(PID.TID 0000.0001) Wall clock time: 5.9652328491210938E-004 +(PID.TID 0000.0001) No. starts: 16 +(PID.TID 0000.0001) No. stops: 16 +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // Tile <-> Tile communication statistics +(PID.TID 0000.0001) // ====================================================== +(PID.TID 0000.0001) // o Tile number: 000001 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000002 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000003 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Tile number: 000004 +(PID.TID 0000.0001) // No. X exchanges = 0 +(PID.TID 0000.0001) // Max. X spins = 0 +(PID.TID 0000.0001) // Min. X spins = 1000000000 +(PID.TID 0000.0001) // Total. X spins = 0 +(PID.TID 0000.0001) // Avg. X spins = 0.00E+00 +(PID.TID 0000.0001) // No. Y exchanges = 0 +(PID.TID 0000.0001) // Max. Y spins = 0 +(PID.TID 0000.0001) // Min. Y spins = 1000000000 +(PID.TID 0000.0001) // Total. Y spins = 0 +(PID.TID 0000.0001) // Avg. Y spins = 0.00E+00 +(PID.TID 0000.0001) // o Thread number: 000001 +(PID.TID 0000.0001) // No. barriers = 73618 +(PID.TID 0000.0001) // Max. barrier spins = 1 +(PID.TID 0000.0001) // Min. barrier spins = 1 +(PID.TID 0000.0001) // Total barrier spins = 73618 +(PID.TID 0000.0001) // Avg. barrier spins = 1.00E+00 +PROGRAM MAIN: Execution ended Normally diff --git a/verification/vermix/code/GGL90_OPTIONS.h b/verification/vermix/code/GGL90_OPTIONS.h index c6b45f47ec..3311ae1efe 100644 --- a/verification/vermix/code/GGL90_OPTIONS.h +++ b/verification/vermix/code/GGL90_OPTIONS.h @@ -23,9 +23,17 @@ C originally implemented in OPA. C allow IDEMIX model #undef ALLOW_GGL90_IDEMIX +#ifdef ALLOW_GGL90_IDEMIX +C The cvmix version of idemix uses different regularisations for the +C Coriolis parameter, buoyancy frequency etc, when used in the denominator +# define GGL90_IDEMIX_CVMIX_VERSION +#endif C include Langmuir circulation parameterization #define ALLOW_GGL90_LANGMUIR +C recover old bug prior to Jun 2023 +#define GGL90_MISSING_HFAC_BUG + #endif /* ALLOW_GGL90 */ #endif /* GGL90_OPTIONS_H */