Ignore:
Timestamp:
06/10/22 17:11:04 (2 years ago)
Author:
aquiquet
Message:

Trunk merged to branch at revision 357

Location:
branches/iLoveclim
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/iLoveclim

  • branches/iLoveclim/SOURCES/climat_transient_GCM_mod.f90

    r287 r359  
    184184! reading date of the anomalies 
    185185     call Read_Ncdf_var('time',clim_anom_file,tab1D) 
    186      time_snap(:) = tab1D(:) 
    187      time_snap(:) = time_snap(:) + time_depart_snaps 
     186     time_snapinit(:) = tab1D(:) 
     187     time_snapinit(:) = time_snapinit(:) + time_depart_snaps 
    188188      
    189189! anomalies with the right dimensions (nx,ny,month,year): 
     
    275275! after -> last value 
    276276 
    277   if(time.lt.time_snap(1)) then              ! time before forcing fields 
    278      prec_anomtime(:,:,:) = prec_anom(:,:,:,1) 
    279      tmoi_anomtime(:,:,:) = tmoi_anom(:,:,:,1) 
    280      time_prec    = time 
    281   else if (time.ge.time_snap(nb_snap)) then  ! time after forcing fields 
    282      prec_anomtime(:,:,:) = prec_anom(:,:,:,nb_snap) 
    283      tmoi_anomtime(:,:,:) = tmoi_anom(:,:,:,nb_snap) 
    284      if (abs(time-time_prec-1.).lt.dt) then    
    285         time_prec = time_prec + 1 
     277  if (massb_time.eq.1) then 
     278      
     279     if(time.lt.time_snap(1)) then              ! time before forcing fields 
     280        prec_anomtime(:,:,:) = prec_anom(:,:,:,1) 
     281        tmoi_anomtime(:,:,:) = tmoi_anom(:,:,:,1) 
     282        time_prec    = time 
     283     else if (time.ge.time_snap(nb_snap)) then  ! time after forcing fields 
     284        prec_anomtime(:,:,:) = prec_anom(:,:,:,nb_snap) 
     285        tmoi_anomtime(:,:,:) = tmoi_anom(:,:,:,nb_snap) 
     286        if (abs(time-time_prec-1.).lt.dt) then    
     287           time_prec = time_prec + 1 
     288        endif 
     289     else                                       ! general case 
     290        do k = 1 , nb_snap-1 
     291           if((time.ge.time_snap(k)).and.(time.lt.time_snap(k+1))) then ! between k and k+1  
     292 
     293              prec_anomtime(:,:,:) = prec_anom(:,:,:,k) + (prec_anom(:,:,:,k+1)-prec_anom(:,:,:,k)) *   & 
     294                   (time-time_snap(k))/(time_snap(k+1)-time_snap(k)) 
     295              tmoi_anomtime(:,:,:) = tmoi_anom(:,:,:,k) + (tmoi_anom(:,:,:,k+1)-tmoi_anom(:,:,:,k)) *   & 
     296                   (time-time_snap(k))/(time_snap(k+1)-time_snap(k)) 
     297              if ((abs(time-time_snap(k)).le.dt).and.(abs(time-time_prec-1.).lt.dt)) then     
     298                 time_prec = time_snap(k)     ! time_prec est le temps du precedent 
     299              endif 
     300              exit 
     301           endif 
     302        end do 
    286303     endif 
    287   else                                       ! general case 
    288      do k = 1 , nb_snap-1 
    289         if((time.ge.time_snap(k)).and.(time.lt.time_snap(k+1))) then ! between k and k+1  
    290  
    291            prec_anomtime(:,:,:) = prec_anom(:,:,:,k) + (prec_anom(:,:,:,k+1)-prec_anom(:,:,:,k)) *   & 
    292                 (time-time_snap(k))/(time_snap(k+1)-time_snap(k)) 
    293            tmoi_anomtime(:,:,:) = tmoi_anom(:,:,:,k) + (tmoi_anom(:,:,:,k+1)-tmoi_anom(:,:,:,k)) *   & 
    294                 (time-time_snap(k))/(time_snap(k+1)-time_snap(k)) 
    295            if ((abs(time-time_snap(k)).le.dt).and.(abs(time-time_prec-1.).lt.dt)) then     
    296               time_prec = time_snap(k)     ! time_prec est le temps du precedent 
    297            endif 
    298            exit 
    299         endif 
    300      end do 
    301   endif 
    302  
    303  
     304 
     305  else 
     306      
     307     tmoi_anomtime(:,:,:) = 0. 
     308     prec_anomtime(:,:,:) = 1. 
     309      
     310  end if 
    304311   
    305312! put back climate fields on the topography of the model: 
Note: See TracChangeset for help on using the changeset viewer.