Ignore:
Timestamp:
Apr 3, 2026, 4:34:51 PM (8 days ago)
Author:
jbclement
Message:

PEM:

  • Deletion of 'flux_ssice' ('zqdsdif_tot') from the "startfi.nc" as it is not needed.
  • Using the yearly average flux for the sublimating subsurface ice instead of the value at last timestep.
  • Keeping a clear separation between the subsurface ice flux and the surface ice tendency.
  • Making sure that subsurface ice depth is well given to the PCM at the end of the PEM (ice table VS layering).

JBC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/evolution/clim_state_init.F90

    r4157 r4170  
    205205use surf_ice,  only: set_is_h2o_perice_PCM, set_co2_perice_PCM
    206206use soil,      only: set_TI_PCM, set_inertiedat_PCM
     207use ice_table, only: set_coef_ssdif_PCM
    207208use display,   only: print_msg, LVL_NFO
    208209
     
    276277call set_tsoil_PCM(tmp3d)
    277278
     279call get_var_nc('coef_ssdif',tmp2d)
     280call set_coef_ssdif_PCM(tmp2d)
     281
    278282deallocate(tmp2d); allocate(tmp2d(ngrid,nsoil_PCM))
    279283call get_var_nc('inertiedat',tmp2d)
     
    282286call get_var_nc('inertiesoil',tmp3d)
    283287call set_TI_PCM(tmp3d)
    284 
    285 ! To do?
    286 !   h2oice_depth
    287 !   d_coef
    288 !   lag_co2_ice
    289288
    290289! Close/Deallocate
     
    398397                    !!! transition
    399398                    delta = depth_breccia
    400                     TI(i,index_breccia + 1,islope) = sqrt((layer(index_breccia + 1) - layer(index_breccia))/                       &
    401                                                                (((delta - layer(index_breccia))/(TI(i,index_breccia,islope)**2)) + &
    402                                                                ((layer(index_breccia + 1) - delta)/(TI_breccia**2))))
     399                    TI(i,index_breccia + 1,islope) = sqrt((layer(index_breccia + 1) - layer(index_breccia))/                  &
     400                                                          (((delta - layer(index_breccia))/(TI(i,index_breccia,islope)**2)) + &
     401                                                          ((layer(index_breccia + 1) - delta)/(TI_breccia**2))))
    403402                    do k = index_breccia + 2,index_bedrock
    404403                        TI(i,k,islope) = TI_breccia
     
    411410                !! transition
    412411                delta = depth_bedrock
    413                 TI(i,index_bedrock + 1,islope) = sqrt((layer(index_bedrock + 1) - layer(index_bedrock))/                   &
    414                                                        (((delta - layer(index_bedrock))/(TI(i,index_bedrock,islope)**2)) + &
    415                                                        ((layer(index_bedrock + 1) - delta)/(TI_breccia**2))))
     412                TI(i,index_bedrock + 1,islope) = sqrt((layer(index_bedrock + 1) - layer(index_bedrock))/                  &
     413                                                      (((delta - layer(index_bedrock))/(TI(i,index_bedrock,islope)**2)) + &
     414                                                      ((layer(index_bedrock + 1) - delta)/(TI_breccia**2))))
    416415                do k = index_bedrock + 2,nsoil
    417416                    TI(i,k,islope) = TI_bedrock
     
    427426        do i = 1,ngrid
    428427            if (inertiedat(i,index_breccia) < TI_breccia) then
    429                 inertiedat(i,index_breccia + 1) = sqrt((layer(index_breccia + 1) - layer(index_breccia))/                    &
    430                                                         (((delta - layer(index_breccia))/(inertiedat(i,index_breccia)**2)) + &
    431                                                         ((layer(index_breccia + 1) - delta)/(TI_breccia**2))))
     428                inertiedat(i,index_breccia + 1) = sqrt((layer(index_breccia + 1) - layer(index_breccia))/                   &
     429                                                       (((delta - layer(index_breccia))/(inertiedat(i,index_breccia)**2)) + &
     430                                                       ((layer(index_breccia + 1) - delta)/(TI_breccia**2))))
    432431                do k = index_breccia + 2,index_bedrock
    433432                    inertiedat(i,k) = TI_breccia
     
    442441        delta = depth_bedrock
    443442        do i = 1,ngrid
    444             inertiedat(i,index_bedrock + 1) = sqrt((layer(index_bedrock + 1) - layer(index_bedrock))/                    &
    445                                                     (((delta - layer(index_bedrock))/(inertiedat(i,index_bedrock)**2)) + &
    446                                                     ((layer(index_bedrock + 1) - delta)/(TI_bedrock**2))))
     443            inertiedat(i,index_bedrock + 1) = sqrt((layer(index_bedrock + 1) - layer(index_bedrock))/                   &
     444                                                   (((delta - layer(index_bedrock))/(inertiedat(i,index_bedrock)**2)) + &
     445                                                   ((layer(index_bedrock + 1) - delta)/(TI_bedrock**2))))
    447446        end do
    448447
Note: See TracChangeset for help on using the changeset viewer.