Model cannot find riverine nutrients like NO3

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
FengZhou
Posts: 52
Joined: Wed Apr 07, 2004 10:48 pm
Location: 2nd Institute of Oceanography,SOA

Model cannot find riverine nutrients like NO3

#1 Unread post by FengZhou »

Hi, all,

I am running a coupled model (ROMS svn 713 + CoSiNE), which behaves well when no riverine nutrients put in. The model have completed successfully after being spinned up for two years. And now I would like to add river nutrients like nitrate, silicate and phosphate etc, since they are so much important for my studying area.

These variables are defined in the file: ~/bioroms/ROMS/External/varinfo.dat, for simplicity, I only post NO3 here:
'river_NO3' ! Input
'river runoff NO3'
'millimole_nitrogen meter-3' ! [millimole/m3]
'river_NO3, scalar, series'
'river_time'
'idRtrc(iNO3_)'
'nulvar'
1.0d0

'river_NH4' ! Input
'river runoff NH4'
'millimole_nitrogen meter-3' ! [millimole/m3]
'river_NH4, scalar, series'
'river_time'
'idRtrc(iNH4_)'
'nulvar'
1.0d0
And the river data are combined into the input file: ~/bioroms/bye24_frc_7riversbp.nc, including temperature, salinity and NO3..., and I use ncdump -h to check the file contents, it looks consistent with the varinfo.dat.
netcdf bye24_frc_7riversbp {
dimensions:
xi_psi = 348 ;
xi_rho = 349 ;
xi_u = 348 ;
xi_v = 349 ;
eta_psi = 501 ;
eta_rho = 502 ;
eta_u = 502 ;
eta_v = 501 ;
s_rho = 30 ;
tracer = 15 ;
river = 13 ;
river_time = 12 ;
variables:
double river(river) ;
river:long_name = "river_runoff identification number" ;
river:units = "nondimensional" ;
river:field = "riversID, scalar" ;
double river_time(river_time) ;
river_time:long_name = "river_time" ;
river_time:units = "days" ;
river_time:field = "river_time, scalar, series" ;
river_time:cycle_length = 360. ;
double river_Xposition(river) ;
river_Xposition:long_name = "river runoff XI-positions at RHO-points" ;
river_Xposition:units = "scalar" ;
river_Xposition:field = "river runoff XI position, scalar, series" ;
double river_Eposition(river) ;
river_Eposition:long_name = "river runoff ETA-positions at RHO-points" ;
river_Eposition:units = "scalar" ;
river_Eposition:field = "river runoff ETA position, scalar, series" ;
double river_direction(river) ;
river_direction:long_name = "river runoff direction, XI=0, ETA>0" ;
river_direction:units = "scalar" ;
river_direction:field = "river runoff direction, scalar, series" ;
double river_Vshape(s_rho, river) ;
river_Vshape:long_name = "river runoff mass transport vertical profile" ;
river_Vshape:units = "scalar" ;
river_Vshape:field = "river runoff vertical profile, scalar, series" ;
double river_transport(river_time, river) ;
river_transport:long_name = "river runoff mass transport" ;
river_transport:units = "meter^3/s" ;
river_transport:field = "river runoff mass transport, scalar, series" ;
double river_flag(river) ;
river_flag:long_name = "river flag, 1=temp, 2=salt, 3=temp+salt, 4=temp+salt+sed, 5=temp+salt+sed+bio" ;
river_flag:units = "nondimensional" ;
river_flag:field = "river flag, scalar, series" ;
double river_temp(river_time, s_rho, river) ;
river_temp:long_name = "river runoff potential temperature" ;
river_temp:units = "Celsius" ;
river_temp:field = "river temperature, scalar, series" ;
double river_salt(river_time, s_rho, river) ;
river_salt:long_name = "river runoff salinity" ;
river_salt:units = "PSU" ;
river_salt:field = "river salinity, scalar, series" ;
double river_NO3(river_time, s_rho, river) ;
river_NO3:long_name = "river runoff NO3" ;
river_NO3:units = "millimole_nitrogen meter-3" ;
river_NO3:field = "river_NO3, scalar, series" ;
double river_NH4(river_time, s_rho, river) ;
river_NH4:long_name = "river runoff NH4" ;
river_NH4:units = "millimole_nitrogen meter-3" ;
river_NH4:field = "river_NH4, scalar, series" ;
...
The model read from the input file 'transport', 'temperature' and 'salinity', but said can not find further metdata like nitrite, silicate ...

The error information does not tell me which file has problem, but it is supposed to be related with nutrients data according to the read sequence.
------------------------------------------error information
GET_NGFLD - river runoff salinity, t = 345 00:00:00
(Rec=0000012, Index=2, File: bye24_frc_7riversbp.nc)
(Tmin= 15.0000 Tmax= 345.0000)
(Min = 1.00000000E+00 Max = 2.00000000E+01)

INQUIRE - unable to find requested variable: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
in file:

INQUIRE - unable to find requested variable: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
in file:
file name is blank, cannot be determined.

-----------------------------------

very much Appreciate for any suggestions!

Feng

FengZhou
Posts: 52
Joined: Wed Apr 07, 2004 10:48 pm
Location: 2nd Institute of Oceanography,SOA

Re: Model cannot find riverine nutrients like NO3

#2 Unread post by FengZhou »

In other words, I am wondering if I need to prepare river nutrients in a file other than the file in which river transport/temp/salinity are included? If so, what's the file name? should I put it in ocean_.in or in something like bio_Fennel.in (designated by BPARNAM)?

Thanks in advance!

FengZhou
Posts: 52
Joined: Wed Apr 07, 2004 10:48 pm
Location: 2nd Institute of Oceanography,SOA

Re: Model cannot find riverine nutrients like NO3

#3 Unread post by FengZhou »

The problem is solved.

My biological module (CoSiNE) contains some old cpp definition 'TS_PSOURCE' in
ROMS/Nonlinear/Biology/bio_UMAINE13_var.h
.

The 'TS_PSOURCE' has been removed by the new version of ROMS. So when I try to couple that CoSiNE and the recent ROMS, the model can not find the point source variable (like rivers), since TS_PSOURCE has no definition. So what I do is just remove the 'TS_PSOURCE', and recompile and run again, everything is set now.

But I am still confused that cpp item 'TS_PSOURCE' is still used in checkdefs.F in SVN 713, see:
ROMS/Utility/checkdefs.F:#if defined TS_PSOURCE && defined SOLVE3D
. It will not affected the code and results, but might be confusing for some newers.

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

Re: Model cannot find riverine nutrients like NO3

#4 Unread post by kate »

If you look at that part of checkdefs.F, you will see:

Code: Select all

#if defined TS_PSOURCE && defined SOLVE3D
!
!  Stop if activating obsolete tracers point Sources/Sinks option. This
!  capability is now activated with standard input switch "LtracerSrc".
!
      IF (Master) THEN 
        WRITE (stdout,230) uppercase('ts_psource'), 'LtracerSrc'
 230    FORMAT (/,' CHECKDEFS - cannot use obsolete option: ',a,        &    
     &          /,13x,'Use instead standard input switch: ',a,          &    
     &          /,13x,'Edit header file or build script!')
        exit_flag=5
      END IF
#endif
If you are using the ROMS trunk code with a non-standard bio model, you will have to update it when the supported bio models are updated.

Post Reply