Changes between Version 10 and Version 11 of Branches/Driver_Improvements


Ignore:
Timestamp:
2016-05-26T13:15:43+02:00 (8 years ago)
Author:
aducharne
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Branches/Driver_Improvements

    v10 v11  
    1010 * the instantaneous value at t+dt of scalar variables :  Temperature, Wind Speed, Air Pressure and Specific Humidity.  
    1111 * the mean value between t and t+dt for fluxes : Long and Short Wave incoming Radiation and the Precipitation.  
    12 Where dt is the time step of the forcing file. 
     12Where dt is the time step of the forcing file.  
     13 
     14'''AD (26/5/16)''': Note that, in the above case, the time at which we read the forcing is t+dt. Let's introduce an index itau of the forcing records: itau=1 is the first record in the nc file for all variables, etc. 
     15Imagine we are currently reading the record itau_n, coming juste after the record itau_nm1. These are the notation of dim2driver/read2dim, and we have itau_n=itau_nm1+1. The "time_stamps" corresponding to these two records are separated by dt (the dt between two records, and not dt_sechiba: dt=split*dt_sechiba). To make the link with the above notations of time, the time stamp of the record itau_n is t+dt, and the one of of itau_nm1 is t. 
     16 
     17Now we need to remember where we are in the code, and what we need the forcing for. When we read itau_n, with values corresponding to t+dt, sechiba hasn't yet run between t and t+dt. It has run (or been initialized) up to t, with forcing controlled by the forcing records itau_nm1 and before. '''So when we read the record itau_n corresponding to the time stamp t+dt, we know the state of sechiba at t, the forcing values at t (from itau_nm1), and we want to correctly define the forcing variables over each dt_sechiba between t and t+dt (dt=split*dt_sechiba).''' 
     18 
     19For me, these are general principles which need to be true whichever the forcing if we decide to read together all the variables that have the same time stamp. The fact that fluxes are averages over a period of length dt after or before the time stamp can be dealt with in the above general framework, at the initialisation stage (but the latter is an opinion). 
    1320 
    1421 
    15  
    16 Interpolation 
     22== Interpolation ==  
    1723  * Instantaneous fields and the Long-Wave Radiation are then linearly interpolated for each model time-step t' (typically 1/2 hour) based on the values available at t and t+dt with t < t' < t+dt. ''Should we not change that for long-wave radiation so that we have one consistent procedure for scalars and another for fluxes ? '' 
    1824  * The Precipitation field is downscaled to model's temporal resolution using a step distribution function with one parameter (nb_spread, that is the number of half-hourly time steps over which we spread the precipitation). nb_spread can vary from 1 (all precipitations over a forcing time period (3 ou 6 hours) are put on the first model time step) to SPLIT_DT (number of integration time steps with a forcing time period, in that case, the precipitation are distributed uniformly). By default, nb_spread is set to 1. This default value is not appropriate for all climates and it would make sense to have typical values for various regions of the world (see thesis of T. d'Orgeval.).