Abnormal job end: Blow Up

Hi,

We’re trying to run a model in CROCO that was set up in an old version of Roms-Agrif.
I have set all parameters in cppdefs.h to “defined” that were “defined” in the old cppdefs.h
I have set all parameters in cppdefs.h to “undef” that were “undef” in the old cppdefs.h
Parameters that were new in CROCO, as compared to Roms-Agrif, I have set to “undef”.
Some parameters that were defined in the old cppdefs.h, such as SPLIT_EOS and OBC_M2FLATHER I added (and “defined”). I didn’t want to go into the cppdefs_dev.h, since it is discouraged to do that for normal users.

The files were prepared with CROCO-tools and settings were the same as for the old files.
Somehow we keep getting a Blow Up within the first 3 time-steps of running the model, at the eastern border I believe (IMAX = 330 and JMAX = 2; LLm = 332 and MMm = 370).

It was supposed to be a nested run, but because the parent grid keeps crashing we are running it with just the parent grid. Since it worked before we don’t understand why it is blowing up now.

Anyone any ideas why this happens? Anyone experiencing the same and found a fix?

These are the old files we used (to use):
cppdefs.h
param.h

These are the new files we use:
cppdefs.h
param.h

This is the .in file:
roms.in

This is the croco.out file, after changing Swen’s suggestions from below.
croco_out.txt

Hi,

Could you attach your old (Roms_Agrif) cppdefs.h, param.h, and croco.in files?

Swen

Hi Swen,

Somehow I cannot upload attachments. It said >10 points needed. Don’t know what that means. I hope it’s okay if I copy it below. Sorry for the mess. This is the old cppdefs.h.

!
! $Id: cppdefs.h,v 1.28 2005/10/27 09:58:11 pmarches Exp $
!
This is “cppdefs.h”: MODEL CONFIGURATION FILE
==== == ============ ===== ============= ====
#undef BASIN /* Basin Example /
#undef CANYON_A /
Canyon_A Example /
#undef CANYON_B /
Canyon_B Example /
#undef GRAV_ADJ /
Graviational Adjustment Example /
#undef INNERSHELF /
Inner Shelf Example /
#undef OVERFLOW /
Graviational/Overflow Example /
#undef RIVER /
River run-off Example /
#undef SEAMOUNT /
Seamount Example /
#undef SHELFRONT /
Shelf Front Example /
#undef SOLITON /
Equatorial Rossby Wave Example /
#undef UPWELLING /
Upwelling Example /
#undef VORTEX /
Baroclinic Vortex Example /
#define REGIONAL /
REGIONAL Applications */

#if defined REGIONAL
/*
!====================================================================
! REGIONAL (realistic) Configurations
!====================================================================
!
!------------------------
! BASIC OPTIONS
!------------------------
!
/
/
Configuration Namea */

define GALWAYBAY

/* Parallelization */

define OPENMP

undef MPI

/* Embedding */

define AGRIF

/* Open Boundary Conditions */

define TIDES

define OBC_EAST

define OBC_WEST

define OBC_NORTH

define OBC_SOUTH

/* Embedding conditions */

ifdef AGRIF

define AGRIF_OBC_EAST

define AGRIF_OBC_WEST

define AGRIF_OBC_NORTH

define AGRIF_OBC_SOUTH

endif

/* Applications */

undef BIOLOGY

undef FLOATS

undef STATIONS

undef PASSIVE_TRACER

undef SEDIMENTS

undef BBL

/*!
!------------------------
! PRE-DETERMINED OPTIONS
!------------------------
/
/
Model dynamics */

define SOLVE3D

define UV_COR

define UV_ADV

ifdef TIDES

define SSH_TIDES

define UV_TIDES

define TIDERAMP

endif

/* Grid configuration */

define CURVGRID

define SPHERICAL

define MASKING

/* Input/Output & Diagnostics */

define AVERAGES

define AVERAGES_K

undef DIAGNOSTICS_TS

undef DIAGNOSTICS_UV

/* Equation of State */

define SALINITY

define NONLIN_EOS

define SPLIT_EOS

/* Surface Forcing */

define QCORRECTION

define SFLX_CORR

define DIURNAL_SRFLUX

define BULK_FLUX

ifdef BULK_FLUX

define BULK_EP

undef DIURNAL_SRFLUX

endif

ifdef BULK_EP

undef QCORRECTION

undef SFLX_CORR

endif

/* Lateral Forcing */

undef SPONGE

define CLIMATOLOGY

ifdef CLIMATOLOGY

define ZCLIMATOLOGY

define M2CLIMATOLOGY

define M3CLIMATOLOGY

define TCLIMATOLOGY

define ZNUDGING

define M2NUDGING

define M3NUDGING

define TNUDGING

undef ROBUST_DIAG

endif

undef FRC_BRY

ifdef FRC_BRY

define Z_FRC_BRY

define M2_FRC_BRY

define M3_FRC_BRY

define T_FRC_BRY

endif

/* Bottom Forcing */

define ANA_BSFLUX

define ANA_BTFLUX

/* Point Sources - Rivers */

undef PSOURCE

undef ANA_PSOURCE

/* Lateral Mixing */

define UV_VIS2

define MIX_S_UV

undef SMAGORINSKY

define TS_DIF2

define MIX_S_TS

if defined TCLIMATOLOGY & !defined AGRIF

define CLIMAT_TS_MIXH

endif

/* Vertical Mixing */

undef BODYFORCE

undef BVF_MIXING

define LMD_MIXING

ifdef LMD_MIXING

define LMD_SKPP

define LMD_BKPP

define LMD_RIMIX

define LMD_CONVEC

undef LMD_DDMIX

undef LMD_NONLOCAL

endif

/* Open Boundary Conditions */

ifdef TIDES

define OBC_M2FLATHER

undef OBC_M2CHARACT

undef OBC_VOLCONS

else

undef OBC_M2ORLANSKI

define OBC_M2FLATHER

undef OBC_M2CHARACT

undef OBC_VOLCONS

endif

undef OBC_M2SPECIFIED

define OBC_M3ORLANSKI

undef OBC_M3CHARACT

undef OBC_M3SPECIFIED

define OBC_TORLANSKI

undef OBC_TUPWIND

undef OBC_TSPECIFIED

/* Embedding conditions */

ifdef AGRIF

define AGRIF_STORE_BAROT_CHILD

define AGRIF_FLUX_BC

ifndef AGRIF_FLUX_BC

undef AGRIF_STORE_BAROT_CHILD

endif

define AGRIF_POLY_DUAVG

undef AGRIF_LOCAL_VOLCONS

define AGRIF_OBC_M2FLATHER

undef AGRIF_OBC_M2ORLANSKI

undef AGRIF_OBC_M2SPECIFIED

undef AGRIF_OBC_M2CHARACT

undef AGRIF_OBC_M3ORLANSKI

define AGRIF_OBC_M3SPECIFIED

undef AGRIF_OBC_M3CHARACT

undef AGRIF_OBC_TORLANSKI

undef AGRIF_OBC_TUPWIND

define AGRIF_OBC_TSPECIFIED

endif

/*
! Applications:
!---------------------------------
! Biology, floats, Stations,
! Passive tracer, Sediments, BBL
!---------------------------------
*/

ifdef BIOLOGY

define BIO_NChlPZD

undef BIO_N2ChlPZD2

undef BIO_N2P2Z2D2

undef DIAGNOSTICS_BIO /* Under Development */

endif

ifdef FLOATS

undef FLOATS_GLOBAL_ATTRIBUTES

undef IBM

undef RANDOM_WALK

ifdef RANDOM_WALK

define DIEL_MIGRATION

define RANDOM_VERTICAL

define RANDOM_HORIZONTAL

endif

endif

ifdef STATIONS

define ALL_SIGMA

endif

ifdef SEDIMENT

define ANA_SEDIMENT

undef BED_ARMOR

undef ANA_SPFLUX

undef ANA_BPFLUX

define LINEAR_CONTINUATION

undef NEUMANN

endif

ifdef BBL

define ANA_WWAVE

ifdef SEDIMENT

undef ANA_BSEDIM

else

define ANA_BSEDIM

endif

undef Z0_BL

ifdef Z0_BL

define Z0_RIP

endif

undef Z0_BIO

endif

/*
!
!==========================================================
! IDEALIZED CONFIGURATIONS
!==========================================================
!
/
#elif defined BASIN
/

! Basin Example
! ===== =======
*/

define UV_ADV

define UV_COR

define UV_VIS2

define MIX_S_UV

define SOLVE3D

define TS_DIF2

define MIX_S_TS

define BODYFORCE

define ANA_GRID

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_BTFLUX

#elif defined CANYON_A
/*
! First Canyon Example
! ===== ====== =======
*/

define UV_ADV

define UV_COR

define SOLVE3D

define EW_PERIODIC

define ANA_GRID

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_BTFLUX

#elif defined CANYON_B
/*
! Second Canyon Example
! ====== ====== =======
*/

define UV_ADV

define UV_COR

define SOLVE3D

define EW_PERIODIC

define ANA_GRID

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_BTFLUX

define ANA_VMIX

#elif defined GRAV_ADJ
/*
! Gravitational Adjustment Example
! ============= ========== =======
*/

define UV_ADV

define UV_VIS2

define MIX_S_UV

define TS_DIF2

define MIX_S_TS

define SOLVE3D

define ANA_GRID

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_BTFLUX

#elif defined INNERSHELF
/*
! Inner Shelf Example
! ===== ===== =======
*/

define SOLVE3D

define UV_COR

define UV_ADV

define ANA_GRID

define ANA_INITIAL

define AVERAGES

define SALINITY

define NONLIN_EOS

define SPLIT_EOS

define ANA_SSFLUX

define ANA_SRFLUX

define ANA_STFLUX

define ANA_BSFLUX

define ANA_BTFLUX

define ANA_SMFLUX

define LMD_MIXING

define LMD_SKPP

define LMD_BKPP

define LMD_RIMIX

define LMD_CONVEC

define NS_PERIODIC

#elif defined RIVER
/*
! River run-off test problem
! ==========================
*/

define SOLVE3D

define UV_ADV

define UV_COR

define M2FILTER_FLAT

define NONLIN_EOS

define SPLIT_EOS

define SALINITY

define ANA_GRID

define MASKING

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_SSFLUX

define ANA_SRFLUX

define ANA_BTFLUX

define ANA_BSFLUX

define LMD_MIXING

define LMD_SKPP

define LMD_BKPP

define LMD_RIMIX

define LMD_CONVEC

define PSOURCE

define ANA_PSOURCE

define NS_PERIODIC

define FLOATS

ifdef FLOATS

undef RANDOM_WALK

ifdef RANDOM_WALK

define DIEL_MIGRATION

define RANDOM_VERTICAL

define RANDOM_HORIZONTAL

endif

endif

#elif defined SEAMOUNT
/*
! Seamount Example
! ======== =======
*/

define UV_ADV

define UV_COR

define SOLVE3D

define SALINITY

define NONLIN_EOS

define SPLIT_EOS

define ANA_GRID

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_SSFLUX

define ANA_SRFLUX

define ANA_BTFLUX

define ANA_BSFLUX

elif defined SHELFRONT

/*
! Shelf Front Example
! ===== ===== =======
*/

define UV_ADV

define UV_COR

define SOLVE3D

define SALINITY

define ANA_GRID

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_SSFLUX

define ANA_SRFLUX

define ANA_BTFLUX

define ANA_BSFLUX

define EW_PERIODIC

#elif defined SOLITON
/*
! Equatorial Rossby Wave Example
! ========== ====== ==== =======
*/

define UV_COR

define UV_ADV

define ANA_GRID

define ANA_INITIAL

define AVERAGES

define EW_PERIODIC

define ANA_SMFLUX

elif defined OVERFLOW

/*
! Gravitational/Overflow Example
! ====================== =======
*/

define UV_ADV

define UV_COR

define UV_VIS2

define MIX_GP_UV

define TS_DIF2

define MIX_GP_TS

define SOLVE3D

define ANA_GRID

define ANA_INITIAL

define ANA_SMFLUX

define ANA_STFLUX

define ANA_BTFLUX

#elif defined UPWELLING
/*
! Upwelling Example
! ========= =======
*/

define SOLVE3D

define UV_COR

define UV_ADV

define ANA_GRID

define ANA_INITIAL

define AVERAGES

define SALINITY

define NONLIN_EOS

define SPLIT_EOS

define ANA_SSFLUX

define ANA_SRFLUX

define ANA_STFLUX

define ANA_BSFLUX

define ANA_BTFLUX

define ANA_SMFLUX

define LMD_MIXING

define LMD_SKPP

define LMD_BKPP

define LMD_RIMIX

define LMD_CONVEC

define EW_PERIODIC

#elif defined VORTEX
/*
! Baroclinic Vortex Example (TEST AGRIF)
! ========== ====== ======= ===== ======
*/

define AGRIF

define SOLVE3D

define UV_COR

define UV_ADV

define M2FILTER_COSINE

define ANA_STFLUX

define ANA_SMFLUX

define ANA_BSFLUX

define ANA_BTFLUX

define ANA_VMIX

define UV_VIS2

define MIX_S_UV

define TS_DIF2

define MIX_S_TS

define SPONGE

define AGRIF_STORE_BAROT_CHILD

define AGRIF_FLUX_BC

define AGRIF_POLY_DUAVG

define AGRIF_LOCAL_VOLCONS

define AGRIF_OBC_EAST

define AGRIF_OBC_WEST

define AGRIF_OBC_NORTH

define AGRIF_OBC_SOUTH

define AGRIF_OBC_M2FLATHER

define AGRIF_OBC_M3SPECIFIED

define AGRIF_OBC_TSPECIFIED

#endif

#include “set_global_definitions.h”

Also, why don’t you try to run with the new cppdefs.h. If it is a regular regional configuration, it should work as is. could you also try with a lower time step for a test?

Hi Swen,
This is the old param.h file.
Thanks for looking into this!

!
! $Id: param.h,v 1.19 2005/10/26 15:18:52 pmarches Exp $
!
! Dimensions of Physical Grid and array dimensions:
! =========== == ======== ==== === ===== ============
! LLm,MMm Number of the internal points of the PHYSICAL grid.
! in the XI- and ETA-directions [physical side boundary
! points and peroodic ghost points (if any) are excluded].
!
! Lm,Mm Number of the internal points [see above] of array
! covering a Message Passing subdomain. In the case when
! no Message Passing partitioning is used, these two are
! the same as LLm,MMm.
!
! N Number of vertical levels.
!
integer LLm,Lm,MMm,Mm,N, LLm0,MMm0
#if defined BASIN
parameter (LLm0=60, MMm0=50, N=10)
#elif defined CANYON_A
parameter (LLm0=65, MMm0=48, N=16)
#elif defined CANYON_B
parameter (LLm0=66, MMm0=48, N=16)
#elif defined GRAV_ADJ
parameter (LLm0=128, MMm0=4, N=10)
#elif defined OVERFLOW
parameter (LLm0=4, MMm0=128, N=10)
#elif defined SEAMOUNT
parameter (LLm0=64, MMm0=64, N=20)
#elif defined SHELFRONT
parameter (LLm0=4, MMm0=40, N=10)
#elif defined SOLITON
parameter (LLm0=96, MMm0=32, N=10)
#elif defined UPWELLING
parameter (LLm0=16, MMm0=64, N=16)
#elif defined INNERSHELF
parameter (LLm0=64, MMm0=3, N=40)
#elif defined RIVER
parameter (LLm0=40, MMm0=80, N=20)
#elif defined VORTEX
! parameter (LLm0=179, MMm0=179, N=10) ! 10 km resolution
parameter (LLm0=59, MMm0=59, N=10) ! 30 km resolution
! parameter (LLm0=69, MMm0=57, N=10) ! 30 km resolution
! parameter (LLm0=35, MMm0=35, N=10) ! 50 km resolution
! parameter (LLm0=24, MMm0=24, N=10) ! 70 km resolution
#elif defined REGIONAL

if defined BENGUELA

  parameter (LLm0=23, MMm0=31,  N=32) 

elif defined GALWAYBAY

! parameter (LLm0=138, MMm0=130, N=30)
parameter (LLm0=248, MMm0=248, N=32)
! parameter (LLm0=86, MMm0=124, N=30)
! parameter (LLm0=132, MMm0=190, N=30)
! parameter (LLm0=208, MMm0=300, N=30)

else

  parameter (LLm0=??,  MMm0=??,  N=??)

endif

#else
parameter (LLm0=??, MMm0=??, N=??)
#endif

#ifdef MPI
!
! MPI rlated variables
! === ====== =========

  integer Lmmpi,Mmmpi,iminmpi,imaxmpi,jminmpi,jmaxmpi
  common /comm_setup_mpi/ Lmmpi,Mmmpi,
 &                    iminmpi,imaxmpi,jminmpi,jmaxmpi

#endif

#ifdef AGRIF
common /scrum_physical_grid/ LLm,Lm,MMm,Mm
#else
parameter (LLm=LLm0, MMm=MMm0)
#endif

!
! Domain subdivision parameters:
! ====== =========== ===========
! NPP Maximum allowed number of parallel threads;
! NSUB_X,NSUB_E Number of SHARED memory subdomains in XI- and
! ETA-directions;
! NNODES Total number of MPI processes (nodes);
! NP_XI,NP_ETA Number of MPI subdomains in XI- and ETA-directions;
!
integer NSUB_X, NSUB_E, NPP
#ifdef MPI
integer NP_XI, NP_ETA, NNODES
parameter (NP_XI=2, NP_ETA=4, NNODES=NP_XI*NP_ETA)
parameter (NSUB_X=1, NSUB_E=1, NPP=1)
#elif defined OPENMP
parameter (NSUB_X=2, NSUB_E=4, NPP=8)
#else
parameter (NSUB_X=1, NSUB_E=1, NPP=1)
#endif
!
! Number of tracers and tracer identification indices:
! ====== == ======= === ====== ============== ========
!
#ifdef SOLVE3D
integer NT, itemp,
& ntrc_salt, ntrc_pas, ntrc_bio, ntrc_sed
& , ntrc_diats, ntrc_diauv

ifdef BIOLOGY

 &        ,itrc_bio

endif

ifdef SEDIMENT

 &        ,itrc_sed

endif

ifdef SALINITY

 &          , isalt

endif

ifdef PASSIVE_TRACER

 &          , itpas

endif

ifdef BIOLOGY

ifdef BIO_NChlPZD

 &          , iNO3_, iChla, iPhy1, iZoo1
 &          , iDet1

elif defined BIO_N2ChlPZD2

 &          , iNO3_, iNH4_, iChla, iPhy1, iZoo1
 &          , iDet1, iDet2

elif defined BIO_N2P2Z2D2

 &          , iNO3_, iNH4_, iPhy1, iPhy2, iZoo1, iZoo2
 &          , iDet1, iDet2

endif

endif

ifdef SEDIMENT

 &          , isand, isilt
 &          , NST, NLAY

endif

  parameter (itemp=1)

ifdef SALINITY

  parameter (ntrc_salt=1)
  parameter (isalt=itemp+1)

else

  parameter (ntrc_salt=0)

#endif

ifdef PASSIVE_TRACER

  parameter (ntrc_pas=1)
  parameter (itpas=itemp+ntrc_salt+1)

else

  parameter (ntrc_pas=0)

endif

ifdef BIOLOGY

ifdef BIO_NChlPZD

  parameter (ntrc_bio=5,itrc_bio=itemp+ntrc_salt+ntrc_pas+1) 
  parameter (iNO3_=itrc_bio, iChla=iNO3_+1,  
 &           iPhy1=iNO3_+2,
 &           iZoo1=iNO3_+3, 
 &           iDet1=iNO3_+4)

elif defined BIO_N2ChlPZD2

  parameter (ntrc_bio=7,itrc_bio=itemp+ntrc_salt+ntrc_pas+1) 
  parameter (iNO3_=itrc_bio, iNH4_=iNO3_+1, iChla=iNO3_+2,   
 &           iPhy1=iNO3_+3,
 &           iZoo1=iNO3_+4,
 &           iDet1=iNO3_+5, iDet2=iNO3_+6)

elif defined BIO_N2P2Z2D2

  parameter (ntrc_bio=8,itrc_bio=itemp+ntrc_salt+ntrc_pas+1) 
  parameter (iNO3_=itrc_bio, iNH4_=iNO3_+1,  
 &           iPhy1=iNO3_+2, iPhy2=iNO3_+3,
 &           iZoo1=iNO3_+4, iZoo2=iNO3_+5, 
 &           iDet1=iNO3_+6, iDet2=iNO3_+7)

endif

else

  parameter (ntrc_bio=0)

endif

ifdef SEDIMENT

! NST Number of sediment (tracer) size classes
! NLAY Number of layers in sediment bed
parameter (NST=2, NLAY=2)
parameter (ntrc_sed=NST,
& itrc_sed=itemp+ntrc_salt+ntrc_pas+ntrc_bio+1)
parameter (isand=itrc_sed, isilt=isand+1)

else

  parameter (ntrc_sed=0)

endif

  parameter (NT=itemp+ntrc_salt+ntrc_pas+ntrc_bio+ntrc_sed)

#ifdef DIAGNOSTICS_TS
parameter (ntrc_diats=7*NT)
#else
parameter (ntrc_diats=0)
#endif
#ifdef DIAGNOSTICS_UV
parameter (ntrc_diauv=16)
#else
parameter (ntrc_diauv=0)
#endif
#endif /*SOLVE3D */
#ifdef STATIONS
integer NS ! Number of output stations (if any).
parameter (NS=1) ! ====== == ====== ======== === =====
#endif
#ifdef PSOURCE
integer Msrc ! Number of point sources, if any
parameter (Msrc=10) ! ====== == ====== ======== === =
#endif
#ifdef FLOATS
integer Mfloats ! Maximum number of floats
parameter (Mfloats=32000)! ====== == ====== ========
#endif
#ifdef STATIONS
integer Msta ! Maximum of stations
parameter (Msta=1000) ! ======= == ========
#endif
#if defined SSH_TIDES || defined UV_TIDES
integer Ntides
parameter (Ntides=8)
#endif
!
! Derived dimension parameters.
!
integer stdout, Np, padd_X,padd_E
#ifdef AGRIF
common/scrum_deriv_param/padd_X,padd_E
#endif
parameter (stdout=6, Np=N+1)
#ifndef AGRIF
!
! Domain subdivision parameters:
! ====== =========== ===========

ifdef MPI

  parameter (Lm=(LLm+NP_XI-1)/NP_XI, Mm=(MMm+NP_ETA-1)/NP_ETA)

else

  parameter (Lm=LLm, Mm=MMm)

endif

!
! Derived dimension parameters.
!
parameter (padd_X=(Lm+2)/2-(Lm+1)/2)
parameter (padd_E=(Mm+2)/2-(Mm+1)/2)
#endif
#ifdef AGRIF
integer NSA, N2d,N3d
parameter (NSA=28)
common /scrum_private_param/ N2d,N3d
#else
integer NSA, N2d,N3d, size_XI,size_ETA
integer se,sse, sz,ssz
parameter (NSA=28)

ifdef ALLOW_SINGLE_BLOCK_MODE

  parameter (size_XI=6+Lm, size_ETA=6+Mm)

else

  parameter (size_XI=7+(Lm+NSUB_X-1)/NSUB_X)
  parameter (size_ETA=7+(Mm+NSUB_E-1)/NSUB_E)

endif

  parameter (sse=size_ETA/Np, ssz=Np/size_ETA)
  parameter (se=sse/(sse+ssz), sz=1-se)
  parameter (N2d=size_XI*(se*size_ETA+sz*Np))
  parameter (N3d=size_XI*size_ETA*Np)

#endif
!
! Number maximum of weights for the barotropic mode
!
integer NWEIGHT
parameter (NWEIGHT=137)

Hi pmarches.
Sorry, I think I wasn’t clear. We do try to run it with the new cppdefs.h. But this doesn’t work. When I use the default cppdefs.h, i.e. the way you download it from CROCO-ocean, it blows up all over the grid.
With the time-step lowered it takes about 19 time-steps to blow up.
Thanks!

I have corrected a small bug in the forum interface.
Can you try again to attach the files, please?
(I have deleted your posts with cppdefs and param, because it was unreadable, I hope that you can now upload the files).
Swen

Hi Swen,

I’m sorry, but I still cannot attach files because I need >10 points.

Anna

It is strange, on my side, I can attach a typical cppdefs.h file.
Maybe an issue with the web browser… What Web Browser are you using?
or maybe it is just because you didn’t write something in the answer field (you need to write a few words at least)?

Well you have 15 points right ;). I think it’s something with Karma. I tried it with writing something and I tried adding them to my question.
Anna

ok, now it should be ok (I have changed the settings)

Both files you attached are param.h, so I could not check on cppdefs.h
But already looking at param.h, I can see that your param.h is quite different that the new param.h of CROCO.
Maybe you should first try using new param.h from CROCO sources modified for your configuration…

Hi Swen,
Thank you so much for helping. I am, apparently, really bad at posting things on a forum, sorry for this.
So to be clear I have added to my question the old param.h and cppdefs.h files and the new ones. I hope the links are correct now.
Thanks a lot again.
Cheers, Anna

Hi Anna,

In your new cppdefs.h, multiple things need to be corrected:

The bigger issues are :

You have undef all the advection terms, which makes no sense… You should put them back :

define UV_HADV_UP3
define UV_VADV_SPLINES
define TS_HADV_RSUP3
define TS_VADV_AKIMA

You have also undef the requested bulk fluxes for momentum, you should put them back:

define BULK_FAIRALL
define BULK_LW
define BULK_SMFLUX

Other minor things that should be removed :

define SPLIT_EOS 

It is useless in your new cppdefs.h because it is defined in cppdefs_dev.h when NONLIN_EOS is defined (as it is your case)

Now some things I have noted in your new param.h:

Your grid parameters are:

parameter (LLm0=332,   MMm0=370,   N=32)

While, in your old param.h the grid parameters were:

parameter (LLm0=248, MMm0=248,  N=32) 

Also the number of tasks for openmp are not the same in the old and new versions of param.h (8 vs 80).

One last thing is that in your new cppdefs.h, you have defined NEW_S_COORD. It is ok, but have you take care when preparing your files during pre-processing to use this in crocotools_param.m?

vtransform =  2.

Hi Swen,
Thanks for your answer! This clarifies things a lot. I will try switching on the advection and bulk flux parameters. And will let you know the result.
W tried with a bigger grid, on a computer with more threads, hence the changes in param.h
The new_s_coord was still on by accident.
Tnx!Anna

Hi Swen,
I’ve changed all your suggestion, but I got the same issue: blow up after 1 or 2 time steps at the border. I’ve attached the croco.out file in my initial question. Hope you can read it.
Thanks so much for looking into this!
Anna

Can you try running your simulation again but with NDTFAST=60 in your .in file?

Hi Swen,

This solved it! It ran over 400 timesteps without crashing.
Why did it ran with an NDTFAST of 40 in Roms, but needs and NDTFAST of 60 in CROCO?
We would like to run a nested model eventually. Probably we need to change NDTFAST for the child grid then as well, don’t we?

if you were using an old version of Roms, the predictor-corrector scheme of the time stepping was slightly different and allowed a lower ndtfast than in the present version used in Croco

Anna,

Something that is undef in your cppdefs and that you should define is:

define SPONGE

It is clearly better to improve the stability at the boundaries, and prevents instabilities to develop at the boundaries.