|
◆ volgrid6d_read_from_file()
subroutine volgrid6d_class::volgrid6d_read_from_file |
( |
type(volgrid6d), intent(out) |
this, |
|
|
integer, intent(inout), optional |
unit, |
|
|
character(len=*), intent(in), optional |
filename, |
|
|
character(len=*), intent(out), optional |
description, |
|
|
integer, dimension(8), intent(out), optional |
tarray, |
|
|
character(len=*), intent(out), optional |
filename_auto |
|
) |
| |
|
private |
Lettura da file di un volume Volgrid6d.
Lettura da file unformatted di un intero volume Volgrid6d. Questa subroutine comprende volgrid6d_alloc e volgrid6d_alloc_vol. Il file puo' essere aperto opzionalmente dall'utente. Si possono passare opzionalmente unità e nome del file altrimenti assegnati internamente a dei default; se assegnati internamente tali parametri saranno in output.
- Parametri
-
[out] | this | Volume volgrid6d da leggere |
[in,out] | unit | unità su cui è stato aperto un file; se =0 rielaborato internamente (default = elaborato internamente con getunit) |
[in] | filename | nome del file eventualmente da aprire (default = nome dell'eseguibile.v7d) |
[out] | filename_auto | nome del file generato se "filename" è omesso |
[out] | description | descrizione del volume letto |
[out] | tarray | vettore come definito da "date_and_time" della data di scrittura del volume |
Definizione alla linea 921 del file volgrid6d_class.F90.
922 IF ( c_e(this%gaid(ilevel,itime,itimerange,ivar))) THEN 924 CALL l4f_category_log(this%category,l4f_warn, "gaid exist: grib duplicated" 926 IF (optio_log(clone)) CALL delete(this%gaid(ilevel,itime,itimerange 929 IF (optio_log(clone)) THEN 930 CALL copy(gridinfo%gaid, this%gaid(ilevel,itime,itimerange,ivar) 932 CALL l4f_category_log(this%category,l4f_debug, "cloning to a new gaid" 935 this%gaid(ilevel,itime,itimerange,ivar) = gridinfo%gaid 938 IF ( ASSOCIATED(this%voldati)) THEN 939 IF (.NOT.dup .OR. ldup_mode == 0) THEN 940 this%voldati(:,:,ilevel,itime,itimerange,ivar) = decode_gridinfo 941 ELSE IF (ldup_mode == 1) THEN 942 tmpgrid = decode_gridinfo(gridinfo) 944 this%voldati(:,:,ilevel,itime,itimerange,ivar) = tmpgrid(:,: 946 ELSE IF (ldup_mode == 2) THEN 947 WHERE(.NOT. c_e(this%voldati(:,:,ilevel,itime,itimerange,ivar)) 954 CALL l4f_category_log(this%category,l4f_error, & 955 "gaid not allocated, you probably need to call volgrid6d_alloc_vol first" 963 END SUBROUTINE import_from_gridinfo 970 SUBROUTINE export_to_gridinfo(this, gridinfo, itime, itimerange, ilevel, ivar, & 971 gaid_template, clone) 972 TYPE(volgrid6d), INTENT(in) :: this 973 TYPE(gridinfo_def), INTENT(inout) :: gridinfo 975 INTEGER :: itimerange 978 TYPE(grid_id), INTENT(in), OPTIONAL :: gaid_template 979 LOGICAL, INTENT(in), OPTIONAL :: clone 981 TYPE(grid_id) :: gaid 982 LOGICAL :: usetemplate 983 REAL, POINTER :: voldati(:,:) 984 TYPE(datetime) :: correctedtime 990 IF (.NOT. c_e(this%gaid(ilevel,itime,itimerange,ivar))) THEN 992 CALL l4f_category_log(this%category,l4f_debug, "empty gaid found, skipping export" 997 usetemplate = .false. 998 IF ( PRESENT(gaid_template)) THEN 999 CALL copy(gaid_template, gaid) 1001 CALL l4f_category_log(this%category,l4f_debug, "template cloned to a new gaid" Distruttori per le 2 classi.
|