libsim  Versione6.3.0

◆ qcspatri()

subroutine, public modqcspa::qcspatri ( type(qcspatype), intent(inout)  qcspa,
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 
)
Parametri
[in,out]qcspaOggetto per il controllo climatico
[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

Definizione alla linea 525 del file modqcspa.F90.

525 !localize optional parameter
526 if (present(battrinv))then
527  indbattrinv = index_c(qcspa%v7d%datiattr%b(:)%btable, battrinv)
528 else
529  indbattrinv = index_c(qcspa%v7d%datiattr%b(:)%btable, qcattrvarsbtables(1))
530 end if
531 
532 if (present(battrcli))then
533  indbattrcli = index_c(qcspa%v7d%datiattr%b(:)%btable, battrcli)
534 else
535  indbattrcli = index_c(qcspa%v7d%datiattr%b(:)%btable, qcattrvarsbtables(2))
536 end if
537 
538 if (present(battrout))then
539  indbattrout = index_c(qcspa%v7d%datiattr%b(:)%btable, battrout)
540 else
541  indbattrout = index_c(qcspa%v7d%datiattr%b(:)%btable, qcattrvarsbtables(4))
542 end if
543 
544 
545 ! some checks on input
546 !if (indbattrinv <=0 .or. indbattrcli <= 0 .or. indbattrout <= 0 ) then
547 if (indbattrout <= 0 ) then
548 
549  call l4f_category_log(qcspa%category,l4f_error,"error finding attribute index for output")
550  call raise_error()
551 
552 end if
553 
554 !!$if (qcspa%operation == "gradient") then
555 !!$
556 !!$ !check for gradient operation
557 !!$ if ( size(qcspa%v7d%level) > 1 .or.&
558 !!$ size(qcspa%v7d%timerange) > 1 .or.&
559 !!$ size(qcspa%v7d%dativar%r) > 1 ) then
560 !!$ call l4f_category_log(qcspa%category,L4F_ERROR,"gradient operation manage one level/timerange/var only")
561 !!$ call raise_error()
562 !!$ end if
563 !!$
564 !!$end if
565 
566 ! set other local variable from optional parameter
567 if(present(anamask)) then
568  anamaskl = anamask
569 else
570  anamaskl = .true.
571 endif
572 if(present(timemask)) then
573  timemaskl = timemask
574 else
575  timemaskl = .true.
576 endif
577 if(present(levelmask)) then
578  levelmaskl = levelmask
579 else
580  levelmaskl = .true.
581 endif
582 if(present(timerangemask)) then
583  timerangemaskl = timerangemask
584 else
585  timerangemaskl = .true.
586 endif
587 if(present(varmask)) then
588  varmaskl = varmask
589 else
590  varmaskl = .true.
591 endif
592 if(present(networkmask)) then

Generated with Doxygen.