38 include
"dimensions.h"
40 character (len=4) :: siim,sjjm,sllm,sproc
41 character (len=255) :: filename
42 integer :: unit_number=10
46 write(siim,
'(i3)')
iim
47 write(sjjm,
'(i3)') jjm
48 write(sllm,
'(i3)')
llm
50 filename=
'Bands_'//trim(adjustl(siim))//
'x'//trim(adjustl(sjjm))//
'x'//trim(adjustl(sllm))//
'_' &
51 //trim(adjustl(sproc))//
'prc.dat'
53 OPEN(
unit=unit_number,file=trim(filename),status=
'old',form=
'formatted',iostat=ierr)
96 include
'dimensions.h'
98 INTEGER :: jj_para_begin(0:
mpi_size-1)
108 jj_para_end(0)=((
ij-1)/
iim)+1
112 jj_para_begin(
i)=((
ij-1)/
iim)+1
114 jj_para_end(
i)=((
ij-1)/
iim)+1
120 if (jj_para_begin(
i)==jj_para_end(
i-1))
then
129 if (jj_para_begin(
i)==jj_para_end(
i-1))
then
146 real :: minvalue,maxvalue
147 integer :: min_proc,max_proc
149 real,
allocatable,
dimension(:) :: value
150 integer,
allocatable,
dimension(:) :: index
167 if (value(i)>value(j))
then
211 real :: minvalue,maxvalue
212 integer :: min_proc,max_proc
214 real,
allocatable,
dimension(:) :: value
215 integer,
allocatable,
dimension(:) :: index
232 if (value(i)>value(j))
then
277 real :: minvalue,maxvalue
278 integer :: min_proc,max_proc
280 real,
allocatable,
dimension(:) :: value
281 integer,
allocatable,
dimension(:) :: index
298 if (value(i)>value(j))
then
348 real,
allocatable,
dimension(:) :: value
349 integer,
allocatable,
dimension(:) :: Inc
362 medium=medium+value(i)
369 inc(i)=nint(klon_mpi_para_nb(i)*(medium-value(i))/value(i))
382 inc(index)=inc(index)-sgn
396 include
"dimensions.h"
399 character (len=4) :: siim,sjjm,sllm,sproc
400 character (len=255) :: filename
401 integer :: unit_number=10
404 write(siim,
'(i3)')
iim
405 write(sjjm,
'(i3)') jjm
406 write(sllm,
'(i3)')
llm
409 filename=
'Bands_'//trim(adjustl(siim))//
'x'//trim(adjustl(sjjm))//
'x'//trim(adjustl(sllm))//
'_' &
410 //trim(adjustl(sproc))//
'prc.dat'
412 OPEN(
unit=unit_number,file=trim(filename),status=
'replace',form=
'formatted',iostat=ierr)
437 print *,
'probleme lors de l ecriture des bandes'
integer, dimension(:), allocatable distrib_phys
integer, parameter timer_physic
integer, dimension(:), allocatable jj_nb_caldyn
subroutine adjustbands_dissip(new_dist)
real, dimension(:,:,:), allocatable timer_average
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
integer, dimension(:), allocatable jj_nb_dissip
integer, parameter timer_caldyn
!$Id klon initialisation mois suivants day_rain itap ENDIF!Calcul fin de nday_rain calcul nday_rain itap DO i
subroutine allgather_timer_average
integer, dimension(:,:,:), allocatable timer_iteration
integer, parameter timer_dissip
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon ij
real, dimension(:,:,:), allocatable timer_delta
integer, dimension(:), allocatable jj_nb_physic
!$Id Turb_fcg!implicit none!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc!cette routine permet d obtenir hq et ainsi de!pouvoir calculer la convergence et le cisaillement dans la physiq!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc INTEGER klev REAL j
subroutine adjustbands_vanleer(new_dist)
integer, dimension(:), allocatable jj_nb_vanleer2
integer, parameter bands_vanleer
c c zjulian c cym CALL iim cym klev iim
integer, dimension(:), allocatable jj_nb_physic_bis
subroutine adjustbands_caldyn(new_dist)
integer, parameter bands_dissip
integer, parameter timer_vanleer
integer, dimension(:), allocatable jj_nb_vanleer
integer, parameter bands_caldyn
!$Header!integer nvarmx s s unit
subroutine adjustbands_physic