Issue of exceptionally low velocity

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
User avatar
neelbasak08
Posts: 99
Joined: Wed Dec 09, 2020 3:58 pm
Location: Thapar Institute of Engineering and Technology, Patiala, PN, India

Issue of exceptionally low velocity

#1 Unread post by neelbasak08 »

Hello people!

I am facing an issue of exceptionally lower velocity than expected values in one of my simulation results. The expected velocities in my simulation should somewhere be in the range of 0.5 to 1 m/s for the timestamp but my outcomes of each individual momentum field variable at a given timestamp and vertical level are always in the order of ( 10^-3, 10^-4) when I try to visualise it in a pcolour MATLAB plot. I am not sure what is happening there. I tried to modify my quadratic bottom roughness coefficient by reducing it but that didn't help my cause as velocities tend to remain in the same order. This is a problem I am facing quite often. I am pretty sure I am doing something horribly wrong.

What might be the underlying reasons for this anomaly? I am using an external grid, tidal and wind forcing and my initial file is ana_initial. Rest all is pretty much standard ROMS provided dependencies.

My header file looks like this :
#define UV_ADV
#define UV_COR
#define UV_QDRAG
#define UV_VIS4
#define MIX_S_UV
#define DJ_GRADPS
#define SPLINES_VDIFF
#define SPLINES_VVISC
#define BULK_FLUXES
#define SOLVE3D
#define BODYFORCE
#define ANA_SMFLUX
#define ANA_STFLUX
#define ANA_INITIAL
#define ANA_SSFLUX
#define ANA_DRAG
#define ANA_BSFLUX
#define ANA_BTFLUX
#define MASKING
#define SSH_TIDES
#define UV_TIDES
#undef RAMP_TIDES
#define ADD_FSOBC
#define ADD_M2OBC
And my parameters in the .in executable look something like this:
Resolution, Grid 01: 98x48x15, Parallel Threads: 1, Tiling: 1x1


Physical Parameters, Grid: 01
=============================

6000 ntimes Number of timesteps for 3-D equations.
30.000 dt Timestep size (s) for 3-D equations.
20 ndtfast Number of timesteps for 2-D equations between
each 3D timestep.
1 ERstr Starting ensemble/perturbation run number.
1 ERend Ending ensemble/perturbation run number.
0 nrrec Number of restart records to read from disk.
T LcycleRST Switch to recycle time-records in restart file.
360 nRST Number of timesteps between the writing of data
into restart fields.
360 ninfo Number of timesteps between print of information
to standard output.
T ldefout Switch to create a new output NetCDF file(s).
60 nHIS Number of timesteps between the writing fields
into history file.
0 nQCK Number of timesteps between the writing fields
into quicksave file.
0.0000E+00 nl_visc4 NLM Horizontal, biharmonic mixing coefficient
(m4/s) for momentum.
F LuvSponge Turning OFF sponge on horizontal momentum.
F LtracerSponge(01) Turning OFF sponge on tracer 01: temp
1.0000E-06 Akt_bak(01) Background vertical mixing coefficient (m2/s)
for tracer 01: temp
1.0000E+00 Akv_bak Background vertical mixing coefficient (m2/s)
for momentum.
2.6500E-04 rdrg Linear bottom drag coefficient (m/s).
3.0000E-03 rdrg2 Quadratic bottom drag coefficient.
2.0000E-03 Zob Bottom roughness (m).
1.0000E+01 blk_ZQ Height (m) of surface air humidity measurement.
1.0000E+01 blk_ZT Height (m) of surface air temperature measurement.
1.0000E+01 blk_ZW Height (m) of surface winds measurement.
12 levsfrc Deepest level to apply surface stress as a
bodyforce.
1 levbfrc Shallowest level to apply bottom stress as a
bodyforce.
2 Vtransform S-coordinate transformation equation.
4 Vstretching S-coordinate stretching function.
8.0000E+00 theta_s S-coordinate surface control parameter.
4.0000E+00 theta_b S-coordinate bottom control parameter.
20.000 Tcline S-coordinate surface/bottom layer width (m) used
in vertical coordinate stretching.
1025.000 rho0 Mean density (kg/m3) for Boussinesq approximation.
2922.000 dstart Time-stamp assigned to model initialization (days).
2922.000 tide_start Reference time origin for tidal forcing (days).
20000101.00 time_ref Reference time for units attribute (yyyymmdd.dd)
5.0000E+01 Tnudg(01) Nudging/relaxation time scale (days)
for tracer 01: temp
0.0000E+00 Znudg Nudging/relaxation time scale (days)
for free-surface.
0.0000E+00 M2nudg Nudging/relaxation time scale (days)
for 2D momentum.
0.0000E+00 M3nudg Nudging/relaxation time scale (days)
for 3D momentum.
0.0000E+00 obcfac Factor between passive and active
open boundary conditions.
F VolCons(1) NLM western edge boundary volume conservation.
F VolCons(2) NLM southern edge boundary volume conservation.
F VolCons(3) NLM eastern edge boundary volume conservation.
F VolCons(4) NLM northern edge boundary volume conservation.
5.000 T0 Background potential temperature (C) constant.
35.000 S0 Background salinity (PSU) constant.
1028.000 R0 Background density (kg/m3) used in linear Equation
of State.
1.0000E-04 Tcoef Thermal expansion coefficient (1/Celsius).
0.0000E+00 Scoef Saline contraction coefficient (1/PSU).
1.000 gamma2 Slipperiness variable: free-slip (1.0) or
no-slip (-1.0).
F LuvSrc Turning OFF momentum point Sources/Sinks.
F LwSrc Turning OFF volume influx point Sources/Sinks.
F LtracerSrc(01) Turning OFF point Sources/Sinks on tracer 01: temp
F LsshCLM Turning OFF processing of SSH climatology.
F Lm2CLM Turning OFF processing of 2D momentum climatology.
F Lm3CLM Turning OFF processing of 3D momentum climatology.
F LtracerCLM(01) Turning OFF processing of climatology tracer 01: temp
F LnudgeM2CLM Turning OFF nudging of 2D momentum climatology.
F LnudgeM3CLM Turning OFF nudging of 3D momentum climatology.
F LnudgeTCLM(01) Turning OFF nudging of climatology tracer 01: temp

T Hout(idFsur) Write out free-surface.
T Hout(idUbar) Write out 2D U-momentum component.
T Hout(idVbar) Write out 2D V-momentum component.
T Hout(idUvel) Write out 3D U-momentum component.
T Hout(idVvel) Write out 3D V-momentum component.
T Hout(idWvel) Write out W-momentum component.
T Hout(idOvel) Write out omega vertical velocity.
T Hout(idTvar) Write out tracer 01: temp
T Hout(idUsms) Write out surface U-momentum stress.
T Hout(idVsms) Write out surface V-momentum stress.
T Hout(idUbms) Write out bottom U-momentum stress.
T Hout(idVbms) Write out bottom V-momentum stress.
T Hout(idPair) Write out surface air pressure.
T Hout(idTair) Write out surface air temperature.
T Hout(idUair) Write out surface U-wind component.
T Hout(idVair) Write out surface V-wind component.
T Hout(idDano) Write out density anomaly.

Output/Input Files:
Are there any possible modifications that I could try in my .in file executable so as to improve my u,v,w momentum values? Or it's a fundamental error in my grid file and forcing files?

Kind regards
-Neel
Attachments
Screenshot 2021-06-21 134120.jpg
Screenshot 2021-06-21 134205.jpg

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

Re: Issue of exceptionally low velocity

#2 Unread post by kate »

How large are your wind stresses?

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

Re: Issue of exceptionally low velocity

#3 Unread post by wilkin »

You have defined ANA_SMFLUX but also BULK_FLUXES. So I'm not sure what you actually got. Think more carefully about your setup.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

User avatar
neelbasak08
Posts: 99
Joined: Wed Dec 09, 2020 3:58 pm
Location: Thapar Institute of Engineering and Technology, Patiala, PN, India

Re: Issue of exceptionally low velocity

#4 Unread post by neelbasak08 »

Thanks kate!

I should say viewing my wind forcing file in MATLAB I could see my Vwind component is -7.81 to 5.92 and my Uwind component is -3.69 to 13.08
Wrote Uwind into record: , Min=-3.69736e+00 Max= 1.30849e+01
Wrote Vwind into record: , Min=-7.82741e+00 Max= 5.92142e+00
Wrote Pair into record: , Min= 1.00357e+03 Max= 1.01645e+03
Wrote Tair into record: , Min= 1.86757e+01 Max= 3.32195e+01
Wrote Qair into record: , Min= 4.70148e+01 Max= 9.98834e+01
Wrote swrad into record: , Min= 1.00000e-15 Max= 1.01897e+03
Wrote lwrad into record: , Min=-1.05019e+02 Max= 1.30638e+00
Wrote lwrad_down into record: , Min= 3.52393e+02 Max= 4.52409e+02
Wrote rain into record: , Min= 0.00000e+00 Max= 4.00162e-03

Thanks Mr. Wilkin!
If I don't define ANA_SMFLUX along with bulkfluxes then how will I write sustr and svstr fields into my output file? The wind forcing file doesn't include sustr and Svstr variables. Does having ANA_SMFLUX along with BULK_FLUXES make ROMS ignore the data in the external input wind file and take the defaults from ROMS source directory?
Would switching off ANA_SMFLUX in the header file and sustr and svstr in the .in executable mean that ROMS would no more calculate the wind stresses?

Kind regards
-Neel

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

Re: Issue of exceptionally low velocity

#5 Unread post by wilkin »

The output of stresses does not require ANA_SMFLUX. ROMS can determine stresses analytically, from the bulk flux formulae, or from model coupling. Whatever it does, output is controlled by the relevant Hout option in roms.in.

The log file tells you what ROMS actually did. So read that closely. Look for the reported values of Uwind and Vwind that are read from the forcing files. If they are not read, then ROMS is probably using the analytical stresses.

Taking a quick look at the code I think BULK_FLUXES takes precedence over ANA_SMFLUX, so you should see the winds being read.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

User avatar
neelbasak08
Posts: 99
Joined: Wed Dec 09, 2020 3:58 pm
Location: Thapar Institute of Engineering and Technology, Patiala, PN, India

Re: Issue of exceptionally low velocity

#6 Unread post by neelbasak08 »

Well, Thanks, Mr Wilkin!

As in my log file, I can see that wind data has been read from my input forcing file itself.
NL ROMS/TOMS: started time-stepping: (Grid: 01 TimeSteps: 000000000001 - 000000001728)

GET_2DFLD - surface u-wind component, 2008-04-01 01:00:00.00
(Grid=01, Rec=2, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008200804.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3013.0417
(Min = 1.40022359E+00 Max = 5.95902807E+00) regrid = T
GET_2DFLD - surface v-wind component, 2008-04-01 01:00:00.00
(Grid=01, Rec=2, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008200804.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3013.0417
(Min = -9.45137250E-01 Max = 2.37342291E+00) regrid = T
GET_2DFLD - surface air pressure, 2008-04-01 01:00:00.00
(Grid=01, Rec=2, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008200804.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3013.0417
(Min = 1.01079358E+03 Max = 1.01316286E+03) regrid = T
etc......
That brings me back to my initial question, the wind input should be standard as it is from the ERA5 dataset, that shouldn't be the reason for my abnormal observation of velocities from the expected ones.
I see in my log:
ANA_INITIAL - vertically integrated u-momentum component: ubar
(Grid = 01, Min = 0.00000000E+00 Max = 0.00000000E+00)
ANA_INITIAL - vertically integrated v-momentum component: vbar
(Grid = 01, Min = 0.00000000E+00 Max = 0.00000000E+00)
ANA_INITIAL - free-surface: zeta
(Grid = 01, Min = 0.00000000E+00 Max = 0.00000000E+00)
ANA_INITIAL - u-momentum component: u
(Grid = 01, Min = 0.00000000E+00 Max = 0.00000000E+00)
ANA_INITIAL - v-momentum component: v
(Grid = 01, Min = 0.00000000E+00 Max = 0.00000000E+00)
ANA_INITIAL - potential temperature: temp
(Grid = 01, Min = 5.00000000E+00 Max = 5.00000000E+00)
GET_NGFLD - tidal period
(Grid = 01, Min = 2.19720214E+04 Max = 2.38071314E+06)
GET_2DFLD - tidal elevation amplitude
(Grid = 01, Min = 0.00000000E+00 Max = 6.75112534E-01)
GET_2DFLD - tidal elevation phase angle
(Grid = 01, Min = 0.00000000E+00 Max = 6.25560811E+00)
GET_2DFLD - tidal current inclination angle
(Grid = 01, Min = 0.00000000E+00 Max = 6.14146610E+00)
etc.............
I am not sure whether ROMS is reading the tidal data from my input tidal file. It should be reading it as I've defined SSH_TIDES and UV_TIDES in my header and input the tpxo NetCDF file in the TIDENAME== field as well in my .in executable file. Is defining ANA_INITIAL, ANA_M2OBC and ANA_FSOBC causing it? Or is it some other reason that is causing these low velocities?

Kind regards
-Neel
Attachments
error.txt
(102.4 KiB) Downloaded 317 times

User avatar
neelbasak08
Posts: 99
Joined: Wed Dec 09, 2020 3:58 pm
Location: Thapar Institute of Engineering and Technology, Patiala, PN, India

Re: Issue of exceptionally low velocity

#7 Unread post by neelbasak08 »

Thanks Mr. Wilkin!
As per your suggestion, I remove ANA_SMFLUX from my header file and removed ANA_FSOBC and ANA_M2OBC as well. Just defined bulkflux and other previous headers.

I see an improvement in my velocity profile where its order changed from a factor of 10^(-4) to 10^(-3), but it's still not in the desired order of 10^(-1) to 10^(0). Is there anything more that I might be doing wrong?

I see the following section in my terminal log:
ANA_INITIAL - u-momentum component: u
(Grid = 01, Min = 0.00000000E+00 Max = 0.00000000E+00)
ANA_INITIAL - v-momentum component: v
(Grid = 01, Min = 0.00000000E+00 Max = 0.00000000E+00)
ANA_INITIAL - potential temperature: temp
(Grid = 01, Min = 5.00000000E+00 Max = 5.00000000E+00)
GET_NGFLD - tidal period
(Grid = 01, Min = 2.19720214E+04 Max = 2.38071314E+06)
GET_2DFLD - tidal elevation amplitude
(Grid = 01, Min = 0.00000000E+00 Max = 6.75112534E-01)
GET_2DFLD - tidal elevation phase angle
(Grid = 01, Min = 0.00000000E+00 Max = 6.25560811E+00)
GET_2DFLD - tidal current inclination angle
(Grid = 01, Min = 0.00000000E+00 Max = 6.14146610E+00)
GET_2DFLD - tidal current phase angle
(Grid = 01, Min = 0.00000000E+00 Max = 6.28317974E+00)
GET_2DFLD - maximum tidal current, ellipse major axis
(Grid = 01, Min = 0.00000000E+00 Max = 2.37040469E-01)
GET_2DFLD - minimum tidal current, ellipse minor axis
(Grid = 01, Min = -1.00770225E-03 Max = 5.12410660E-02)
I am not sure where ROMS is getting my tidal data from my input tidal file. If that's the case, then why is it not fetching data from my tidal forcing, I can see it has read it
Output/Input Files:

Output Restart File: Lombok_roms_rst.nc
Output History File: Lombok_roms_his.nc
Input Grid File: /home/sbasak08/roms/Projects/Lombok_Straits/lombok_v3_grd_test.nc
Tidal Forcing File: lombok_v3_grd_test01Jan2020_v5.nc
Input Forcing File 01: lombok_v3_grd_test01Jan2020_v5.nc
Input Forcing File 02: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008202001.nc
ROMS I/O variables Metadata File: External/varinfo.dat
As to Kate's question on how my wind stresses look like, it shows something like the following at my final timestamp:
GET_2DFLD - surface u-wind component, 2020-01-01 23:00:00.00
(Grid=01, Rec=24, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008202001.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3013.9583
(Min = -3.03207905E-02 Max = 3.75902466E+00) regrid = T
GET_2DFLD - surface v-wind component, 2020-01-01 23:00:00.00
(Grid=01, Rec=24, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008202001.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3013.9583
(Min = -8.90646992E-01 Max = 1.98579395E+00) regrid = T
What could I be doing wrong, that my velocities in the output file are such extremely low? Is there any way to fix these issues?

Kind regards
-Neel
Attachments
without ana_smflux_error.txt
log file
(102.26 KiB) Downloaded 277 times
Screenshot 2021-06-25 092750.jpg
Screenshot 2021-06-25 092938.jpg

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

Re: Issue of exceptionally low velocity

#8 Unread post by wilkin »

Your log file shows all open boundaries are "Closed". You need Chapman and Flather conditions for the tides to be active. Set the appropriate LBC options in roms.in
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

User avatar
neelbasak08
Posts: 99
Joined: Wed Dec 09, 2020 3:58 pm
Location: Thapar Institute of Engineering and Technology, Patiala, PN, India

Re: Issue of exceptionally low velocity

#9 Unread post by neelbasak08 »

Thanks Mr. Wilkin!

I had intentionally changed all my LBCs to Closed from Chapman and Flather because I had removed ANA_FSOBC and ANA_M2OBC from my header file and keeping the Cha and Fla would prompt ROMS to ask for rooms bry.nc file, which I am not using.

Anyways, working again on your suggestion, adding ANA_FSOBC and ANA_M2OBC and changing 3Dmomentum, mixing and free surface to Cha and 2D momentum to FLA, my iteration stops without throwing any sort of error:
GET_2DFLD - surface air temperature, 2020-01-01 01:00:00.00
(Grid=01, Rec=2, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008200804.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3287.0417
(Min = 2.11882052E+01 Max = 2.62729494E+01) regrid = T
GET_2DFLD - surface air relative humidity, 2020-01-01 01:00:00.00
(Grid=01, Rec=2, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008200804.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3287.0417
(Min = 8.23352521E-01 Max = 9.56464556E-01) regrid = T
GET_2DFLD - rain fall rate, 2020-01-01 01:00:00.00
(Grid=01, Rec=2, Index=2, File: frc_MYAPPLICATION_ERA5_bulkflux_lombok_v3_grd_test_2008200804.nc)
(Tmin= 3013.0000 Tmax= 3042.9583) t = 3287.0417
(Min = 2.27629357E-05 Max = 2.83370387E-03) regrid = T

TIME-STEP YYYY-MM-DD hh:mm:ss.ss KINETIC_ENRG POTEN_ENRG TOTAL_ENRG NET_VOLUME
C => (i,j,k) Cu Cv Cw Max Speed

0 2020-01-01 00:00:00.00 -0.000000E+00 -6.569793E+04 -6.569793E+04 -2.031882E+11
(00,00,00) 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
DEF_HIS - creating history file, Grid 01: Lombok_roms_his.nc
WRT_HIS - wrote history fields (Index=1,1) in record = 1
sbasak08@DESKTOP-UOIVLQT:~/roms/Projects/Lombok_Straits$
I've been using the same grid, same tidal forcing and same wind file as I used earlier. And I never faced this kind of issue in them. The simulation worked fine. Here it just stops while performing the first time step iteration.

Kind regards
-Neel
Attachments
lombok.h
header file
(1.04 KiB) Downloaded 267 times
log_file.txt
(29.4 KiB) Downloaded 288 times

Post Reply