libsim  Versione6.3.0

◆ griddim_export_grid_id()

subroutine grid_class::griddim_export_grid_id ( type(griddim_def), intent(in)  this,
type(grid_id), intent(inout)  outgrid_id 
)

Export a griddim object to a grid_id object associated to a supported gridded dataset driver (typically a grib message from grib_api).

All the grid information (size, projection, etc.) contained in the griddim object is exported to the grid_id object.

Parametri
[in]thisgriddim object
[in,out]outgrid_idgrid_id object which will contain information about the grid

Definizione alla linea 1019 del file grid_class.F90.

1019  CALL set_val(this, ellips_smaj_axis=r1, ellips_flatt=0.0d0)
1020  CASE(2) ! iau65
1021  CALL set_val(this, ellips_smaj_axis=6378160.0d0, ellips_flatt=1.0d0/297.0d0)
1022  CASE(3,7) ! ellipsoidal generic
1023  CALL grib_get(gaid, 'scaleFactorOfEarthMajorAxis', is)
1024  CALL grib_get(gaid, 'scaledValueOfEarthMajorAxis', iv)
1025  r1 = dble(iv) / 10**is
1026  CALL grib_get(gaid, 'scaleFactorOfEarthMinorAxis', is)
1027  CALL grib_get(gaid, 'scaledValueOfEarthMinorAxis', iv)
1028  r2 = dble(iv) / 10**is
1029  IF (shapeofearth == 3) THEN ! km->m
1030  r1 = r1*1000.0d0
1031  r2 = r2*1000.0d0
1032  ENDIF
1033  IF (abs(r1) < 1.0d-6) THEN ! suspicious data read from grib
1034  CALL l4f_category_log(this%category,l4f_warn,'zero Earth major axis '// &
1035  'read from grib, going on with spherical Earth but the results may be wrong')
1036  CALL set_val(this, ellips_smaj_axis=6367470.0d0, ellips_flatt=0.0d0)
1037  ELSE
1038  CALL set_val(this, ellips_smaj_axis=r1, ellips_flatt=(r1-r2)/r1)
1039  ENDIF
1040  CASE(4) ! iag-grs80
1041  CALL set_val(this, ellips_type=ellips_grs80)
Operatore di valore assoluto di un intervallo.

Generated with Doxygen.