LtracerSrc LuvSrc can make a problem " insufficient virtual"

Discussion on computers, ROMS installation and compiling

Moderators: arango, robertson

Post Reply
Message
Author
chaoyu1985
Posts: 20
Joined: Thu May 04, 2017 1:31 pm
Location: south china sea institute of oceanography

LtracerSrc LuvSrc can make a problem " insufficient virtual"

#1 Unread post by chaoyu1985 »

Roms can run sucessfully when I do not turn on "LuvSrc " and "LtracerSrc ".
But I got a error "insufficient virtual memory" when I set "LuvSrc " and "LtracerSrc " were ture.

Code: Select all

forrtl: severe (41): insufficient virtual memory
Image              PC                Routine            Line        Source             
oceanG             00000000023BC098  mod_sources_mp_al         133  mod_sources.f90
oceanG             00000000020A94D5  mod_arrays_                83  mod_arrays.f90
oceanG             000000000041BCEE  ocean_control_mod         120  ocean_control.f90
oceanG             000000000041A850  MAIN__                     95  master.f90
oceanG             000000000041A656  Unknown               Unknown  Unknown
libc.so.6          0000003921A1ED1D  Unknown               Unknown  Unknown
oceanG             000000000041A549  Unknown               Unknown  Unknown

Code: Select all

model name   : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz
MemTotal:       132135956 kB
processor   : 63
vendor_id   : GenuineIntel
cpu family   : 6
model      : 45
model name   : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz
stepping   : 7
cpu MHz      : 1200.000
cache size   : 20480 KB
physical id   : 3
siblings   : 16
core id      : 7
cpu cores   : 8
apicid      : 111
initial apicid   : 111
fpu      : yes
fpu_exception   : yes
cpuid level   : 13
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
bogomips   : 4799.38
clflush size   : 64
cache_alignment   : 64
address sizes   : 46 bits physical, 48 bits virtual

Code: Select all

[code]
#define ANA_BSFLUX 
#define ANA_BTFLUX 
/*!#define ASSUMED_SHAPE */
#define CURVGRID 
#define DIFF_GRID
#define DJ_GRADPS 
#define DOUBLE_PRECISION 
#define INLINE_2DIO 
#define KANTHA_CLAYSON 
#define MASKING 
#define MIX_GEO_TS 
#define MIX_S_UV 
/*#define MPI */
/*
#define MY25_MIXING 
*/
#define NONLINEAR  
#define NONLIN_EOS 
#define N2S2_HORAVG 
#define POWER_LAW 
#define PROFILE 
#define NO_LBC_ATT
#define QCORRECTION 
#define K_GSCHEME 
#define RADIATION_2D 
/*#define !RST_SINGLE*/ 
#define SALINITY 
#define SRELAXATION 
#define SOLAR_SOURCE 
#define SOLVE3D 
/*!#define SPLINES */
#define SPLINES_VDIFF
#define SPLINE_VVISC
#define SPONGE 
/*#define !STOCH_OPT_WHITE*/ 
#define TCLIMATOLOGY 
#define TCLM_NUDGING 
/*#define TS_A4HADVECTION 
#define TS_A4VADVECTION */ 
#define TS_DIF2 
/*#define TS_PSOURCE 
replaced by TtracerSrc in file**/ 
#define UV_ADV 
#define UV_COR 
#define UV_U3HADVECTION 
#define UV_C4VADVECTION 
#define UV_QDRAG 
/*#define UV_PSOURCE *//*replaced by LurSrv in file */
#define UV_VIS2 
#define VAR_RHO_2D 
#define VISC_GRID
/*#undefine river
#undefine PSOURCE
#undefine PSOURCE_NCFILE
*/
#define ANA_SPFLUX
#define ANA_BPFLUX
/*#define LMD_MING*/
#define SSH_TIDES
#define BULK_FLUXES
#ifdef BULK_FLUXES
#define LONGWAVE
#define ANA_RAIN
#else
#define ANA_SMFLUX
#define ANA_STFLUX
#endif
#define ANA_SSFLUX
#define SPLINES_VDIFF
#define LMD_MIXING
#ifdef LMD_MIXING
#define LMD_MING
#define LMD_RIMIX
#define LMD_CONVEC
#define LMD_SKPP
#define LMD_BKPP
#define LMD_NONLOCAL
#define RI_SPLINES
#endif
#define TS_U3HADVECTION    /* use if 3rd-order upstream horiz. advection*/
#define TS_C4VADVECTION
#define UV_SADVECTION
#define DIURNAL_SRFLUX
#define ANA_SSFLUX
#define BIO_FENNEL
#ifdef BIO_FENNEL
#define CARBON
#define DENITRIFICTION
#define BIO_SEDIMENT
#define  DIAGNOSTICS_BIO
#endif
#if defined ECOSIM || defined BIO_FENNEL
#define ANA_SPFLUX
#define ANA_BPFLUX
#define ANA_CLOUD
#endif
#if defined BULK_FLUXES ||defined ECOSIM
#define ANA_CLOUD
#define PAPA_CLM
#endif
[/code]

User avatar
wilkin
Posts: 875
Joined: Mon Apr 28, 2003 5:44 pm
Location: Rutgers University
Contact:

Re: LtracerSrc LuvSrc can make a problem " insufficient virt

#2 Unread post by wilkin »

Roms can run sucessfully when I do not turn on "LuvSrc " and "LtracerSrc ".
But I got a error "insufficient virtual memory" when I set "LuvSrc " and "LtracerSrc " were ture.
You probably have something misconfigured in your river source file, so you should check that it follows the correct netcdf template and that the i,j, source locations are placed correctly as explained in a long entry in WikiROMS.

But first, if you have set both LuvSrc and LtracerSrc to true then you are applying each source twice. You should have only one set to true, and I recommend LuvSrc because that has the most user experience.

The list of CPP options you give have a mix of recently added options ...

Code: Select all

#define SPLINES_VDIFF
#define SPLINE_VVISC

previously discontinued options ...

Code: Select all

#define TCLM_NUDGING 
and options not in any source distribution I recognize ...

Code: Select all

#undefine PSOURCE_NCFILE
I Forum reader more familiar with the branch of code you are using might be able to help you more than I can.

Some changes to the code also require you update varinfo.dat, so you should check that you are up-to-date there.

You have several contradictory advection scheme options set, so it's hard to say what you actual final set of options is. It might be more helpful to show the list of active options reported by ROMS when it starts (that's what you actually got) rather than your cppdefs (which is only what you asked for - and checkdefs may have reset some of those in an attempt to resolve contradictions).
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: LtracerSrc LuvSrc can make a problem " insufficient virt

#3 Unread post by kate »

Also, this whole thing is inside a comment, which you probably did to shut up some warnings about #undefine when really, you want #undef:

Code: Select all

/*#undefine river
#undefine PSOURCE
#undefine PSOURCE_NCFILE
*/

chaoyu1985
Posts: 20
Joined: Thu May 04, 2017 1:31 pm
Location: south china sea institute of oceanography

Re: LtracerSrc LuvSrc can make a problem " insufficient virt

#4 Unread post by chaoyu1985 »

wilkin wrote:
Roms can run sucessfully when I do not turn on "LuvSrc " and "LtracerSrc ".
But I got a error "insufficient virtual memory" when I set "LuvSrc " and "LtracerSrc " were ture.
You probably have something misconfigured in your river source file, so you should check that it follows the correct netcdf template and that the i,j, source locations are placed correctly as explained in a long entry in WikiROMS.
But first, if you have set both LuvSrc and LtracerSrc to true then you are applying each source twice. You should have only one set to true, and I recommend LuvSrc because that has the most user experience.
The list of CPP options you give have a mix of recently added options ...
You have several contradictory advection scheme options set, so it's hard to say what you actual final set of options is. It might be more helpful to show the list of active options reported by ROMS when it starts (that's what you actually got) rather than your cppdefs (which is only what you asked for - and checkdefs may have reset some of those in an attempt to resolve contradictions).
thanks a lot for your help.
cpp in output file is

Code: Select all

 SCS             The SCS Operational Forecasting System , 1/30 degree resolution
 ANA_BPFLUX          Analytical bottom passive tracers fluxes.
 ANA_BSFLUX          Analytical kinematic bottom salinity flux.
 ANA_BTFLUX          Analytical kinematic bottom temperature flux.
 ANA_CLOUD           Analytical cloud fraction.
 ANA_RAIN            Analytical rain fall rate.
 ANA_SPFLUX          Analytical surface passive tracer fluxes.
 ANA_SSFLUX          Analytical kinematic surface salinity flux.
 ASSUMED_SHAPE       Using assumed-shape arrays.
 AVERAGES            Writing out time-averaged nonlinear model fields.
 BIO_FENNEL          Fennel et al. (2006) nitrogen-based model.
 BIO_SEDIMENT        Restore fallen particulate material to the nutrient pool.
 BULK_FLUXES         Surface bulk fluxes parameterization.
 CARBON              Add Carbon constituents.
 CURVGRID            Orthogonal curvilinear grid.
 DIAGNOSTICS_BIO     Computing and writing biological diagnostic terms.
 DIFF_GRID           Horizontal diffusion coefficient scaled by grid size.
 DIURNAL_SRFLUX      Modulate shortwave radiation by the local diurnal cycle.
 DJ_GRADPS           Parabolic Splines density Jacobian (Shchepetkin, 2002).
 DOUBLE_PRECISION    Double precision arithmetic.
 INLINE_2DIO         Processing 3D IO level by level to reduce memory needs.
 LMD_BKPP            KPP bottom boundary layer mixing.
 LMD_CONVEC          LMD convective mixing due to shear instability.
 LMD_MIXING          Large/McWilliams/Doney interior mixing.
 LMD_NONLOCAL        LMD convective nonlocal transport.
 LMD_RIMIX           LMD diffusivity due to shear instability.
 LMD_SKPP            KPP surface boundary layer mixing.
 LONGWAVE            Compute net longwave radiation internally.
 MASKING             Land/Sea masking.
 MIX_GEO_TS          Mixing of tracers along geopotential surfaces.
 MIX_S_UV            Mixing of momentum along constant S-surfaces.
 MPI                 MPI distributed-memory configuration.
 NONLINEAR           Nonlinear Model.
 NONLIN_EOS          Nonlinear Equation of State for seawater.
 NO_LBC_ATT          Not checking NetCDF global attribute NLM_LBC during restart.
 POWER_LAW           Power-law shape time-averaging barotropic filter.
 PROFILE             Time profiling activated .
 QCORRECTION         Surface net heat flux correction.
 RADIATION_2D        Use tangential phase speed in radiation conditions.
 RI_SPLINES          Parabolic Spline Reconstruction for Richardson Number.
 !RST_SINGLE         Double precision fields in restart NetCDF file.
 SALINITY            Using salinity.
 SRELAXATION         Surface salinity relaxation as surface flux.
 SOLAR_SOURCE        Solar Radiation Source Term.
 SOLVE3D             Solving 3D Primitive Equations.
 SPLINES_VDIFF       Parabolic Spline Reconstruction for Vertical Diffusion.
 SSH_TIDES           Add tidal elevation to SSH climatology.
 !TALK_NONCONSERV    Alkalinity is passive and unaffected by nitrate or ammonium.
 TS_U3HADVECTION     Third-order upstream horizontal advection of tracers.
 TS_C4VADVECTION     Fourth-order centered vertical advection of tracers.
 TS_DIF2             Harmonic mixing of tracers.
 UV_ADV              Advection of momentum.
 UV_COR              Coriolis term.
 UV_U3HADVECTION     Third-order upstream horizontal advection of 3D momentum.
 UV_SADVECTION       Parabolic splines vertical advection of momentum.
 UV_QDRAG            Quadratic bottom stress.
 UV_VIS2             Harmonic mixing of momentum.
 VAR_RHO_2D          Variable density barotropic mode.
 VISC_GRID           Horizontal viscosity coefficient scaled by grid size.
about the river input files. i created it by using make_runoff.m which is in tools_croco of ROMSTOOLS (vertion :July 2013). I thought it can be used directly. I will check the correct format in wiki carefully. Thanks for your guide. by the way, is there any nc files (examples about the river) i can download and check the format?
thanks again for your help

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: LtracerSrc LuvSrc can make a problem " insufficient virt

#5 Unread post by kate »

Here's "ncdump -h" on a working rivers file:

Code: Select all

netcdf NGOA_rivers_1980_2014_fe10 {
dimensions:
	river_time = UNLIMITED ; // (12784 currently)
	river = 1965 ;
	s_rho = 50 ;
	river_tracer_time = 365 ;
	river_bgc_time = 12 ;
variables:
	double river_time(river_time) ;
		river_time:units = "days" ;
		river_time:long_name = "river runoff time" ;
	int river(river) ;
		river:long_name = "river runoff identification number" ;
	double river_sign(river) ;
		river_sign:long_name = "river directional sign" ;
	int river_Xposition(river) ;
		river_Xposition:long_name = "river XI-position at RHO-points" ;
		river_Xposition:valid_min = 1 ;
		river_Xposition:valid_max = 689 ;
	int river_Eposition(river) ;
		river_Eposition:long_name = "river ETA-position at RHO-points" ;
		river_Eposition:valid_min = 1 ;
		river_Eposition:valid_max = 1089 ;
	int river_direction(river) ;
		river_direction:long_name = "river runoff direction" ;
	double river_Vshape(s_rho, river) ;
		river_Vshape:long_name = "river runoff mass transport vertical profile" ;
	double river_transport(river_time, river) ;
		river_transport:long_name = "river runoff vertically integrated mass transport" ;
		river_transport:units = "meter3 second-1" ;
		river_transport:time = "river_time" ;
	double river_tracer_time(river_tracer_time) ;
		river_tracer_time:units = "day" ;
		river_tracer_time:cycle_length = 365.25 ;
		river_tracer_time:long_name = "river tracer time" ;
	double river_temp(river_tracer_time) ;
		river_temp:long_name = "river runoff potential temperature" ;
		river_temp:units = "Celsius" ;
		river_temp:time = "river_tracer_time" ;
	double river_salt(river_tracer_time) ;
		river_salt:long_name = "river runoff salinity" ;
		river_salt:time = "river_tracer_time" ;
	double river_alk(river_bgc_time) ;
		river_alk:long_name = "river runoff alkalinity" ;
		river_alk:units = "mol/kg" ;
		river_alk:time = "river_bgc_time" ;
	double river_bgc_time(river_bgc_time) ;
		river_bgc_time:units = "day" ;
		river_bgc_time:cycle_length = 365.25 ;
		river_bgc_time:long_name = "river bgc time" ;
	double river_cadet_arag(river_bgc_time) ;
		river_cadet_arag:long_name = "river runoff detrital CaCO3" ;
		river_cadet_arag:units = "mol/kg" ;
		river_cadet_arag:time = "river_bgc_time" ;
	double river_cadet_calc(river_bgc_time) ;
		river_cadet_calc:long_name = "river runoff detrital CaCO3" ;
		river_cadet_calc:units = "mol/kg" ;
		river_cadet_calc:time = "river_bgc_time" ;
	
    ...
// global attributes:
		:type = "ROMS RIVERS file" ;
		:title = "hydroflow" ;
		:source = "David Hill and Jordan Beamer" ;
		:history = "Mon Feb 20 16:29:40 2017: ncks -A BGC_river.nc NGOA_rivers_1980_2014.nc" ;
		:NCO = "4.3.1" ;
I left out some of the BGC tracers, but you get the idea. Oh, and to use this file you need some ROMS hacks so that it's not expecting tracer values for every depth, for every river, for every time.

chaoyu1985
Posts: 20
Joined: Thu May 04, 2017 1:31 pm
Location: south china sea institute of oceanography

Re: LtracerSrc LuvSrc can make a problem " insufficient virt

#6 Unread post by chaoyu1985 »

kate wrote:Here's "ncdump -h" on a working rivers file:

Code: Select all

netcdf NGOA_rivers_1980_2014_fe10 {

    ...
// global attributes:
		:type = "ROMS RIVERS file" ;
		:title = "hydroflow" ;
		:source = "David Hill and Jordan Beamer" ;
		:history = "Mon Feb 20 16:29:40 2017: ncks -A BGC_river.nc NGOA_rivers_1980_2014.nc" ;
		:NCO = "4.3.1" ;
I left out some of the BGC tracers, but you get the idea. Oh, and to use this file you need some ROMS hacks so that it's not expecting tracer values for every depth, for every river, for every time.
thanks a lot~

User avatar
wilkin
Posts: 875
Joined: Mon Apr 28, 2003 5:44 pm
Location: Rutgers University
Contact:

Re: LtracerSrc LuvSrc can make a problem " insufficient virt

#7 Unread post by wilkin »

There are templates for all netcdf files in your source code in Data/ROMS/CDL
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

Post Reply