Skip to content

Add GEFS programs#52

Merged
aerorahul merged 2 commits into
NOAA-EMC:developfrom
WalterKolczynski-NOAA:feature/add_gefs
Mar 12, 2024
Merged

Add GEFS programs#52
aerorahul merged 2 commits into
NOAA-EMC:developfrom
WalterKolczynski-NOAA:feature/add_gefs

Conversation

@WalterKolczynski-NOAA
Copy link
Copy Markdown
Contributor

@WalterKolczynski-NOAA WalterKolczynski-NOAA commented Mar 12, 2024

Adds the four programs from the legacy GEFS system that I think will be needed in the combined global workflow. The source code is unchanged, though some directories and one source file has been renamed to remove prefixes.

  • ensadd: Extends grib2 header information to include ensemble info
  • ensppf: Calculates ensemble precip probability forecast
  • ensstat: Computes mean and spread for atmosphere grib2 files
  • wave_stat: Computes mean, spread, and prob for wave grib2 files

Resolves #51
Refs NOAA-EMC/global-workflow#2296

Build tested and successful on:

  • Orion
  • Hera
  • WCOSS2

Adds the four programs from the legacy GEFS system that I think will
be needed in the combined global workflow.

- ensadd
  Extends grib2 head information to include ensemble info
- ensppf
  Calculates ensemble precip probability forecast
- ensstat
  Computes mean and spread for atmosphere grib2 files
- wave_stat
  Computes mean, spread, and prob for wave grib2 files

Resolves NOAA-EMC#51
Copy link
Copy Markdown
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@aerorahul aerorahul merged commit 82980f9 into NOAA-EMC:develop Mar 12, 2024
Comment thread src/ensadd.fd/ENSADD.f90
gfldo%ipdtmpl(1:15)=temp(1:15)
gfldo%ipdtmpl(16)=ienst
gfldo%ipdtmpl(17)=iensi
gfldo%ipdtmpl(18)=10
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line 130: gfldo%ipdtmpl(18)=10

I remember this line is to define the total ensemble number. Please correct it from 10 to 30.

Comment thread src/ensadd.fd/ENSADD.f90
gfldo%ipdtmpl(1:15)=temp(1:15)
gfldo%ipdtmpl(16)=ienst
gfldo%ipdtmpl(17)=iensi
gfldo%ipdtmpl(18)=10
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please modify line 152 from
gfldo%ipdtmpl(18)=10
to
gfldo%ipdtmpl(18)=30

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it that wrong in ops too then?

This should be turned into a parameter that is passed in instead of a hard-coded value. Right now this PR was just to get the GEFS code copied over to gfs-utils. Modifications can come later.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed ush/gefs_prdgen.sh and checked why the ush/global_ensadd.sh is needed. It seems that global_ensadd.sh is used for GFS file only. The GFS forecast is thought to be one member of GEFS and has perturbation numbers ( 0 0 )

Add ensemble PDS header to GFS file

            $ENSADD 0 0 pgb2afile.$ffhr epgbafile

Please correct me if I am wrong. For such a case, there is no need to modify the code.

@BoCui-NOAA
Copy link
Copy Markdown
Contributor

Here are some clarifications for code ensadd.f

gfldo%ipdtmpl(16)=ienst ( 0 for Unperturbed High-Resolution Control Forecast )
gfldo%ipdtmpl(17)=iensi ( Perturbation number , 0 for gfs forecast )
gfldo%ipdtmpl(18)=10   ( Number of forecasts in ensemble)

The gfldo%ipdtmpl(18) come from Octect no 36 in https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp4-1.shtml

Use "wgrib2 -ens" to check ensemble files that don't display the ensemble size information. The ensemble size information will be saved and transferred to probability forecasts, mean or spread and ect , i.e how many members are used to do the calculation to get these products.

For gfs forecast, choosing " gfldo%ipdtmpl(18)=30" will let the ensemble size information consistent with the GEFS member. However its setting won't affect the gefs mean and spread products' grib2 message for gfs files are not included to do mean/spread calculation.

This is a small change in ensadd.f. you can fix it later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add GEFS programs

3 participants