- Timestamp:
- Jul 7, 2017, 10:38:35 AM (7 years ago)
- Location:
- LMDZ5/branches/LMDZ_tree_FC/libf/phylmd
- Files:
-
- 5 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/LMDZ_tree_FC/libf/phylmd/conf_phys_m.F90
r2925 r2934 2445 2445 CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with flag_aerosol=6',1) 2446 2446 ENDIF 2447 2448 ! ORCHIDEE must be activated for ifl_pbltree=1 2449 IF (.NOT. ok_veget .AND. ifl_pbltree==1) THEN 2450 WRITE(lunout,*)' ORCHIDEE must be activated for ifl_pbltree=1' 2451 CALL abort_physic('conf_phys','ok_veget and ifl_pbltree not coherent',1) 2452 END IF 2447 2453 2448 2454 !$OMP MASTER -
LMDZ5/branches/LMDZ_tree_FC/libf/phylmd/surf_land_mod.F90
r2924 r2934 1 1 ! 2 2 MODULE surf_land_mod 3 #ifndef LMDZ_nofrein4 3 5 4 IMPLICIT NONE … … 22 21 flux_u1, flux_v1 , & 23 22 veget,lai,height) 24 25 !FCveget,lai,height, &26 23 27 24 USE dimphy … … 52 49 INCLUDE "dimsoil.h" 53 50 INCLUDE "YOMCST.h" 54 !albedo SB >>>55 51 INCLUDE "clesphys.h" 56 !albedo SB <<< 57 !FC 58 INCLUDE "dimpft.h" 52 INCLUDE "dimpft.h" 59 53 60 54 … … 107 101 REAL, DIMENSION(klon), INTENT(OUT) :: dflux_s, dflux_l 108 102 REAL, DIMENSION(klon), INTENT(OUT) :: flux_u1, flux_v1 ! flux for U and V at first model level 109 !FC 110 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: veget,lai 111 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height 103 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: veget,lai 104 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height 112 105 113 106 ! Local variables … … 166 159 emis_new, z0m, z0h, qsurf, & 167 160 veget, lai, height) 168 169 ! print*, " FC SORTIE surf_land_orchidee" ,height(1:100,2)170 !FC171 161 172 162 … … 236 226 !**************************************************************************************** 237 227 ! 238 #endif239 228 END MODULE surf_land_mod 240 229 ! -
LMDZ5/branches/LMDZ_tree_FC/libf/phylmd/surf_land_orchidee_mod.F90
r2927 r2934 4 4 #ifndef ORCHIDEE_NOZ0H 5 5 #ifndef ORCHIDEE_NOFREIN 6 !FC la derniere ligne et la fin7 6 ! 8 7 ! This module controles the interface towards the model ORCHIDEE. 9 8 ! 10 9 ! Compatibility with ORCHIDIEE : 11 ! The current version can be used with ORCHIDEE/trunk from revision 3525. 12 ! This interface is used if none of the cpp keys ORCHIDEE_NOOPENMP or ORCHIDEE_NOZ0H is set. 10 ! The current version can be used with ORCHIDEE/trunk from revision 4465. 11 ! This interface is used if none of the cpp keys ORCHIDEE_NOOPENMP, 12 ! ORCHIDEE_NOZ0H or ORCHIDEE_NOFREIN is set. 13 13 ! 14 14 ! Subroutines in this module : surf_land_orchidee … … 47 47 emis_new, z0m_new, z0h_new, qsurf, & 48 48 veget, lai, height ) 49 !FC50 49 51 50 … … 113 112 ! 114 113 INCLUDE "YOMCST.h" 115 !FC116 114 INCLUDE "dimpft.h" 117 115 … … 147 145 REAL, DIMENSION(klon), INTENT(OUT) :: alb1_new, alb2_new 148 146 REAL, DIMENSION(klon), INTENT(OUT) :: emis_new, z0m_new, z0h_new 149 !FC 150 REAL, DIMENSION (klon,nvm_lmdz),INTENT(OUT) :: veget 151 REAL, DIMENSION (klon,nvm_lmdz),INTENT(OUT) :: lai 152 REAL, DIMENSION (klon,nvm_lmdz) ,INTENT(OUT) :: height 147 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: veget 148 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: lai 149 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height 153 150 154 151 … … 230 227 ! Test of coherence between variable ok_veget and cpp key CPP_VEGET 231 228 #ifndef CPP_VEGET 232 print* , "nvm_orch FC ", nvm_orch233 print* , "nvm_lmdz FC ", nvm_lmdz234 235 229 abort_message='Pb de coherence: ok_veget = .true. mais CPP_VEGET = .false.' 236 230 CALL abort_physic(modname,abort_message,1) … … 443 437 IF (knon > 0) THEN 444 438 #ifdef CPP_VEGET 445 !FC 446 if(nvm_orch .ne.nvm_lmdz ) then 447 abort_message='Pb de dimensiosn PFT: nvm_orch et nvm_lmdz differents.' 448 CALL abort_physic(modname,abort_message,1) 449 endif 450 !FC 439 IF (nvm_orch .NE. nvm_lmdz ) THEN 440 abort_message='Pb de dimensiosn PFT: nvm_orch et nvm_lmdz differents.' 441 CALL abort_physic(modname,abort_message,1) 442 ENDIF 451 443 452 444 CALL intersurf_main_gathered (itime+itau_phy, nbp_lon, nbp_lat, knon, ktindex, dtime, & … … 460 452 lon_scat, lat_scat, q2m, t2m, z0h_new(1:knon),& 461 453 veget(1:knon,:),lai(1:knon,:),height(1:knon,:),& 462 454 coszang=yrmu0(1:knon)) 463 455 #endif 464 !FC on doit mettre nvm_orch la ???465 456 ENDIF 466 457 -
LMDZ5/branches/LMDZ_tree_FC/libf/phylmd/surf_land_orchidee_nofrein_mod.F90
r2933 r2934 1 1 ! 2 2 MODULE surf_land_orchidee_mod 3 #ifndef ORCHIDEE_NOOPENMP 4 #ifndef ORCHIDEE_NOZ0H 5 #ifndef ORCHIDEE_NOFREIN 6 !FC la derniere ligne et la fin 3 #ifdef ORCHIDEE_NOFREIN 7 4 ! 8 5 ! This module controles the interface towards the model ORCHIDEE. 9 6 ! 10 7 ! Compatibility with ORCHIDIEE : 11 ! The current version can be used with ORCHIDEE/trunk from revision 3525. 12 ! This interface is used if none of the cpp keys ORCHIDEE_NOOPENMP or ORCHIDEE_NOZ0H is set. 8 ! This module is compiled only if cpp key ORCHIDEE_NOFREIN is defined. 9 ! The current version can be used with ORCHIDEE/trunk from revision 3525-4465 10 ! (it can be used for later revisions also but it is not needed.) 11 ! 13 12 ! 14 13 ! Subroutines in this module : surf_land_orchidee … … 47 46 emis_new, z0m_new, z0h_new, qsurf, & 48 47 veget, lai, height ) 49 !FC50 48 51 49 … … 113 111 ! 114 112 INCLUDE "YOMCST.h" 115 !FC116 113 INCLUDE "dimpft.h" 117 114 … … 147 144 REAL, DIMENSION(klon), INTENT(OUT) :: alb1_new, alb2_new 148 145 REAL, DIMENSION(klon), INTENT(OUT) :: emis_new, z0m_new, z0h_new 149 !FC 150 REAL, DIMENSION (klon,nvm_lmdz),INTENT(OUT) :: veget 151 REAL, DIMENSION (klon,nvm_lmdz),INTENT(OUT) :: lai 152 REAL, DIMENSION (klon,nvm_lmdz) ,INTENT(OUT) :: height 146 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: veget ! dummy variables 147 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: lai ! dummy variables 148 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height! dummy variables 153 149 154 150 … … 225 221 IF (check) WRITE(lunout,*)'Entree ', modname 226 222 223 IF (ifl_pbltree == 1) THEN 224 abort_message='Pb de coherence: cette interface vers ORCHIDEE ne peut pas etre utilise avec ifl_pbltree' 225 CALL abort_physic(modname,abort_message,1) 226 END IF 227 227 228 ! Initialisation 228 229 … … 230 231 ! Test of coherence between variable ok_veget and cpp key CPP_VEGET 231 232 #ifndef CPP_VEGET 232 print* , "nvm_orch FC ", nvm_orch233 print* , "nvm_lmdz FC ", nvm_lmdz234 235 233 abort_message='Pb de coherence: ok_veget = .true. mais CPP_VEGET = .false.' 236 234 CALL abort_physic(modname,abort_message,1) … … 426 424 precip_rain, precip_snow, lwdown, swnet, swdown, ps, & 427 425 evap, fluxsens, fluxlat, coastalflow, riverflow, & 428 tsol_rad, tsurf_new, qsurf, albedo_out, emis_new, z0m_new, & 429 lon_scat, lat_scat, q2m, t2m, z0h_new , nvm_orch)426 tsol_rad, tsurf_new, qsurf, albedo_out, emis_new, z0m_new, & 427 lon_scat, lat_scat, q2m, t2m, z0h_new) 430 428 #endif 431 429 ENDIF … … 443 441 IF (knon > 0) THEN 444 442 #ifdef CPP_VEGET 445 !FC446 if(nvm_orch .ne.nvm_lmdz ) then447 abort_message='Pb de dimensiosn PFT: nvm_orch et nvm_lmdz differents.'448 CALL abort_physic(modname,abort_message,1)449 endif450 !FC451 452 443 CALL intersurf_main_gathered (itime+itau_phy, nbp_lon, nbp_lat, knon, ktindex, dtime, & 453 444 lrestart_read, lrestart_write, lalo, & … … 458 449 evap(1:knon), fluxsens(1:knon), fluxlat(1:knon), coastalflow(1:knon), riverflow(1:knon), & 459 450 tsol_rad(1:knon), tsurf_new(1:knon), qsurf(1:knon), albedo_out(1:knon,:), emis_new(1:knon), z0m_new(1:knon), & 460 lon_scat, lat_scat, q2m, t2m, z0h_new(1:knon),& 461 veget(1:knon,:),lai(1:knon,:),height(1:knon,:),& 462 coszang=yrmu0(1:knon)) 451 lon_scat, lat_scat, q2m, t2m, z0h_new(1:knon), coszang=yrmu0(1:knon)) 463 452 #endif 464 !FC on doit mettre nvm_orch la ???465 453 ENDIF 466 454 … … 691 679 #endif 692 680 #endif 693 #endif694 681 END MODULE surf_land_orchidee_mod -
LMDZ5/branches/LMDZ_tree_FC/libf/phylmd/surf_land_orchidee_noopenmp_mod.F90
r2925 r2934 44 44 evap, fluxsens, fluxlat, & 45 45 tsol_rad, tsurf_new, alb1_new, alb2_new, & 46 emis_new, z0_new, z0h_new, qsurf) 46 emis_new, z0_new, z0h_new, qsurf, & 47 veget, lai, height) 47 48 ! 48 49 ! Cette routine sert d'interface entre le modele atmospherique et le … … 108 109 109 110 INCLUDE "YOMCST.h" 110 111 INCLUDE "dimpft.h" 111 112 ! 112 113 ! Parametres d'entree … … 138 139 REAL, DIMENSION(klon), INTENT(OUT) :: alb1_new, alb2_new 139 140 REAL, DIMENSION(klon), INTENT(OUT) :: emis_new, z0_new, z0h_new 141 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: veget ! dummy variables 142 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: lai ! dummy variables 143 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height! dummy variables 140 144 141 145 ! Local -
LMDZ5/branches/LMDZ_tree_FC/libf/phylmd/surf_land_orchidee_noz0h_mod.F90
r2925 r2934 46 46 evap, fluxsens, fluxlat, & 47 47 tsol_rad, tsurf_new, alb1_new, alb2_new, & 48 emis_new, z0_new, z0h_new, qsurf) 48 emis_new, z0_new, z0h_new, qsurf, & 49 veget, lai, height) 49 50 50 51 USE mod_surf_para … … 111 112 ! 112 113 INCLUDE "YOMCST.h" 113 114 INCLUDE "dimpft.h" 114 115 ! 115 116 ! Parametres d'entree … … 141 142 REAL, DIMENSION(klon), INTENT(OUT) :: alb1_new, alb2_new 142 143 REAL, DIMENSION(klon), INTENT(OUT) :: emis_new, z0_new, z0h_new 144 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: veget ! dummy variables 145 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: lai ! dummy variables 146 REAL, DIMENSION(klon,nvm_lmdz), INTENT(OUT) :: height! dummy variables 143 147 144 148 ! Local … … 213 217 214 218 IF (check) WRITE(lunout,*)'Entree ', modname 219 220 IF (ifl_pbltree == 1) THEN 221 abort_message='Pb de coherence: cette interface vers ORCHIDEE ne peut pas etre utilise avec ifl_pbltree' 222 CALL abort_physic(modname,abort_message,1) 223 END IF 215 224 216 225 ! Initialisation
Note: See TracChangeset
for help on using the changeset viewer.