Opened 5 years ago
Closed 5 years ago
#850 closed bug (Fixed)
checking LBC_ATT for salinity when salinity is undefined — at Version 1
Reported by: | dcherian | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | Release ROMS/TOMS 3.9 |
Component: | Nonlinear | Version: | 3.9 |
Keywords: | Cc: |
Description (last modified by )
I'm having trouble restarting a simulation run with #undef SALINITY because the code is unnecessarily checking LBC_ATT for salt. The input file is actually consistent so I don't know why it's raising an error. But it shouldn't be checking this anyway...
LBC_GETATT - inconsistent western lateral boundary condition for variable: salt restart file LBC keyword = RadNud but assigned structure switch: S(1, 7,1)%radiation = F check input script LBC keyword for consitency ... restart file: ocean_rst.nc LBC_GETATT - inconsistent southern lateral boundary condition for variable: salt restart file LBC keyword = Per but assigned structure switch: S(2, 7,1)%periodic = F check input script LBC keyword for consitency ... restart file: ocean_rst.nc LBC_GETATT - inconsistent eastern lateral boundary condition for variable: salt restart file LBC keyword = Clo but assigned structure switch: S(3, 7,1)%closed = F check input script LBC keyword for consitency ... restart file: ocean_rst.nc LBC_GETATT - inconsistent northern lateral boundary condition for variable: salt restart file LBC keyword = Per but assigned structure switch: S(4, 7,1)%periodic = F check input script LBC keyword for consitency ... restart file: ocean_rst.nc
Everything works perfectly with #define NO_LBC_ATT
Change History (1)
comment:1 by , 5 years ago
Description: | modified (diff) |
---|---|
Resolution: | → Fixed |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Yes, the SALINITY C-preprocessing option and the metadata for variables associated with salinity is not too restricted nowadys. We rarely use applications without salinity. In the past, it was ommited in highly idealizes toy problem that only have temperature. To avoid errors like the one described in this ticket, we need to add the SALINITY conditional to various routines. We need to put such directives in various section of codes using the isalt index outside of the tracer loop. For example in mod_ncparam.F, we have:
To make this to work, we need strictly to set the tracer parameter MT in mod_param.F to:
instead of MAX(2,MAXVAL(NT)). Recall, that NT(:) = NAT + NBT + NPT + NST
WARNING:
In the end, I have to change around 34 files. Users need to be very strict in the usage of the SALINITY CPP option in the future to avoid compilstion errors.
Many thanks for reporting this problem.