atmospheric forcing time problem

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
maxblu33
Posts: 25
Joined: Wed Sep 30, 2015 8:21 pm
Location: University of South Florida

atmospheric forcing time problem

#1 Unread post by maxblu33 »

Dear roms users
I'm trying to force a model application with the output from WRF-ARW, so I prepare the forcing files (U y V wind at 10 meters) but it gives an error related the time variable. I'm using a bulk forcing, with analytical initial conditions and close boundaries in order to test only the atmospheric forcing. So the error is

At line 224 of file get_cycle.f90
Fortran runtime error: Index '0' of dimension 1 of array 'tval' below lower bound of 1
[Inferior 1 (process 2179) exited with code 02]

my wind_time variable is:

double wind_time(Time);
wind_time:long_name = "10-meter wind time" ;
wind_time:units = "days since 1968-05-23 00:00:00 GMT" ;

wind_time = 16256, 16256.125, 16256.25, 16256.375, 16256.5, 16256.625,
16256.75, 16256.875, 16257, 16257.125, 16257.25, 16257.375, 16257.5,
16257.625, 16257.75, 16257.875, 16258;

does anyone have an idea of what could I do to fix this issue

thanks in advance
Luis Sorinas-Morales

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

Re: atmospheric forcing time problem

#2 Unread post by wilkin »

Do the wind variables in your file have an attribute "time:"?

That would direct ROMS to try reading that variable as the time coordinate instead of wind_time (which is the default name set in varinfo.dat).
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

User avatar
jivica
Posts: 169
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia
Contact:

Re: atmospheric forcing time problem

#3 Unread post by jivica »

If you are into bulk flux then you probably need heat flux etc.
Here is mine forcing file ncdump -h to give you idea about structure (and you could see that in the $ROMS_SOURCE/Data/ROMS/CDL as well)

Code: Select all

ncdump -h forcing.nc 
netcdf forcing {
dimensions:
	time = UNLIMITED ; // (56 currently)
	dim1 = 220 ;
	dim2 = 340 ;
variables:
	double time(time) ;
		time:long_name = "time" ;
		time:units = "days since 2000-01-01 00:00:00" ;
		time:field = "time, scalar, series" ;
	double Uwind(time, dim1, dim2) ;
		Uwind:long_name = "U-wind componente at 10m" ;
		Uwind:units = "m s-1" ;
		Uwind:time = "wind_time" ;
		Uwind:field = "Uwind, scalar, series" ;
		Uwind:coordinates = "lon lat" ;
	double Vwind(time, dim1, dim2) ;
		Vwind:long_name = "V-wind componente at 10m" ;
		Vwind:units = "m s-1" ;
		Vwind:time = "wind_time" ;
		Vwind:field = "Vwind, scalar, series" ;
		Vwind:coordinates = "lon lat" ;
	double Qair(time, dim1, dim2) ;
		Qair:long_name = "Surface air relative humidity" ;
		Qair:units = "[0-100]" ;
		Qair:time = "qair_time" ;
		Qair:field = "Qair, scalar, series" ;
		Qair:coordinates = "lon lat" ;
	double Tair(time, dim1, dim2) ;
		Tair:long_name = "Surface air temperature" ;
		Tair:units = "C" ;
		Tair:time = "tair_time" ;
		Tair:field = "Tair, scalar, series" ;
		Tair:coordinates = "lon lat" ;
	double Pair(time, dim1, dim2) ;
		Pair:long_name = "Sea level pressure" ;
		Pair:units = "mbar" ;
		Pair:time = "pair_time" ;
		Pair:field = "Pair, scalar, series" ;
		Pair:coordinates = "lon lat" ;
	double lwrad_down(time, dim1, dim2) ;
		lwrad_down:long_name = "Downward long wave flux at the ground surface" ;
		lwrad_down:units = "W m-2" ;
		lwrad_down:time = "lrf_time" ;
		lwrad_down:field = "lwrad_down, scalar, series" ;
		lwrad_down:coordinates = "lon lat" ;
	double swrad(time, dim1, dim2) ;
		swrad:long_name = "Downward short wave flux at the ground surface" ;
		swrad:units = "W m-2" ;
		swrad:time = "srf_time" ;
		swrad:field = "swrad, scalar, series" ;
		swrad:coordinates = "lon lat" ;
	double rain(time, dim1, dim2) ;
		rain:long_name = "Rainfall rate" ;
		rain:units = "kg m-2 s-1" ;
		rain:time = "rain_time" ;
		rain:field = "rain, scalar, series" ;
		rain:coordinates = "lon lat" ;
	double lon(dim1, dim2) ;
		lon:long_name = "Longitude" ;
		lon:units = "degree_east" ;
		lon:field = "lon, scalar" ;
		lon:coordinates = "lon lat" ;
	double lat(dim1, dim2) ;
		lat:long_name = "Latitude" ;
		lat:units = "degree_north" ;
		lat:field = "lat, scalar" ;
		lat:coordinates = "lon lat" ;
	double wind_time(time) ;
		wind_time:long_name = "wind time" ;
		wind_time:units = "days since 2000-01-01 00:00:00 GMT" ;
	double qair_time(time) ;
		qair_time:long_name = "relative humidity time" ;
		qair_time:units = "days since 2000-01-01 00:00:00 GMT" ;
	double tair_time(time) ;
		tair_time:long_name = "tair time" ;
		tair_time:units = "days since 2000-01-01 00:00:00 GMT" ;
	double pair_time(time) ;
		pair_time:long_name = "pair time" ;
		pair_time:units = "days since 2000-01-01 00:00:00 GMT" ;
	double lrf_time(time) ;
		lrf_time:long_name = "lwrad time" ;
		lrf_time:units = "days since 2000-01-01 00:00:00 GMT" ;
	double srf_time(time) ;
		srf_time:long_name = "swrad time" ;
		srf_time:units = "days since 2000-01-01 00:00:00 GMT" ;
	double rain_time(time) ;
		rain_time:long_name = "rain_time" ;
		rain_time:units = "days since 2000-01-01 00:00:00 GMT" ;

// global attributes:
		:title = WRF Forcing File" ;
		:author = "Ivica Janekovic" ;
		:date = "23-Jun-2015 10:02:22" ;
		:type = "ROMS Forcing File" ;
		:Conventions = "CF-1.0" ;
}
Cheers,
I.

maxblu33
Posts: 25
Joined: Wed Sep 30, 2015 8:21 pm
Location: University of South Florida

Re: atmospheric forcing time problem

#4 Unread post by maxblu33 »

Dear Wilkin and jivica
thanks four your response
I already fix the problem, I follow the wilkin suggestion and in fact my variables did not have a time attribute, once I created a wind_time attribute for U10 and V10, everything was OK, so thanks both of you very much
jivica very useful the ncdump of your forcing file

Luis Sorinas-Morales

Post Reply