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

(SOLVED) floating invalid error while running with observational nudging

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.

cross

Member
I've had problems trying to run with observational nudging. This is what I've done so far.
  • I created surface station data with my own script, so I've got little_r and OBS_DOMAINXX this way. little_r are read ok by obsgrid, and obs_domain are the same as obsgrid output. I tried to run RT_fdda_reformat_obsnud.pl. To make this files I convert local time to UTC 0, and use the units required in little_R.
  • I run obsgrid and successfully got metoa_em and wrfsfdda files. So there is no problem here.
  • then, I run real.exe and had no problem.
  • When I start running WRF I get segmentation faults with no explanations, so I modeled different scenarios, always using ulimit -s unlimited:
    1 - just analysis nudging using grid_fdda = 1 and grid_sfdda = 1 for every domain. Run without any problem.
    2 - Analysis nuging + observational nudging. Get segmentation fault at the first timestep.
    3 - Runing with mpi + omp. Same error.
    4 - Running just the first domain. Same error.
    5 - Runing in debug mode (./configure -D). Same error, but I don't understand what could be the problem.
    6 - Running aplying a patch to module_dm.F. Same error. (https://forum.mmm.ucar.edu/phpBB3/viewtopic.php?f=45&t=346&p=1238&hilit=observation+nudging+segmentation#p1238)
So I don't understand what could be the problem here.
I'm usig WRF 4.2.1, and ERA5 hourly data analysis.
Domain 1: 9km
Domain 2: 3km
Domain 3: 1km
Domain 4: 0.5km

Here is the &fdda options I'm using. I think maybe there is something wrong.
Code:
&fdda
grid_fdda                = 1,     1,     1,     1,
gfdda_inname             = "wrffdda_d<domain>",
gfdda_end_h              = 164,   164,   164, 164,
gfdda_interval_m         = 60,   60,    60,     60,
sgfdda_inname            = "wrfsfdda_d<domain>",
sgfdda_end_h             = 164,   164,   164, 164,
sgfdda_interval_m        = 60,   60,    60,     60,
fgdt                     = 0,     0,     0,     0,
if_no_pbl_nudging_uv     = 0,     0,     0,     0,
if_no_pbl_nudging_t      = 0,     0,     0,     0,
if_no_pbl_nudging_q      = 0,     0,     0,     0,
if_zfac_uv               = 0,     0,     0,     0,
k_zfac_uv                = 10,   10,    10,    10,
if_zfac_t                = 0,     0,     0,     0,
k_zfac_t                 = 10,   10,    10,    10,
if_zfac_q                = 0,     0,     0,     0,
k_zfac_q                 = 10,   10,    10,    10,
guv                      = 0.0003,     0.0003,     0.0003,     0.0003,
gt                       = 0.0003,     0.0003,     0.0003,     0.0003,
gq                       = 0.0003,     0.0003,     0.0003,     0.0003,
if_ramping               = 1,
dtramp_min               = 60.0,
io_form_gfdda            = 2,
grid_sfdda               = 1,     1,     1,     1,
io_form_sgfdda           = 2,
guv_sfc                  = 0.0003,     0.0003,     0.0003,     0.0003
gt_sfc                   = 0.0003,     0.0003,     0.0003,     0.0003
gq_sfc                   = 0.0003,     0.0003,     0.0003,     0.0003
rinblw                   = 10.,10.,10.,10.,
obs_nudge_opt            = 1,0,0,0,
max_obs                  = 1500000,
fdda_start               =     0.,     0.,     0.,     0.,
fdda_end                 = 164., 164., 164., 164.,
obs_nudge_wind           = 1,1,1,1,
obs_coef_wind            = 6.E-4,6.E-4,6.E-4,6.E-4,
obs_nudge_temp           = 1,1,1,1,
obs_coef_temp            = 6.E-4,6.E-4,6.E-4,6.E-4,
obs_nudge_mois           = 1,1,1,1,
obs_coef_mois            = 6.E-4,6.E-4,6.E-4,6.E-4,
obs_rinxy                = 27.,18.,5.,2.,
obs_rinsig               = 0.1,
obs_twindo               = 0.5,0.5,0.5,0.5,
obs_ionf                 = 1, 2, 2, 2, 2,
obs_idynin               = 1,
obs_dtramp               = 40.,
obs_prt_freq             = 1000, 1000, 1000, 180, 180,
obs_prt_max              = 5,
obs_ipf_errob            = .true.
obs_ipf_nudob            = .true.
obs_ipf_in4dob           = .true.
obs_ipf_init             = .true.
/
And here is the error using ./configure -D
Code:
d01 2019-01-01_03:00:00  Input data is acceptable to use:
d01 2019-01-01_03:00:00 Input data processed for aux input   4 for domain   1
d01 2019-01-01_03:00:00  Yes, this special data is acceptable to use: SFCFDDA FILE: SURFACE ANALYSES FOR NUDGING
d01 2019-01-01_03:00:00  Input data is acceptable to use:
d01 2019-01-01_03:00:00 Input data processed for aux input   9 for domain   1
d01 2019-01-01_03:00:00  Input data is acceptable to use:
d01 2019-01-01_03:00:00 Input data processed for aux input  10 for domain   1
OBS NUDGING: Reading new obs for time window TBACK =   -0.500 TFORWD =    0.500 for grid =  1
 opening first fdda obs file, fonc=01 inest=           1
 ifon=           1
 n=           1  unknown ob of type            SYNOP
 n=           2  unknown ob of type            SYNOP
 n=           3  unknown ob of type            SYNOP
Saving index of first ob after end of current time window for nest =   1:
  ob index =        3,   time of ob =   1.0000 hrs,   end of time window =   0.5000 hrs
****** CALL IN4DOB AT KTAU =     0 AND XTIME =       0.00:  NSTA =       2 ******
*****NUDGING INDIVIDUAL OBS ON MESH # 1 WITH RINXY =   0.270E+02 KM, RINSIG =   0.100E+00 AND TWINDO (HALF-PERIOD) =   0.300E+02 MIN
 NUDGING IND. OBS WINDS WITH GIV =   0.600E-03
 NUDGING IND. OBS TEMPERATURE WITH GIT =   0.600E-03

 NUDGING IND. OBS MOISTURE WITH GIQ =   0.600E-03
    ABOVE THE SURFACE LAYER, OBS NUDGING IS PERFORMED ON PRESSURE LEVELS,
    WHERE RINXY VARIES LINEARLY FROM   0.270E+02 KM AT THE SURFACE TO   0.540E+02 KM AT  500.00 MB AND ABOVE
    IN THE SURFACE LAYER, WXY IS A FUNCTION OF DPSMX =   75.00 MB WITH DCON =   0.133E+00 - SEE SUBROUTINE NUDOB
FOR EFFICIENCY, THE OBS NUDGING FREQUENCY FOR MESH # 1 IS  1 CGM TIMESTEPS

d01 2019-01-01_03:00:00  Input data is acceptable to use:
 Tile Strategy is not specified. Assuming 1D-Y
WRF TILE   1 IS      1 IE     30 JS     25 JE     36
WRF NUMBER OF TILES =   1
OBS NUDGING is requested on a total of  1 domain(s).
++++++CALL ERROB AT KTAU =     0 AND INEST =  1:  NSTA =     2 ++++++

REPORTING OBS MASS-PT LOCS FOR NEST    1 AT XTIME=     0.0 MINUTES
FREQ=1000, MAX=    5 LOCS, NEWLY READ OBS ONLY, -999 => OBS OFF PROC

    OBS#     I       J       K     OBS LAT  OBS LON   XLAT(I,J)  XLONG(I,J)  TIME(hrs)  OBS STATION ID * I deleted the stations lat lon location
        1  30.836  27.319   1.000                                             0.00

forrtl: error (65): floating invalid
Image              PC                Routine            Line        Source
wrf.exe            000000000D55956B  Unknown               Unknown  Unknown
libpthread-2.27.s  0000150E46D578A0  Unknown               Unknown  Unknown
wrf.exe            000000000D6289DF  Unknown               Unknown  Unknown
wrf.exe            00000000053C1B6C  vspow_                    371  libmassv.f90
wrf.exe            0000000004D6F7C8  module_big_step_u        1061  module_big_step_utilities_em.f90
wrf.exe            000000000404A3DD  solve_em_                3159  solve_em.f90
wrf.exe            00000000038945FB  solve_interface_          122  solve_interface.f90
wrf.exe            0000000000583E17  module_integrate_         329  module_integrate.f90
wrf.exe            00000000004067B6  module_wrf_top_mp         324  module_wrf_top.f90
wrf.exe            0000000000405C15  MAIN__                     29  wrf.f90
wrf.exe            0000000000405BC2  Unknown               Unknown  Unknown
libc-2.27.so       0000150E465D7B97  __libc_start_main     Unknown  Unknown
wrf.exe            0000000000405AAA  Unknown               Unknown  Unknown
 
well, it seems it was my mistake.
When I did the code, I forgot to add the last to input for precipitation.(-888888 -888888 in my case) and I didn't see it when I checked against the output from obsgrid.
So now it seems to run ok.
 
Top