Ocean Modeling Discussion

ROMS/TOMS

Search for:
It is currently Mon Oct 16, 2017 11:50 pm




Post new topic Reply to topic  [ 4 posts ] 

All times are UTC

Author Message
PostPosted: Mon Jul 24, 2017 4:31 pm 
Offline

Joined: Mon Jun 30, 2003 2:29 pm
Posts: 28
Location: CCPO/ODU, USA
There is a curious difference between COAWST/ROMS(v1175) and trunk/ROMS (v854). The source code for both were obtained last week (July 20 2017).

The problem: I am trying to run the upwelling case in COAWST/ROMS to set up the environment. Both scalar and mpi compiles report an incorrect model configuration (see below). I then tried the estuary test case as a romsonly case in COAWST. It ran fine. However, if I turn off sediments, it fails in the same way as the upwelling case. The upwelling case in trunk/ROMS works fine.

The issue: There is some difference in the COAWST/ROMS setup in the way that Qout control variables are set up so that idsurT is not being defined. From the DO loop variables, it seems that some other part of the code should set up Qout for idsurT for the two active tracers (itemp, isalt) when NT=2. The code below should only define Qout(idsurT) for additional passive tracer variables. The trunk/ROMS model does the definitions; the COAWST/ROMS model does not, unless sediments are turned on in which case MT> NT and the loop in mod_ncparam.F executes.

I could not find the difference between the COAWST/ROMS setup and the trunk/ROMS setup. Maybe someone with more familiarity with the Qout setup can figure this out.

below are code fragments and model runtime output.

Thanks for your help.

John

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
lines in mod_ncparam.F (both COAWST/ROMS and trunk/ROMS)

DO i=NAT+1,MT
varid=varid+1
write(*,*) 'mod_ncparam: varid',varid
IF (varid.gt.MV) THEN
WRITE (stdout,60) MV, varid
STOP
END IF
idsurT(i)=varid
DO ng=1,Ngrids
Fscale(varid,ng)=1.0_r8
Iinfo(1,varid,ng)=r2dvar
END DO
WRITE (Vname(1,varid),'(a,a)') &
& TRIM(ADJUSTL(Vname(1,idTvar(i)))), '_sur'
WRITE (Vname(2,varid),'(a,1x,a)') 'model surface', &
& TRIM(ADJUSTL(Vname(2,idTvar(i))))
WRITE (Vname(3,varid),'(a)') &
& TRIM(ADJUSTL(Vname(3,idTvar(i))))
WRITE (Vname(4,varid),'(a,a)') &
& TRIM(Vname(1,varid)), ', scalar, series'
WRITE (Vname(5,varid),'(a)') &
& TRIM(ADJUSTL(Vname(5,idTvar(i))))
END DO

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Run log for scalar compile with "DO i=NAT+1,MT" in nc_param.F

Model Input Parameters: ROMS/TOMS version 3.7
Monday - July 24, 2017 - 10:55:08 AM
-----------------------------------------------------------------------------
mod_ncparam: allocate Qout. NV= 1400
mod_ncparam: allocate idsurT. MT= 2
mod_param: NAT, MT, MV = 2 2 1400
read_phypar: Qout(idsurT)
read_phypar: max(idsurT) == 0

READ_PHYPAR - variable info not yet loaded, idsurT

Elapsed CPU time (seconds):

ROMS/TOMS - Output NetCDF summary for Grid 01:

ROMS/TOMS - Configuration error ..... exit_flag: 5

ERROR: Illegal model configuration.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
The mpi compile has the same problem (run on 4 processors)

Model Input Parameters: ROMS/TOMS version 3.7
Monday - July 24, 2017 - 12:13:42 PM
-----------------------------------------------------------------------------
mod_ncparam: allocate Qout. NV= 1400
mod_ncparam: allocate idsurT. MT= 2
mod_ncparam: allocate Qout. NV= 1400
mod_ncparam: allocate idsurT. MT= 2
mod_ncparam: allocate Qout. NV= 1400
mod_ncparam: allocate idsurT. MT= 2
mod_ncparam: allocate Qout. NV= 1400
mod_ncparam: allocate idsurT. MT= 2
mod_param: NAT, MT, MV = 2 2 1400
mod_param: NAT, MT, MV = 2 2 1400
mod_param: NAT, MT, MV = 2 2 1400
mod_param: NAT, MT, MV = 2 2 1400
read_phypar: Qout(idsurT)
read_phypar: max(idsurT) == 0
read_phypar: Qout(idsurT)
read_phypar: max(idsurT) == 0
read_phypar: Qout(idsurT)
read_phypar: max(idsurT) == 0
read_phypar: Qout(idsurT)
read_phypar: max(idsurT) == 0

READ_PHYPAR - variable info not yet loaded, idsurT

Elapsed CPU time (seconds):

ROMS/TOMS - Output NetCDF summary for Grid 01:

ROMS/TOMS - Configuration error ..... exit_flag: 5

ERROR: Illegal model configuration.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
The scalar and mpi codes for COAWST/ROMS run fine changing "DO i=NAT+1,MT" to "DO i=1,MT" in nc_param.F


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 24, 2017 5:05 pm 
Offline

Joined: Wed Dec 31, 2003 6:16 pm
Posts: 666
Location: USGS, USA
i just made a change in mod_ncparam to add:
< CASE ('idsurT(itemp)')
< idsurT(itemp)=varid
< CASE ('idsurT(isalt)')
< idsurT(isalt)=varid

Ivicia found this out. can you do an update and see if that fixed it?

-john


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 24, 2017 9:25 pm 
Offline

Joined: Mon Jun 30, 2003 2:29 pm
Posts: 28
Location: CCPO/ODU, USA
John,

My thanks to Ivicia. Adding the 4 lines fixed the problem. I can run the upwelling case and the estuary test without sediments.

Thanks for the quick response.

I am trying to set up an all analytical test ACC/Atlantic overturning model with sea ice (and maybe ice shelves). I will send you the setup when I get it working.

Thanks again,

John


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 25, 2017 2:10 pm 
Offline
User avatar

Joined: Mon May 05, 2003 2:41 pm
Posts: 95
Location: Rudjer Boskovic Institute, Zagreb, Croatia
Hey both Johns,

Actually it is ivica ;) and not ivicia

and if you remember we met at Canberra last year at IMOS/ACOMO when I showed you some ROMS data assimilation for WA...

Cheers,
Ivica@UWA


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group