|
◆ qcspainit()
subroutine modqcspa::qcspainit |
( |
type(qcspatype), intent(inout) |
qcspa, |
|
|
type (vol7d), intent(in), target |
v7d, |
|
|
character(len=*), dimension(:), intent(in) |
var, |
|
|
type(datetime), intent(in), optional |
timei, |
|
|
type(datetime), intent(in), optional |
timef, |
|
|
type(geo_coord), intent(inout), optional |
coordmin, |
|
|
type(geo_coord), intent(inout), optional |
coordmax, |
|
|
integer, dimension(:,:,:,:,:), intent(in), optional, target |
data_id_in, |
|
|
character(len=*), intent(in), optional |
extremepath, |
|
|
character(len=*), intent(in), optional |
spatialpath, |
|
|
character(len=*), intent(in), optional |
dsne, |
|
|
character(len=*), intent(in), optional |
usere, |
|
|
character(len=*), intent(in), optional |
passworde, |
|
|
character(len=*), intent(in), optional |
dsnspa, |
|
|
character(len=*), intent(in), optional |
userspa, |
|
|
character(len=*), intent(in), optional |
passwordspa, |
|
|
logical, intent(in), optional |
height2level, |
|
|
character(len=*), optional |
operation, |
|
|
character(len=*), intent(in), optional |
categoryappend |
|
) |
| |
|
private |
Init del controllo di qualità spaziale.
Effettua la lettura dei file e altre operazioni di inizializzazione.
- Parametri
-
[in,out] | qcspa | Oggetto per il controllo spaziale |
[in] | v7d | Il volume Vol7d da controllare |
[in] | var | variabili da importare secondo la tabella B locale o relativi alias |
[in,out] | coordmin | coordinate minime e massime che definiscono il rettangolo di estrazione per l'importazione |
[in,out] | coordmax | coordinate minime e massime che definiscono il rettangolo di estrazione per l'importazione |
[in] | timei | estremi temporali (inizio e fine) dell'estrazione per l'importazione |
[in] | timef | estremi temporali (inizio e fine) dell'estrazione per l'importazione |
[in] | data_id_in | Indici dei dati in DB |
[in] | extremepath | file con il volume del extreme |
[in] | spatialpath | file with spatial ndi |
[in] | height2level | use conventional level starting from station height |
[in] | categoryappend | appennde questo suffisso al namespace category di log4fortran |
| operation | Operation to execute ("gradient"/"run") |
Definizione alla linea 376 del file modqcspa.F90.
376 call l4f_category_log(qcspa%category,l4f_error, "contng error status="// t2c(status)) 380 end subroutine qcspatri 384 subroutine qcspaalloc(qcspa) 387 type(qcspatype), intent(in out) :: qcspa 393 call qcspadealloc(qcspa) 408 if ( associated(qcspa%data_id_in)) then 409 sh=shape(qcspa%data_id_in) 410 allocate (qcspa%data_id_out(sh(1),sh(2),sh(3),sh(4),sh(5)),stat=istatt) 412 call l4f_category_log(qcspa%category,l4f_error, "allocate error") 413 call raise_error( "allocate error") 415 qcspa%data_id_out=imiss 419 if ( associated(qcspa%v7d%ana)) then 420 qcspa%ndp= size(qcspa%v7d%ana) 421 qcspa%tri = triangles_new(qcspa%ndp) 422 allocate(qcspa%co(qcspa%ndp)) 425 end subroutine qcspaalloc 429 subroutine qcspadealloc(qcspa) 432 type(qcspatype), intent(in out) :: qcspa 442 if ( associated(qcspa%data_id_out)) then 443 deallocate (qcspa%data_id_out) 444 nullify (qcspa%data_id_out) 447 if ( associated(qcspa%co)) deallocate(qcspa%co) 449 end subroutine qcspadealloc 455 subroutine qcspadelete(qcspa) 457 type(qcspatype), intent(in out) :: qcspa 459 call qcspadealloc(qcspa) 466 call l4f_category_delete(qcspa%category) 469 end subroutine qcspadelete 475 SUBROUTINE quaconspa (qcspa,timetollerance,noborder,battrinv,battrcli,battrout,& 476 anamask,timemask,levelmask,timerangemask,varmask,networkmask) 479 type(qcspatype), intent(in out) :: qcspa 480 type(timedelta), intent(in) :: timetollerance 481 logical, intent(in), optional :: noborder 482 character (len=10) , intent(in), optional :: battrinv 483 character (len=10) , intent(in), optional :: battrcli 484 character (len=10) , intent(in), optional :: battrout 485 logical , intent(in), optional :: anamask(:) 486 logical , intent(in), optional :: timemask(:) 487 logical , intent(in), optional :: levelmask(:) 488 logical , intent(in), optional :: timerangemask(:) 489 logical , intent(in), optional :: varmask(:) 490 logical , intent(in), optional :: networkmask(:) 494 integer :: indbattrinv,indbattrcli,indbattrout 495 logical :: anamaskl(size(qcspa%v7d%ana)), timemaskl(size(qcspa%v7d%time)), levelmaskl(size(qcspa%v7d%level)), & 496 timerangemaskl(size(qcspa%v7d%timerange)), varmaskl(size(qcspa%v7d%dativar%r)), networkmaskl(size(qcspa%v7d%network)) 498 integer :: indana , indtime ,indlevel ,indtimerange ,inddativarr, indnetwork,indnet 499 integer :: indcana , indctime ,indclevel ,indctimerange ,indcdativarr, indcnetwork 500 real :: datoqui,datola,datila(size(qcspa%v7d%time)),climaquii, climaquif 504 TYPE(datetime) :: time 506 TYPE(vol7d_network):: network 507 type(timedelta) :: deltato,deltat 509 integer :: ivert(50),i,ipos,ineg,it,itrov,iv,ivb,kk,iindtime,grunit 510 double precision :: distmin=1000.d0,distscol=100000.d0 511 double precision :: dist,grad,gradmin 512 integer (kind=int_b) :: flag 514 character(len=512) :: filename Functions that return a trimmed CHARACTER representation of the input variable.
Distruttori per le 2 classi.
|