|
◆ vol7d_reform()
subroutine vol7d_class::vol7d_reform |
( |
type(vol7d), intent(inout) |
this, |
|
|
logical, intent(in), optional |
sort, |
|
|
logical, intent(in), optional |
unique, |
|
|
logical, intent(in), optional |
miss, |
|
|
logical, intent(in), optional |
lsort_time, |
|
|
logical, intent(in), optional |
lsort_timerange, |
|
|
logical, intent(in), optional |
lsort_level, |
|
|
logical, dimension(:), intent(in), optional |
ltime, |
|
|
logical, dimension(:), intent(in), optional |
ltimerange, |
|
|
logical, dimension(:), intent(in), optional |
llevel, |
|
|
logical, dimension(:), intent(in), optional |
lana, |
|
|
logical, dimension(:), intent(in), optional |
lnetwork, |
|
|
logical, dimension(:), intent(in), optional |
lanavarr, |
|
|
logical, dimension(:), intent(in), optional |
lanavard, |
|
|
logical, dimension(:), intent(in), optional |
lanavari, |
|
|
logical, dimension(:), intent(in), optional |
lanavarb, |
|
|
logical, dimension(:), intent(in), optional |
lanavarc, |
|
|
logical, dimension(:), intent(in), optional |
lanaattrr, |
|
|
logical, dimension(:), intent(in), optional |
lanaattrd, |
|
|
logical, dimension(:), intent(in), optional |
lanaattri, |
|
|
logical, dimension(:), intent(in), optional |
lanaattrb, |
|
|
logical, dimension(:), intent(in), optional |
lanaattrc, |
|
|
logical, dimension(:), intent(in), optional |
lanavarattrr, |
|
|
logical, dimension(:), intent(in), optional |
lanavarattrd, |
|
|
logical, dimension(:), intent(in), optional |
lanavarattri, |
|
|
logical, dimension(:), intent(in), optional |
lanavarattrb, |
|
|
logical, dimension(:), intent(in), optional |
lanavarattrc, |
|
|
logical, dimension(:), intent(in), optional |
ldativarr, |
|
|
logical, dimension(:), intent(in), optional |
ldativard, |
|
|
logical, dimension(:), intent(in), optional |
ldativari, |
|
|
logical, dimension(:), intent(in), optional |
ldativarb, |
|
|
logical, dimension(:), intent(in), optional |
ldativarc, |
|
|
logical, dimension(:), intent(in), optional |
ldatiattrr, |
|
|
logical, dimension(:), intent(in), optional |
ldatiattrd, |
|
|
logical, dimension(:), intent(in), optional |
ldatiattri, |
|
|
logical, dimension(:), intent(in), optional |
ldatiattrb, |
|
|
logical, dimension(:), intent(in), optional |
ldatiattrc, |
|
|
logical, dimension(:), intent(in), optional |
ldativarattrr, |
|
|
logical, dimension(:), intent(in), optional |
ldativarattrd, |
|
|
logical, dimension(:), intent(in), optional |
ldativarattri, |
|
|
logical, dimension(:), intent(in), optional |
ldativarattrb, |
|
|
logical, dimension(:), intent(in), optional |
ldativarattrc, |
|
|
logical, intent(in), optional |
purgeana |
|
) |
| |
Metodo per riformare in varie maniere un oggetto vol7d.
Equivale ad una copia (vedi vol7d_copy) seguita dalla distruzione del volume iniziale e alla sua riassegnazione al volume copiato. Ha senso se almeno uno dei parametri sort, uniq o miss è fornito uguale a .TRUE., altrimenti è solo una perdita di tempo. Può essere utile, ad esempio, per eliminare stazioni o istanti temporali indesiderati, basta assegnare il loro corrispondente elemento del descrittore a valore mancante e chiamare vol7d_reform con miss=.TRUE. .
- Parametri
-
[in,out] | this | oggetto da riformare |
[in] | sort | if present and .TRUE., sort all the sortable dimensions |
[in] | unique | se fornito e uguale a .TRUE., gli eventuali elementi duplicati nei descrittori dell'oggetto iniziale verranno collassati in un unico elemento (con eventuale perdita dei dati relativi agli elementi duplicati) |
[in] | miss | se fornito e uguale a .TRUE., gli eventuali elementi dei descrittori uguali al corrispondente valore mancante verranno eliminati dall'oggetto riformato |
[in] | lsort_time | if present and .TRUE., sort only time dimension (alternative to sort ) |
[in] | lsort_timerange | if present and .TRUE., sort only timerange dimension (alternative to sort ) |
[in] | lsort_level | if present and .TRUE., sort only level dimension (alternative to sort ) |
[in] | ltime | se fornito, deve essere un vettore logico della stessa lunghezza di thistime indicante quali elementi della dimensione time mantenere (valori .TRUE.) e quali scartare (valori .FALSE.) nel volume copiato; in alternativa può essere un vettore di lunghezza 1, in tal caso, se .FALSE. , equivale a scartare tutti gli elementi (utile principalmente per le variabili); è compatibile col parametro miss |
[in] | ltimerange | come il precedente per la dimensione timerange |
[in] | llevel | come il precedente per la dimensione level |
[in] | lana | come il precedente per la dimensione ana |
[in] | lnetwork | come il precedente per la dimensione network |
[in] | lanavarr | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavard | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavari | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavarb | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavarc | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanaattrr | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanaattrd | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanaattri | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanaattrb | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanaattrc | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavarattrr | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavarattrd | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavarattri | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavarattrb | come il precedente per tutte le possibili dimensioni variabile |
[in] | lanavarattrc | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarr | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativard | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativari | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarb | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarc | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldatiattrr | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldatiattrd | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldatiattri | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldatiattrb | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldatiattrc | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarattrr | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarattrd | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarattri | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarattrb | come il precedente per tutte le possibili dimensioni variabile |
[in] | ldativarattrc | come il precedente per tutte le possibili dimensioni variabile |
[in] | purgeana | if true remove ana with all data missing |
Definizione alla linea 2035 del file vol7d_class.F90.
2035 IF ( ASSOCIATED(this%dativar%d)) THEN 2036 DO i = 1, SIZE(this%dativar%d) 2037 IF (all(this%dativar%d(i)%btable /= vl)) this%dativar%d(i) = vol7d_var_miss 2041 IF ( ASSOCIATED(this%dativar%c)) THEN 2042 DO i = 1, SIZE(this%dativar%c) 2043 IF (all(this%dativar%c(i)%btable /= vl)) this%dativar%c(i) = vol7d_var_miss 2047 IF ( ASSOCIATED(this%dativar%c)) THEN 2048 DO i = 1, SIZE(this%dativar%c) 2049 IF (all(this%dativar%c(i)%btable /= vl)) this%dativar%c(i) = vol7d_var_miss 2056 IF ( PRESENT(nl)) THEN 2057 IF ( SIZE(nl) > 0) THEN 2058 DO i = 1, SIZE(this%network) 2059 IF (all(this%network(i) /= nl)) this%network(i) = vol7d_network_miss 2064 IF ( PRESENT(s_d)) THEN 2066 WHERE (this%time < s_d) 2067 this%time = datetime_miss 2072 IF ( PRESENT(e_d)) THEN 2074 WHERE (this%time > e_d) 2075 this%time = datetime_miss 2080 CALL vol7d_reform(this, miss=.true.) 2082 END SUBROUTINE vol7d_filter 2091 SUBROUTINE vol7d_convr(this, that, anaconv) 2092 TYPE(vol7d), INTENT(IN) :: this 2093 TYPE(vol7d), INTENT(INOUT) :: that 2094 LOGICAL, OPTIONAL, INTENT(in) :: anaconv 2096 LOGICAL :: fv(1)=(/.false./), tv(1)=(/.true./), acp(1), acn(1) 2097 TYPE(vol7d) :: v7d_tmp
|