Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

LANDSEA MASK/ ERA5

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

zmenzo

Member
Hello,

I am using ERA5 data to run a simulation. I am able to get WPS to produce the necessary INT files. However, when I run them through MPAS to produce the init and sfc_update file, I get the error (" Landsea mask not available from the surface file") and the resulting sfc_update files include unrealistic data. When using the ERA5 hourly, I cannot get the model to run at all, but when I use the ERA5 monthly, it will run but again state the Landea mask error. I have read on the forum this has been a problem for others, but unfortunately, their solution is beyond my coding experience/comprehension. Do you have any advice on how to resolve this issue?

Thanks as always,

Zach
 

Attachments

  • namelist.init_atmosphere.txt
    1.4 KB · Views: 35
  • log.init_atmosphere.0000.out.txt
    447.4 KB · Views: 38
  • streams.init_atmosphere.txt
    910 bytes · Views: 38
  • Screen Shot 2021-07-16 at 4.19.22 PM.png
    Screen Shot 2021-07-16 at 4.19.22 PM.png
    235.7 KB · Views: 1,335
It seems as though the intermediate files may not have been created successfully or are missing at least the Land/sea mask and potential other needed fields (SEAICE, SKINTEMP and LANDSEA). If you have compiled the utils of the WPS, you can use the rd_intermediate.exe to further investigate your SST intermediate files.

Here is the output from the rd_intermediate.exe tool that I used to on a known-good SST intermediate file (infact one from the tutorial tar file). I've also attached it below. I would produce the same output on your intermediate files and see if the output looks similar.

Code:
================================================
FIELD = SEAICE
UNITS = proprtn DESCRIPTION = Ice flag
DATE = 2013-09-10_00:00:00 FCST = 0.000000
SOURCE = unknown model from NCEP
LEVEL = 200100.000000
I,J DIMS = 1760, 880
IPROJ = 4   PROJECTION = GAUSSIAN
  REF_X, REF_Y = 1.000000, 1.000000
  REF_LAT, REF_LON = 89.844002, 0.000000
  NLATS, DLON = 440.000000, 0.205000
  EARTH_RADIUS = 6371.229492
DATA(1,1)=0.830000

================================================
FIELD = LANDSEA
UNITS = proprtn DESCRIPTION = Land/Sea flag (1=land, 0 or 2=sea)
DATE = 2013-09-10_00:00:00 FCST = 0.000000
SOURCE = unknown model from NCEP
LEVEL = 200100.000000
I,J DIMS = 1760, 880
IPROJ = 4   PROJECTION = GAUSSIAN
  REF_X, REF_Y = 1.000000, 1.000000
  REF_LAT, REF_LON = 89.844002, 0.000000
  NLATS, DLON = 440.000000, 0.205000
  EARTH_RADIUS = 6371.229492
DATA(1,1)=0.000000

================================================
FIELD = SKINTEMP
UNITS = K DESCRIPTION = Skin temperature (can use for SST also)
DATE = 2013-09-10_00:00:00 FCST = 0.000000
SOURCE = unknown model from NCEP
LEVEL = 200100.000000
I,J DIMS = 1760, 880
IPROJ = 4   PROJECTION = GAUSSIAN
  REF_X, REF_Y = 1.000000, 1.000000
  REF_LAT, REF_LON = 89.844002, 0.000000
  NLATS, DLON = 440.000000, 0.205000
  EARTH_RADIUS = 6371.229492
DATA(1,1)=266.718018

 SUCCESSFUL COMPLETION OF PROGRAM RD_INTERMEDIATE
 

Attachments

  • SST_RD_INTERMEDIATE.txt
    1.3 KB · Views: 43
For ERA5 data obtained through RDA or on the NCAR Glade filesystem, I think you'll need to process the land-sea mask from a separate file (valid 1979-01-01 0000 UTC); on Glade, the file is at /gpfs/fs1/collections/rda/data/ds633.0/e5.oper.invariant/197901/
e5.oper.invariant.128_172_lsm.ll025sc.1979010100_1979010100.grb . After you've created an intermediate file with just the LANDSEA field, you can just 'cat' that intermediate file onto your other ERA5 intermediate files; the init_atmosphere_model program will ignore the fact that the LANDSEA field is valid at 1979-01-01_00 and use it regardless of the valid time of your time-varying atmosphere and land-surface fields.
 
Great, thank you! I know by 'cat' you mean concatenate. But is that done by using something like 'cdo'?
 
The intermediate file format is record-based, so you can actually just use the 'cat' program to join intermediate files; for example:
Code:
cat ERA5_INVARIANT:1979-01-01_00 >> ERA5:2018-04-01_00
to add invariant fields to an ERA5 intermediate file with atmospheric and land-surface fields valid 2018-04-01 00 UTC.
 
Great. Thank you. I apologize for my continued ignorance, but is there a way to do multiple files at once? I have over a year (6hrly) worth of INT files. I attempted cat ERA5_INVARIANT:1979-01-01_00 >> ERA5:201* but it did not work (-bash: ERA5:201*: ambiguous redirect).
 
A 'for' loop in bash should work; e.g.,
Code:
for f in ERA5\:*; do
    cat ERA5_INVARIANT:1979-01-01_00 >> $f
done
An easy way to do a dry-run first might be to change the 'cat' command to an 'echo' command that echos the cat command:
Code:
for f in ERA5\:*; do
    echo "cat ERA5_INVARIANT:1979-01-01_00 >> $f"
done
Once you're convinced that the loop is doing exactly what you'd like, you can change the 'echo' of the command to the command itself.
 
Well, bad news. I was able to concatenate the files per your instructions. I ran init.atmo to create my sfc_update. It was completed with no warnings, suggesting that the LANDSEA mask was correctly included. But when I test the output, I get the same unrealistic results (I actually did the whole procedure twice, to ensure I had not made a mistake). I have also run the model with the ERA-Interim, and everything works, with realistic output.
 

Attachments

  • log.init_atmosphere.0000.out.txt
    21 KB · Views: 42
  • Screen Shot 2021-07-22 at 3.08.06 PM.png
    Screen Shot 2021-07-22 at 3.08.06 PM.png
    355.4 KB · Views: 1,274
  • Screen Shot 2021-07-22 at 3.08.20 PM.png
    Screen Shot 2021-07-22 at 3.08.20 PM.png
    192.9 KB · Views: 1,275
Are you by chance still working on Cheyenne? If so, could you let me know where your working directory is at? It might be easier if I could take a look at one time period of your intermediate files and the corresponding record in your surface update file produced by the init_atmosphere_model program. Otherwise, if you're working elsewhere, could you make a horizontal contour plot of the SST field for a few consecutive time records from your surface update file?
 
Yes, I am still on Cheyenne. WPS Attempt 1: (/glade/scratch/zmenzo/output/test/WPS) and WPS Attempt 2 (/glade/scratch/zmenzo/output/test/test). And the resulting MPAS output is in the wd directly above (/glade/scratch/zmenzo/output/test) Thank you for all your help.
 
mgduda said:
For ERA5 data obtained through RDA or on the NCAR Glade filesystem, I think you'll need to process the land-sea mask from a separate file (valid 1979-01-01 0000 UTC); on Glade, the file is at /gpfs/fs1/collections/rda/data/ds633.0/e5.oper.invariant/197901/
e5.oper.invariant.128_172_lsm.ll025sc.1979010100_1979010100.grb . After you've created an intermediate file with just the LANDSEA field, you can just 'cat' that intermediate file onto your other ERA5 intermediate files; the init_atmosphere_model program will ignore the fact that the LANDSEA field is valid at 1979-01-01_00 and use it regardless of the valid time of your time-varying atmosphere and land-surface fields.

I added invariant file(INVR:1979-01-01_00) to surface ERA5 data files(each)

FIELD = LANDSEA
UNITS = 0/1 Flag DESCRIPTION = Land/Sea flag
DATE = 1979-01-01_00:00:00 FCST = 0.000000
SOURCE = ECMWF
LEVEL = 200100.000000
I,J DIMS = 1440, 721
IPROJ = 0 PROJECTION = LAT LON
REF_X, REF_Y = 1.000000, 1.000000
REF_LAT, REF_LON = 90.000008, 0.000000
DLAT, DLON = -0.250000, 0.250000
EARTH_RADIUS = 6367.470215
DATA(1,1)=0.000000

I would like to know if it is correct?


Further
Is it ok to take old time period(1979) data for the latest simulation (2015)?
If there is no issue good to go. But if in case no!
Is it ok to take ERA5 (from Copernicus) latest data (00 to 23 hour data for each day at each hour interval file) and cat with each hour interval file? Or just cat with 00hour file irrespective of whatsoever date with all intermediate file?

Kindly suggest this. Thanking you
 
EMMANUEL said:
I added invariant file(INVR:1979-01-01_00) to surface ERA5 data files(each)

FIELD = LANDSEA
UNITS = 0/1 Flag DESCRIPTION = Land/Sea flag
DATE = 1979-01-01_00:00:00 FCST = 0.000000
SOURCE = ECMWF
LEVEL = 200100.000000
I,J DIMS = 1440, 721
IPROJ = 0 PROJECTION = LAT LON
REF_X, REF_Y = 1.000000, 1.000000
REF_LAT, REF_LON = 90.000008, 0.000000
DLAT, DLON = -0.250000, 0.250000
EARTH_RADIUS = 6367.470215
DATA(1,1)=0.000000

I would like to know if it is correct?

That looks fine to me.

EMMANUEL said:
Further
Is it ok to take old time period(1979) data for the latest simulation (2015)?
Assuming the land-sea mask doesn't change, then as mentioned earlier, you can use the LANDSEA field valid 1979-01-01_00 for all intermediate files, regardless of the valid time of the land-surface fields.

EMMANUEL said:
If there is no issue good to go. But if in case no!
Is it ok to take ERA5 (from Copernicus) latest data (00 to 23 hour data for each day at each hour interval file) and cat with each hour interval file? Or just cat with 00hour file irrespective of whatsoever date with all intermediate file?
The safest option would probably be to add the LANDSEA field to each hourly surface file.
 
Hello,

I am getting ready to begin a series of simulations and wanted to check in and see if there were any updates on the LANDSEA file error or if other Cheyenne users have done a successful run using ERA5 hourly data? I again tried to redo everything this morning and ran in the same 'ERROR: LANDSEA field not found in meteorological data file FILE:2009-12-01_00' error when creating the init.nc file in MPAS.

Thanks,

Zach
 
Top