Changeset 2271
- Timestamp:
- May 12, 2015, 6:27:47 PM (10 years ago)
- Location:
- LMDZ5/trunk/libf
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/misc/wxios.F90
r2137 r2271 21 21 CHARACTER(len=100) :: g_field_name = "nofield" 22 22 !$OMP THREADPRIVATE(g_flag_xml,g_field_name) 23 23 REAL :: missing_val_omp 24 REAL :: missing_val 25 !$OMP THREADPRIVATE(missing_val) 24 26 25 27 CONTAINS -
LMDZ5/trunk/libf/phylmd/calcul_STDlev.h
r1912 r2271 4 4 !IM on initialise les variables 5 5 ! 6 6 ! missing_val=nf90_fill_real 7 7 ! 8 8 CALL ini_undefSTD(itap,itapm1) -
LMDZ5/trunk/libf/phylmd/declare_STDlev.h
r1907 r2271 57 57 REAL zx_tmp_fiNC(klon,nlevSTD) 58 58 59 59 ! REAL missing_val 60 60 REAL, SAVE :: freq_moyNMC(nout) 61 61 !$OMP THREADPRIVATE(freq_moyNMC) -
LMDZ5/trunk/libf/phylmd/moy_undefSTD.F90
r1992 r2271 5 5 USE netcdf 6 6 USE dimphy 7 #ifdef CPP_IOIPSL 7 8 USE phys_state_var_mod 9 #endif 10 8 11 USE phys_cal_mod, ONLY: mth_len 9 12 IMPLICIT NONE 10 13 include "clesphys.h" 14 #ifdef CPP_IOIPSL 15 REAL :: missing_val 16 #endif 11 17 12 18 ! ==================================================================== … … 51 57 REAL un_jour 52 58 PARAMETER (un_jour=86400.) 53 59 ! REAL missing_val 54 60 55 missing_val = nf90_fill_real 61 ! missing_val = nf90_fill_real 62 #ifndef CPP_XIOS 63 missing_val=missing_val_nf90 64 #endif 56 65 57 66 DO n = 1, nout -
LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r2255 r2271 604 604 605 605 TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_wSTDlevs = (/ & 606 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w850', "Vertical wind 1hPa", "Pa/s", &606 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w850', "Vertical wind 850hPa", "Pa/s", & 607 607 (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), & 608 608 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w700', "Vertical wind 700hPa", "Pa/s", & … … 620 620 621 621 TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_tSTDlevs = (/ & 622 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t850', "Temperature 1hPa", "K", &622 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t850', "Temperature 850hPa", "K", & 623 623 (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), & 624 624 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t700', "Temperature 700hPa", "K", & … … 636 636 637 637 TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_qSTDlevs = (/ & 638 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q850', "Specific humidity 1hPa", &638 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q850', "Specific humidity 850hPa", & 639 639 "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), & 640 640 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q700', "Specific humidity 700hPa", & … … 652 652 653 653 TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_zSTDlevs = (/ & 654 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z850', "Geopotential height 1hPa", &654 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z850', "Geopotential height 850hPa", & 655 655 "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), & 656 656 ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z700', "Geopotential height 700hPa", & -
LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90
r2255 r2271 174 174 vqsumSTD, vTsumSTD, O3daysumSTD, wqsumSTD, & 175 175 vphisumSTD, wTsumSTD, u2sumSTD, v2sumSTD, & 176 T2sumSTD, nlevSTD, du_gwd_rando, dv_gwd_rando 176 T2sumSTD, nlevSTD, du_gwd_rando, dv_gwd_rando, & 177 ulevSTD, vlevSTD, wlevSTD, philevSTD, qlevSTD, tlevSTD, & 178 missing_val_nf90 177 179 178 180 USE phys_local_var_mod, only: zxfluxlat, slp, zxtsol, zt2m, & … … 244 246 ! ug Pour les sorties XIOS 245 247 USE xios, ONLY: xios_update_calendar 246 USE wxios, only: wxios_closedef 248 USE wxios, only: wxios_closedef, missing_val 247 249 #endif 248 250 USE phys_cal_mod, only : mth_len … … 290 292 INTEGER, DIMENSION(iim*jjmp1*klev) :: ndex3d 291 293 REAL, PARAMETER :: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2 292 REAL, PARAMETER :: missing_val=nf90_fill_real 294 ! REAL, PARAMETER :: missing_val=nf90_fill_real 295 #ifndef CPP_XIOS 296 REAL :: missing_val 297 #endif 293 298 REAL, PARAMETER :: un_jour=86400. 294 299 … … 658 663 ! ENDIF 659 664 665 IF (.NOT.ok_all_xml) THEN 660 666 ! ATTENTION, LES ANCIENS HISTWRITE ONT ETES CONSERVES EN ATTENDANT MIEUX: 661 667 ! Champs interpolles sur des niveaux de pression 668 #ifndef CPP_XIOS 669 missing_val=missing_val_nf90 670 #endif 662 671 DO iff=1, nfiles 663 672 ll=0 … … 681 690 ENDDO 682 691 ENDDO 683 692 ELSE 693 !XIOS CALL xios_get_field_attr("u850",default_value=missing_val) 694 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 695 DO iff=1, nfiles 696 ll=0 697 DO k=1, nlevSTD 698 bb2=clevSTD(k) 699 IF(bb2.EQ."850".OR.bb2.EQ."700".OR. & 700 bb2.EQ."500".OR.bb2.EQ."200".OR. & 701 bb2.EQ."100".OR. & 702 bb2.EQ."50".OR.bb2.EQ."10") THEN 703 ll=ll+1 704 CALL histwrite_phy(o_uSTDlevs(ll),ulevSTD(:,k), iff) 705 CALL histwrite_phy(o_vSTDlevs(ll),vlevSTD(:,k), iff) 706 CALL histwrite_phy(o_wSTDlevs(ll),wlevSTD(:,k), iff) 707 CALL histwrite_phy(o_zSTDlevs(ll),philevSTD(:,k), iff) 708 CALL histwrite_phy(o_qSTDlevs(ll),qlevSTD(:,k), iff) 709 CALL histwrite_phy(o_tSTDlevs(ll),tlevSTD(:,k), iff) 710 ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR. 711 ENDDO 712 ENDDO 713 ENDIF 684 714 IF (vars_defined) THEN 685 715 DO i=1, klon -
LMDZ5/trunk/libf/phylmd/phys_state_var_mod.F90
r2243 r2271 10 10 ! Declaration des variables 11 11 USE dimphy 12 USE netcdf, only: nf90_fill_real 12 13 INTEGER, PARAMETER :: nlevSTD=17 13 14 INTEGER, PARAMETER :: nlevSTD8=8 … … 16 17 INTEGER, PARAMETER :: napisccp=1 17 18 INTEGER, SAVE :: radpas 19 REAL, PARAMETER :: missing_val_nf90=nf90_fill_real 18 20 !$OMP THREADPRIVATE(radpas) 19 21 REAL, SAVE :: dtime, solaire_etat0 -
LMDZ5/trunk/libf/phylmd/physiq.F90
r2262 r2271 47 47 use phyaqua_mod, only: zenang_an 48 48 USE control_mod 49 #ifdef CPP_XIOS 50 USE wxios, ONLY: missing_val, missing_val_omp 51 USE xios, ONLY: xios_get_field_attr 52 #endif 49 53 #ifdef REPROBUS 50 54 USE CHEM_REP, ONLY : Init_chem_rep_xjour … … 240 244 real da(klon,klev),phi(klon,klev,klev),mp(klon,klev) 241 245 real wght_cvfd(klon,klev) 246 #ifndef CPP_XIOS 247 REAL, SAVE :: missing_val 248 #endif 242 249 ! Variables pour le lessivage convectif 243 250 ! RomP >>> … … 3962 3969 !IM Interpolation sur les niveaux de pression du NMC 3963 3970 ! ------------------------------------------------- 3971 #ifdef CPP_XIOS 3972 !$OMP MASTER 3973 !On recupere la valeur de la missing value donnee dans le xml 3974 CALL xios_get_field_attr("t850",default_value=missing_val_omp) 3975 ! PRINT *,"ARNAUD value missing ",missing_val_omp 3976 !$OMP END MASTER 3977 !$OMP BARRIER 3978 missing_val=missing_val_omp 3979 #endif 3980 #ifndef CPP_XIOS 3981 missing_val=missing_val_nf90 3982 #endif 3964 3983 ! 3965 3984 include "calcul_STDlev.h" -
LMDZ5/trunk/libf/phylmd/plevel.F90
r1992 r2271 9 9 USE netcdf 10 10 USE dimphy 11 #ifdef CPP_IOIPSL 12 USE phys_state_var_mod, ONLY: missing_val_nf90 13 #endif 14 #ifdef CPP_XIOS 15 USE wxios, ONLY: missing_val 16 #endif 11 17 IMPLICIT NONE 12 18 … … 56 62 INTEGER i, k 57 63 58 REAL missing_val 64 ! REAL missing_val 65 #ifndef CPP_XIOS 66 REAL :: missing_val 67 #endif 59 68 60 missing_val = nf90_fill_real 69 ! missing_val = nf90_fill_real 70 71 #ifndef CPP_XIOS 72 missing_val=missing_val_nf90 73 #endif 61 74 62 75 IF (first) THEN -
LMDZ5/trunk/libf/phylmd/plevel_new.F90
r1992 r2271 10 10 USE netcdf 11 11 USE dimphy 12 #ifdef CPP_IOIPSL 13 USE phys_state_var_mod, ONLY: missing_val_nf90 14 #endif 15 #ifdef CPP_XIOS 16 USE wxios, ONLY: missing_val 17 #endif 18 12 19 IMPLICIT NONE 13 20 … … 58 65 INTEGER i, k 59 66 60 REAL missing_val 67 ! REAL missing_val 68 #ifndef CPP_XIOS 69 REAL :: missing_val 70 #endif 61 71 62 missing_val = nf90_fill_real 72 ! missing_val = nf90_fill_real 73 74 #ifndef CPP_XIOS 75 missing_val=missing_val_nf90 76 #endif 63 77 64 78 IF (first) THEN -
LMDZ5/trunk/libf/phylmd/undefSTD.F90
r1992 r2271 5 5 USE netcdf 6 6 USE dimphy 7 USE phys_state_var_mod ! Variables sauvegardees de la physique 7 #ifdef CPP_IOIPSL 8 USE phys_state_var_mod 9 #endif 10 8 11 IMPLICIT NONE 9 12 include "clesphys.h" 13 #ifdef CPP_IOIPSL 14 REAL :: missing_val 15 #endif 10 16 11 17 ! ==================================================================== … … 51 57 ! REAL tnondef(klon,klevSTD,nout) 52 58 53 59 ! REAL missing_val 54 60 55 missing_val = nf90_fill_real 61 ! missing_val = nf90_fill_real 62 #ifndef CPP_XIOS 63 missing_val=missing_val_nf90 64 #endif 56 65 57 66 DO n = 1, nout
Note: See TracChangeset
for help on using the changeset viewer.