Changeset 1642 for trunk/LMDZ.VENUS/libf
- Timestamp:
- Dec 13, 2016, 11:38:35 AM (8 years ago)
- Location:
- trunk/LMDZ.VENUS/libf/phyvenus
- Files:
-
- 4 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.VENUS/libf/phyvenus/clesphys.h
r1442 r1642 12 12 LOGICAL ok_kzmin 13 13 LOGICAL callnlte,callnirco2,callthermos 14 LOGICAL ok_cloud, ok_chem, reinit_trac, ok_sedim , ok_deltatemp14 LOGICAL ok_cloud, ok_chem, reinit_trac, ok_sedim 15 15 INTEGER nbapp_rad, nbapp_chim, iflag_con, iflag_ajs 16 16 INTEGER lev_histins, lev_histday, lev_histmth … … 27 27 & ok_orodr, ok_orolf, ok_gw_nonoro, ok_kzmin, & 28 28 & callnlte,callnirco2,callthermos, & 29 & ok_cloud, ok_chem, reinit_trac, ok_sedim , ok_deltatemp29 & ok_cloud, ok_chem, reinit_trac, ok_sedim 30 30 31 31 COMMON/clesphys_i/ nbapp_rad, nbapp_chim, & -
trunk/LMDZ.VENUS/libf/phyvenus/conf_phys.F90
r1442 r1642 116 116 !Config Key = OK_mensuel 117 117 !Config Desc = Pour des sorties mensuelles 118 !Config Def = . true.118 !Config Def = .false. 119 119 !Config Help = Pour creer le fichier histmth contenant les sorties 120 120 ! mensuelles 121 121 ! 122 ok_mensuel = . true.122 ok_mensuel = .false. 123 123 call getin('OK_mensuel', ok_mensuel) 124 124 ! … … 361 361 ok_sedim = .FALSE. 362 362 call getin('ok_sedim',ok_sedim) 363 364 !365 !Config Key = ok_deltatemp366 !Config Desc =367 !Config Def = .FALSE.368 !Config Help =369 !370 ok_deltatemp = .FALSE.371 call getin('ok_deltatemp',ok_deltatemp)372 363 373 364 ! … … 502 493 write(numout,*)' ok_chem = ',ok_chem 503 494 write(numout,*)' ok_sedim = ',ok_sedim 504 write(numout,*)' ok_deltatemp = ',ok_deltatemp505 495 write(numout,*)' nb_mode = ',nb_mode 506 496 write(numout,*)' callnlte = ',callnlte -
trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F
r1621 r1642 79 79 use mod_grid_phy_lmdz, only: nbp_lon 80 80 use infotrac_phy, only: iflag_trac, tname, ttext 81 use vertical_layers_mod, only: pseudoalt 82 #ifdef CPP_XIOS 83 use xios_output_mod, only: initialize_xios_output, 84 & update_xios_timestep, 85 & send_xios_field 86 #endif 81 87 IMPLICIT none 82 88 c====================================================================== … … 333 339 REAL :: d_tr(klon,klev,nqmax) 334 340 335 c Champ de modification de la temperature par rapport a VIRAII336 REAL delta_temp(klon,klev)337 c SAVE delta_temp338 REAL mat_dtemp(33,50)339 SAVE mat_dtemp340 341 341 c Variables tendance sedimentation 342 342 … … 469 469 470 470 CALL printflag( ok_journe,ok_instan ) 471 472 #ifdef CPP_XIOS 473 474 write(*,*) "physiq: call initialize_xios_output" 475 call initialize_xios_output(rjourvrai,gmtime,pdtphys,RDAY, 476 & presnivs,pseudoalt) 477 #endif 478 471 479 c 472 480 c--------- … … 654 662 endif 655 663 656 c======================================================================657 c Lecture du fichier DeltaT658 c======================================================================659 660 c ATTENTION tout ce qui suit est pour un 48*32*50661 662 if (ok_deltatemp) then663 664 print*,'lecture de VenusDeltaT.txt '665 open(99, form = 'formatted', status = 'old', file =666 & 'VenusDeltaT.dat')667 print*,'Ouverture de VenusDeltaT.txt '668 669 DO ilev = 1, klev670 read(99,'(33(1x,e13.6))') (mat_dtemp(ilat,ilev),ilat=1,33)671 print*,'lecture de VenusDeltaT.txt ligne:',ilev672 ENDDO673 674 close(99)675 print*,'FIN lecture de VenusDeltaT.txt ok.'676 677 DO k = 1, klev678 DO i = 1, klon679 ilat=(latitude_deg(i)/5.625) + 17.680 delta_temp(i,k)=mat_dtemp(INT(ilat),k)681 ENDDO682 ENDDO683 684 endif685 686 664 ENDIF ! debut 687 665 c====================================================================== 688 666 c====================================================================== 667 ! ------------------------------------------------------ 668 ! Initializations done at every physical timestep: 669 ! ------------------------------------------------------ 689 670 690 671 c Mettre a zero des variables de sortie (pour securite) … … 744 725 s , fs_bound, fq_bound ) 745 726 END IF 727 728 c==================================================================== 729 c XIOS outputs 730 731 #ifdef CPP_XIOS 732 ! update XIOS time/calendar 733 call update_xios_timestep 734 #endif 746 735 747 736 c==================================================================== … … 878 867 ! Case 3: Full chemistry and/or clouds 879 868 880 if (ok_deltatemp) then881 ! PRINT*,'Def de delta_temp'882 DO k = 1, klev883 DO i = 1, klon884 ilat=(latitude_deg(i)/5.625) + 17.885 ! PRINT*,INT(ilat),latitude_deg(i),mat_dtemp(INT(ilat),k)886 delta_temp(i,k)=mat_dtemp(INT(ilat),k)887 ENDDO888 ENDDO889 890 endif891 892 ! Pas appel concentrations car BUG ... comprend pas893 ! valeur de mmean trop hautes 5,25E+29894 ! call concentrations2(pplay,t_seri,d_t,tr_seri, nqmax)895 896 if (ok_deltatemp) then897 ! Utilisation du champ de temperature modifie898 call phytrac_chimie(899 I debut,900 I gmtime,901 I nqmax,902 I klon,903 I latitude_deg,904 I longitude_deg,905 I nlev,906 I dtime,907 I t_seri+delta_temp,908 I pplay,909 O tr_seri)910 else911 912 869 call phytrac_chimie( 913 870 I debut, … … 922 879 I pplay, 923 880 O tr_seri) 924 endif925 881 926 882 c CALL WriteField_phy('Pression',pplay,nlev) … … 935 891 if (ok_sedim) then 936 892 937 if (ok_deltatemp) then938 ! Utilisation du champ de temperature modifie939 CALL new_cloud_sedim(940 I klon,941 I nlev,942 I dtime,943 I pplay,944 I paprs,945 I t_seri+delta_temp,946 I tr_seri,947 O d_tr_sed,948 O d_tr_ssed,949 I nqmax,950 O Fsedim)951 else952 953 893 CALL new_cloud_sedim( 954 894 I klon, … … 963 903 I nqmax, 964 904 O Fsedim) 965 966 endif967 905 968 906 DO k = 1, klev … … 1742 1680 #endif 1743 1681 1682 #endif 1683 1684 ! XIOS outputs 1685 ! This can be done ANYWHERE in the physics routines ! 1686 1687 #ifdef CPP_XIOS 1688 ! Send fields to XIOS: (NB these fields must also be defined as 1689 ! <field id="..." /> in context_lmdz_physics.xml to be correctly used) 1690 1691 CALL send_xios_field("phis",phis) 1692 cell_area_out(:)=cell_area(:) 1693 if (is_north_pole_phy) cell_area_out(1)=cell_area(1)/nbp_lon 1694 if (is_south_pole_phy) cell_area_out(klon)=cell_area(klon)/nbp_lon 1695 CALL send_xios_field("aire",cell_area_out) 1696 CALL send_xios_field("tsol",ftsol) 1697 CALL send_xios_field("psol",paprs(:,1)) 1698 CALL send_xios_field("ue",ue) 1699 c VENUS: regardee a l envers!!!!!!!!!!!!!!! 1700 CALL send_xios_field("ve",-1.*ve) 1701 1702 CALL send_xios_field("temp",t_seri) 1703 CALL send_xios_field("vitu",u_seri) 1704 c VENUS: regardee a l envers!!!!!!!!!!!!!!! 1705 CALL send_xios_field("vitv",-1.*v_seri) 1706 1744 1707 #endif 1745 1708 -
trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F
r1639 r1642 401 401 if (isza0.eq.-99) then 402 402 mat0 = indexve(lat) +ips0 403 mat0A = indexve(latA)+ips0A 404 mat0B = indexve(latB)+ips0B 403 if (latA.gt.0) then 404 mat0A = indexve(latA)+ips0A 405 mat0B = indexve(latB)+ips0B 406 endif 405 407 else 406 408 mat0 = indexve(lat) +(isza0 -1)*nbpsve(lat) +ips0 407 mat0A = indexve(latA)+(isza0A-1)*nbpsve(latA)+ips0A 408 mat0B = indexve(latB)+(isza0B-1)*nbpsve(latB)+ips0B 409 if (latA.gt.0) then 410 mat0A = indexve(latA)+(isza0A-1)*nbpsve(latA)+ips0A 411 mat0B = indexve(latB)+(isza0B-1)*nbpsve(latB)+ips0B 412 endif 409 413 endif 410 414 -
trunk/LMDZ.VENUS/libf/phyvenus/xios_output_mod.F90
r1641 r1642 80 80 endif 81 81 82 ! Initialize the XIOS domain cor eesponding to this process:82 ! Initialize the XIOS domain corresponding to this process: 83 83 if (prt_level>=10) write(lunout,*) "initialize_xios_output: call wxios_domain_param" 84 84 CALL wxios_domain_param("dom_glo", is_sequential, nbp_lon, jj_nb, nbp_lon, nbp_lat, & 85 85 1, nbp_lon, ii_begin, ii_end, jj_begin, jj_end, & 86 86 klon_mpi+2*(nbp_lon-1), data_ibegin, data_iend, & 87 lat_reg*(180./pi), lon_reg*(180./pi), & 87 ! VENUS IS SEEN UPSIDE DOWN, SO CENTRAL SYMMETRY TO PUT NORTH UP AGAIN 88 -1.*lat_reg*(180./pi), -1.*lon_reg*(180./pi), & 88 89 is_south_pole_dyn,mpi_rank) 89 90 … … 100 101 start_date=start_date, & 101 102 time_origin=time_origin, & 102 month_lengths=[ 30,30,30,30,30,30,30,30,30,30,30,30])103 month_lengths=[2]) 103 104 104 105 ! 4. Finalize the context:
Note: See TracChangeset
for help on using the changeset viewer.