libsim Versione 7.2.0

◆ griddim_init()

subroutine griddim_init ( type(griddim_def), intent(inout)  this,
integer, intent(in), optional  nx,
integer, intent(in), optional  ny,
double precision, intent(in), optional  xmin,
double precision, intent(in), optional  xmax,
double precision, intent(in), optional  ymin,
double precision, intent(in), optional  ymax,
double precision, intent(in), optional  dx,
double precision, intent(in), optional  dy,
integer, intent(in), optional  component_flag,
character(len=*), intent(in), optional  proj_type,
double precision, intent(in), optional  lov,
integer, intent(in), optional  zone,
double precision, intent(in), optional  xoff,
double precision, intent(in), optional  yoff,
double precision, intent(in), optional  longitude_south_pole,
double precision, intent(in), optional  latitude_south_pole,
double precision, intent(in), optional  angle_rotation,
double precision, intent(in), optional  longitude_stretch_pole,
double precision, intent(in), optional  latitude_stretch_pole,
double precision, intent(in), optional  stretch_factor,
double precision, intent(in), optional  latin1,
double precision, intent(in), optional  latin2,
double precision, intent(in), optional  lad,
integer, intent(in), optional  projection_center_flag,
double precision, intent(in), optional  ellips_smaj_axis,
double precision, intent(in), optional  ellips_flatt,
integer, intent(in), optional  ellips_type,
character(len=*), intent(in), optional  categoryappend 
)

Constructor for a griddim_def object.

Parametri
[in,out]thisobject to be created
[in]nxnumber of points along the x axis
[in]nynumber of points along the y axis
[in]xminlower bound for x coordinate on grid in projection units (degrees or meters depending on the projection type)
[in]xmaxupper bound for x coordinate
[in]yminlower bound for y coordinate
[in]ymaxupper bound for y coordinate
[in]dxgrid step in x direction
[in]dygrid step in y direction
[in]component_flagResolved u- and v- components of vector quantities relative to 0=the easterly and northerly directions 1=the defined grid in the direction of increasing x and y (or i and j) coordinates respectively (0=north, 128=south)
[in]proj_typetype of projection
[in]lovline of view, also known as reference longitude or orientation of the grid (polar projections)
[in]zoneEarth zone (mainly for UTM), sets lov to the correct zone central meridian
[in]xoffoffset on x axis (false easting)
[in]yoffoffset on y axis (false northing)
[in]longitude_south_polelongitude of the southern pole of projection
[in]latitude_south_polelatitude of the southern pole of projection
[in]angle_rotationangle of rotation of projection
[in]longitude_stretch_polelongitude of the pole of stretching
[in]latitude_stretch_polelatitude of the pole of stretching
[in]stretch_factorstretching factor
[in]latin1first standard latitude from main pole (Lambert)
[in]latin2second standard latitude from main pole (Lambert)
[in]ladlatitude at which dx and dy (in m) are specified (Lambert, grib2 only)
[in]projection_center_flagflag indicating which pole is represented
[in]ellips_smaj_axisEarth semi-major axis
[in]ellips_flattEarth flattening
[in]ellips_typenumber in the interval [1,nellips] indicating a predefined ellipsoid, alternative to the previous arguments
[in]categoryappendappend this suffix to log4fortran namespace category

Definizione alla linea 469 del file grid_class.F90.

477IF (PRESENT(ny)) this%dim%ny = ny
478
479CALL set_val(this%grid%proj, proj_type=proj_type, lov=lov, zone=zone, &
480 xoff=xoff, yoff=yoff, longitude_south_pole=longitude_south_pole, &
481 latitude_south_pole=latitude_south_pole, angle_rotation=angle_rotation, &
482 longitude_stretch_pole=longitude_stretch_pole, &
483 latitude_stretch_pole=latitude_stretch_pole, stretch_factor=stretch_factor, &
484 latin1=latin1, latin2=latin2, lad=lad, &
485 projection_center_flag=projection_center_flag, &
486 ellips_smaj_axis=ellips_smaj_axis, ellips_flatt=ellips_flatt, &
487 ellips_type=ellips_type)
488
489CALL set_val(this%grid%grid, &
490 xmin, xmax, ymin, ymax, dx, dy, component_flag)
491
492END SUBROUTINE griddim_set_val
493
494
499SUBROUTINE griddim_read_unit(this, unit)
500TYPE(griddim_def),INTENT(out) :: this
501INTEGER, INTENT(in) :: unit
502
503
504CALL read_unit(this%dim, unit)
505CALL read_unit(this%grid%proj, unit)
506CALL read_unit(this%grid%grid, unit)
507
508END SUBROUTINE griddim_read_unit
509
510
515SUBROUTINE griddim_write_unit(this, unit)
516TYPE(griddim_def),INTENT(in) :: this
517INTEGER, INTENT(in) :: unit
518
519
520CALL write_unit(this%dim, unit)
521CALL write_unit(this%grid%proj, unit)
522CALL write_unit(this%grid%grid, unit)
523
524END SUBROUTINE griddim_write_unit
525
526
530FUNCTION griddim_central_lon(this) RESULT(lon)
531TYPE(griddim_def),INTENT(inout) :: this
532
533DOUBLE PRECISION :: lon
534
535CALL griddim_pistola_central_lon(this, lon)
536
537END FUNCTION griddim_central_lon

Generated with Doxygen.