Error in MCIP v5.0 in processing WRFv4+ files with met_fdda_sfan = 2

Dear m3users,

I am trying to run MCIP v5 with WRFv4+ output and I am facing one issue regardless the Nudging option in WRF.
Since WRF v3.8, there are two option for analysis nudging, options 1 and 2. (WRFv4 user’s guide page 5-23), but MCIP in setup_wrfem.f90 only checks the option 1 (line 1074).
Since it does not find the met_fdda_sfan == 1, MCIP sets:
met_fdda_gvsfc = -1.0
met_fdda_gtsfc = -1.0
met_fdda_gqsfc = -1.0

Which make it stop to run, because these values are not -1 in WRF output.
To fix it, I added an ELSE IF in line 1094 (inside the IF in line 1074) in the setup_wrfem.f90

ELSE IF ( met_fdda_sfan == 2 ) THEN

  rcode = nf90_get_att (cdfid, nf90_global, 'GUV_SFC', met_fdda_gvsfc)
  IF ( rcode /= nf90_noerr ) THEN
    WRITE (*,f9400) TRIM(pname), 'GUV_SFC', TRIM(nf90_strerror(rcode))
    CALL graceful_stop (pname)
  ENDIF

  rcode = nf90_get_att (cdfid, nf90_global, 'GT_SFC', met_fdda_gtsfc)
  IF ( rcode /= nf90_noerr ) THEN
    WRITE (*,f9400) TRIM(pname), 'GT_SFC', TRIM(nf90_strerror(rcode))
    CALL graceful_stop (pname)
  ENDIF

  rcode = nf90_get_att (cdfid, nf90_global, 'GQ_SFC', met_fdda_gqsfc)
  IF ( rcode /= nf90_noerr ) THEN
    WRITE (*,f9400) TRIM(pname), 'GQ_SFC', TRIM(nf90_strerror(rcode))
    CALL graceful_stop (pname)
  ENDIF

With this modification, MCIP can grab the correct values for GUV_SFC, GT_SFC and GQ_SFC, and does not crash.

Thank you
Regards

1 Like

Thank you for posting this solution.

1 Like

@rpedruzzi

Thank you for bringing this to my attention. I will update MCIP to more cleanly handle this case (slightly differently than you proposed), and I’ll also update the metadata in the output files accordingly.

–Tanya

1 Like

@tlspero,
great. Thank you for replying it and helping us with it. This will help the community.

@lizadams,
thank you too.

Regards