diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 18496e2d5665d170af76cff2403140af92a4f374..0000000000000000000000000000000000000000 --- a/INSTALL +++ /dev/null @@ -1,57 +0,0 @@ -$Id: INSTALL 127 2007-03-12 15:47:37Z ddagorne $ - -Installation: -------------- - Prérequis: - ---------- - - Prévoir l installation de plusieurs "toolbox" dans votre configuration - et mettre a jour votre path matlab pour y acceder .. - - - généralistes : - m_map : cartographie - timeplt : plot temporel multi parametres - nansuite : statistique élémentaire avec NaN - interface netCDF : - - - particulière aux application développé à l'US025 - - L ensemble de ces librairies est accessible sous - ftp://ftp.ifremer.fr/ifremer/ird/us191/oceano/lib/matlab - - voir: http://www.ird.fr/us191/ - pour les modalités pratique d installation - - - - recuperation via ftp des fichiers de tests - TSG , 'btl' et 'climato" - datatest.zip - - l'ensemble des données disponnibles est sur data.zip - - ------------- - - - le code actuel est prévu pour accéder "par défaut" - aux fichiers de données de voyages TSG et "bucket", - ainsi qu'aux fichiers de climatologies, - définies "en dur" dans le programme ( main.m) -et paramétrables au besoin par l utilisateur. - - - Decompresser le fichier d'exemple datatest.zip, - qui génère les répertoires d exemples de données des différents types - -Ces répertoires vont acceuillir les fichiers de données ( et résultats) -des différents types de TSG , ainsi que les fichiers nécessaires ( "bouteilles" , climatologies,.. ) - - mettre également a jour le path matlab pour utiliser ces modules - tsg-util - tsg-labview - - -puis - - - sous le repertoire d accueil tsg-main - lancer l icone "matlab" puis sous cet environnement - "main.m" ( run) - -A suivre... diff --git a/README b/README deleted file mode 100644 index 5ef628adeb886d2d2fb09116e5ab76e6551dad21..0000000000000000000000000000000000000000 --- a/README +++ /dev/null @@ -1,282 +0,0 @@ -$Id: README 128 2007-03-12 16:05:06Z ddagorne$ - -Installation: -------------- - voir fichier INSTALL - -Utilisation: ------------- - Lancer le script main depuis votre répertoire courant. - - selectionner un type de fichier TSG - correspondant a un voyage a analyser - - 4 choix : ( menu déroulant : type de fichier) - - TMERMO V3 (acq dos) .asc - - LABVIEW V1 .txt - - "DENIS" apres préparation "excel" .csv - - LABVIEW V2 .. entete "généraliste" .txt - - un "voyage" est identifié par - - un identificateur de navires - - l année du voyage - - le numero du voyage dans l année - -ex : pa0501 pour le PASTEUR , 1 er voyage de l année 2005 - - Pour un type de fichier, la liste de ceux ci apparait - ( menu déroulant : nom de fichier) - un click sur le nom du fichier dertermine le choix du voyage pour une session - l ensemble des fichiers produits ( et données auxilliaires) - fera référence a ce nom dfe voyage - - fichier "interne" de sauvegarde et d acces rapide - apres décodage ( .mat) - - fichier ASCII ( .dat) pour validation - - fichier "base de donnes" ( .xml) - Ces fichiers sont générées dans le répertoire de la donnée - - - fichier de "bucket" ( (.btl) si mesures bouteilles pendant le voyage - ( dans repertoire SSSBUCKET ..) - - - -1ere etape - ne faire qu une fois - -LECTURE - décodage et mise en forme de la donnée originale suivant sa provenance - - extraction des paramètres d instant ( YYYY-MM-DD-HH-MN-SS) et ce localmisation ( LAt-LON) - calcul de l instant "aboslu" matlab ( jour Julien .. 0000-01-01 = 0.0) - extraction des "variables" -SSTJ : SST "Jacket" du thermo -SSS : salinité -VIT : vitesse ( mesurée ou calculée) - -par les fichiers.asc .. calcul d un indicateur de vitesse (0/1) - ( le calcul de vitesse s avère impossible compte tenu de la précision de la localisation) - - extraction et stockage ( .mat , .dat) des valeurs extraites : - -d instant -( YYYY-MM-DD-HH-MN-SS et jour julien "matlab' ) - de position -LAT - LON - des variables -SST - SSS - VIT - - -Un graphique statique est alors affichée , - avec en fonction du temps les valeur de SSTJ , SSS LAT et LON - - - - 2 eme étape -ANALYSE INTERCATIVE - - apres le choix du fichier (type - nom) - on peut afficher et analyser interactivement les graphiques suivants - - -TRAJET : catographie LAT-LON - - possibilité de zoom - affichage des valeurs instant - position - parametres - sous le curseur ( point le plus proche de la trajectoire) - -SST-SSS-VIT vs TIM - - plot d evolution temporelle de 3 variables : SSTJ - SSS et VIT - possibilité de zoom - de défilement panoramique ( apres zoom) - - activer un seul bouton a la fois ( qui apparait alors en rouge) - dezoomage ( et retour taille oiriginale) par click droit ( et activation zoom) - dans la fenetre de zoom de départ !! - - !!! fonction a améliorer !!!!!! - - Il est possible de suivre une position temporelle ( vs tim) - en faisant apparaitre la position géographique de l instant de mesures - dans une fenetre de cartographie .. - - !!! pb de rafraichissement !!!! - - - autres graphiques construit suivant le meme principe - -SST-SSS-VIT-LAT-LON vs TIM - -SST-SST vs LAT - -SST-SS vs LON - - - - 3 eme étape -VALIDATION - - le fichier de validation est celui en ASCII ( .dat) - obtenus apres décodage . - les "flags" de qualité sont initialise à 0 ( pas de controle) - - En cours de cette étape de validation, il est toujours possible d activer - une SAUVEGARDE , qui prendra en compte les modifications en cours - - lors d une nouvelle session , l etape de validation repartira ce fichier - - - -on retrouve les outils d analyse de de l étape précédente - - TRAJET - SSS-SST vs TIME - - et les possibilites de ZOOM et DEFILEMENT - - -Le coeur de cette étape est la VALIDATION MANUELLE - ou l opérateur attribu un code de "Qualité" -aux mesures pour un instant données, et ceci suivant sont "appréciation" - - subjective - de la validité des mesures enregistrées - - Il choisi un code de QC ( Quality Control) - = 0 pas de QC - = 1 valide - = 2 probablement valide - = 3 probablement faux - = 4 faux - - menu déroulant : CHOIX DES CODES ( pour la SSS uniquement) - - puis click droit confirmation - -bouton "MANUELLE" qui active le chois d une zone -( actif uniquement suivant l axe TIM) - ou sera applique , sur les valeurs de SSS - le flag "QC" précédemment chosi - -cette opération peut se repeter plusieurs fois avec un meme code - -NB : remise a l etat initial en chosiSsant le code 0 , sur toute la durée du voyage - -cette option est compatible avec un zoom existant , - ce qui permet au besoin de chosir quelques points seulement. - -Une aide au choix des QC pour certaines zones , - est apporté par l affichage simultanée sur la courbe - temporelle de SSS, des valeurs climatologique , - encadrée des min-max +/- 3 ecarts types , apres la lecture - des valeurs correspondante , dans des CLIMATOLOGIES - Celles ci sont de 3 types (redondantes !!) - - - Levitus annuelle ( acces format netCDF ) - - - Levitus saisonniere - - pour l ensemble des océans - - - Atlantique Tropicale ( source A. Dessier) - -La résolution des ces climatologies étant d 1 degres , -les zones pret des cotes ne sont pas prise en compte - - voir aussi le traitement ECHANTILLON ( "bucket") qui affiche, - - si existance du fichier de mesure - - les valeurs de SSS mesurées in-situ pendant le voyage. - - - -Il est conseillé de terminer en passant le filtre 'AUTOMATIQUE" - -Outre les rejets de valeurs ( de SST et SSS) hors bornes physique, - cette operation necessite la saisie des valeurs "limites" des gradients - temporelle entre 2 points sucessif. Ces valmeurs peuvent etre appréciées - après l activation du bouton GRADIENT, qui apres calcul, - affiche la répartition de ceux ci dans une fenètre graphique - pour appreciation par l opérateur des valeurs limites. -( cas de "bruits" instrumentaux ) -le filtre automatique applique les flags d acceptation ou rejet ( 1 ou 4 ) - aux valmeurs SST et SSS , en modifiant éventuellmenet les valeurs précédente. - pour la SSTJ , ce st le seul contrOle pris en compte - -Ne pas oublier la sauvegarde , par l activation du bouton ENREGISTRER - qui va mettre a jour le fichier .dat , avec les modificatioons, - et reservir en entrée a une nouvelle étape de validation - - - 4 eme étape CORRECTION - - -Cette opération est effectuée en ajustant les valeurs de SSS du TSG, - par rapport a des mesures "bucket" réalisées pendant le trajet, -puis analysées a postérieuri. Ces valeurs de SSS sont réputés être "fiables" - et de qualité, cependant il peut exister des problemes, d ou une inspection visuelle - des echantillons "bouteilles" disponible pour un voyage. - - -a au préalable dans l etape de VALIDATION - -L'activation du bouton "ECHANTILLONS" affiche sur le graphique existant SSS vs TIM, - les valeurs de SSS "bucket" a l instant de la prise d'échantillon, - ainsi qu un graphique des ecarts SSS TSG-ech.. -Cette visualisation permet d apprecier visuellement l 'évolution des écartsa TSG-bucket, - puis de détecter eventuellement des mesures bucket abérentes ( fort ecart ), - qu il est nécerssaire d eliminer du jeu de données de controle . - - !!! --- élimination dans fichier et/ou intercative - flaguages des mesures bouteilles ??? - - - puis activation du bouton CORRECTION - qui active l algorithme définie par Delphine MATHIAS avec 4 etapes - - ETAPE 1: lissage des mesures TSG - methode de la moyenne glissante avec 1h pour l intervalle de temps - - ETAPE 2: co-location des prélevements et des mesures TSG - calcul de la difference donnée Bouteille - donnee TSG en chaque - point de co-localisation - - - ETAPE 3 : Calcul des valeurs médianes de correction: à chaque point de - comparaison, on attribue la médiane des corrections dans une fenètre de - 10 jours. Puis on interpole entre chaque mÃédiane pour avoir la correction - à appliquer en chaque point de donnéé TSG - - ETAPE 4 : applicatiuon de la correction - - on recupere ainsi les valeurs de SSS d origines et celles modifiées - - -Un graphique identique a celuyi de "VALIDATION" est de nouveau affiché - avec ces 2 valeurs de SSS - -Une nouvelle étape de SAUVEGARDE est necessaire pour prendre en compte -les modifications effctuées - - - - 5 eme étape - - SAUVEGARDE SGBD ( format XML) - formation des méta données ( enete XML) et 'DATA' - avec prise en compte des "flags" de qualité ( SST, SSS) et les valeurs de SSS - originales et corrigées - - Il est necessaire de saisir manuellement les parametres suivants - - code radio du navire - - nom du navire - - code de l instrument TSG du voyage - - - !!!!! a faire " boite de dialogue" de saisie des parametres - - - - - - - - - - diff --git a/docs/TSG-QC.doc b/docs/TSG-QC.doc deleted file mode 100644 index 9969e1f1895c4ec42131949eb1e233345da27db3..0000000000000000000000000000000000000000 Binary files a/docs/TSG-QC.doc and /dev/null differ diff --git a/tsg-labview/README.m b/tsg-labview/README.m deleted file mode 100644 index 785cb4679268e29b5e81ef8fd99c24972ebb1ca2..0000000000000000000000000000000000000000 --- a/tsg-labview/README.m +++ /dev/null @@ -1,39 +0,0 @@ -testrdtsglabview.m Sert a lancer la programme - -rdtsglabview.m Fonction de lecture principale -decodeficlabview.m Lecture et decodage -choixparametres.m Choix des parametres a conserver -decodestr.m Fonction generale de decodage - d'une ligne. - - - - chfile = - -past0603.txt - ->> [nblig,tab]=rdtsglabview(chfile) - -nblig = - - 12434 - - -tab = - -12434x1 struct array with fields: - An - Mois - Jour - Heure - Min - Sec - Lat - Lon - Sst - Sss - Cond - Sog - Cog - Raw - ndate \ No newline at end of file diff --git a/tsg-labview/choixparametres.m b/tsg-labview/choixparametres.m deleted file mode 100644 index f9c5056a1870bed5fad4618b42a3b6486a3a9167..0000000000000000000000000000000000000000 --- a/tsg-labview/choixparametres.m +++ /dev/null @@ -1,199 +0,0 @@ -function [choix, ColNo, paraName, nPara] = choixparametres( fid, DELIMITER ); -% -% $Id$ -% -% -% Cette fonction permet a l'utilisateur de choisir les parametres presents -% dans le fichier et qui seront utilises par le programme. -% Le choix se fait sur les parametres suivants : -% date, heure, lat, lon -% La fonction retournera systematiquement les parametres suivants -% cond, hcond, sog, cog -% -% [ColNo, nPara] = choixparametres( fid, DELIMITER ); -% -% Input -% fid ........... Numero logique du fichier a decoder -% DELIMITER ..... caractere separant chaque parametre a decoder sur -% une ligne -% -% output -% choix ......... String 'yes' ou 'cancel' qui indique si le programme -% doit s'arretter -% ColNo ......... Structure donnant pour chaque parametre le numero de -% la colonne a lire -% paraName ...... Intitule des parametres de la ligne d'entete -% nPara ......... Nombre de parametre total present dans le fichier -% -% ------------------------------------------------------------------------ - -% Initialisation de la structure indiquant le numero de colonnes des parametres -% presents dans le fichier intial et qui seront utilises dans TSG-QC -% -------------------------------------------------------------- -ColNo = struct( 'Date', 0, 'Time', 0, 'Lat', 0, 'Lon', 0, 'Temp', 0,... - 'Sal', 0, 'Cond', 0, 'Raw', 0, 'Sog', 0, 'Cog', 0); - -% Initialisation des indices de colonne de la conductivite et des valeurs -% brutes que l'on conserve systematiquement -% ----------------------------------------------------------------------- -condNo = 0; -rawNo = 0; - -% Lecture de la 1ere ligne -% -% ATTENTION : Je considere que cette ligne est la ligne d'entete -% FAIRE UN TEST POUR VERIFIER QUE C'EST BIEN UNE LIGNE D'ENTETE -% -------------------------------------------------------------- -firstLine = fgets( fid ); - -% Decode la ligne d'entete et place l'intitule de chaque colonne -% dans une variable de type 'cell' : paraName avec nPara elements -% ------------------------------------------------------------------- -[paraName, nPara] = decodestr( firstLine, DELIMITER ); - -% Convertit les intitules de chaque colonne en caracteres minuscules -% ------------------------------------------------------------------ -paraName = lower(paraName); - -% Tant que 'choix' est egal à 'yes' on propose a l'utilisateur -% de faire le choix des entetes. Si le choix est fait, 'choix' est -% positionne a 'ok' -% ------------------------------------------------------------ -choix = 'yes'; -while strcmp( choix, 'yes' ) - - % Affiche les entetes et demande un choix a l'utilisateur - % La fonction renvoie le numero des colonnes qui ont ete choisies - % - % --------------------------------------------------------------- - ind = 0; - for ipar = 1 : nPara - header = char( paraName(1, ipar) ); - - if strfind( header, 'pc date') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - elseif strfind( header, 'pc time') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - elseif strfind( header, 'sbe21_temp1') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - elseif strfind( header, 'sbe21_sal') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - elseif strfind( header, 'sbe21_cond') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - condNo = ipar; - elseif strfind( header, 'sbe21_raw') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - rawNo = ipar; - elseif strfind( header, 'latdec') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - elseif strfind( header, 'londec') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - elseif strfind( header, 'sog') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - elseif strfind( header, 'cog') ~= 0 - ind = ind + 1; - defAnsB(ind) = ipar; - end - - end % fin de boucle for ipar = - - % Affichage d'une 'boite a liste' pour le choix des parametres - % ------------------------------------------------------------ - [colParaNo, okCol] = listdlg('PromptString', 'Choix des paramètres',... - 'ListString', paraName, 'InitialValue', defAnsB); - - % Le programme conserve systematiquement la conductivite et les valeurs - % brutes - % --------------------------------------------------------------------- - if rawNo ~= 0 - i = find( colParaNo == rawNo ); - if isempty(i) - colParaNo = [colParaNo rawNo]; - end - end - if condNo ~= 0 - i = find( colParaNo == condNo ); - if isempty(i) - colParaNo = [colParaNo condNo]; - end - end - - if okCol == 1 - - % Le choix s'est bien passe - % ------------------------- - choix = 'ok'; - - % Boucle sur les numeros de colonnes des parametres qui seront conserves - % ---------------------------------------------------------------------- - if ~isempty(okCol) - for icol = 1 : length(colParaNo) - - % Convertion en caracteres - % ------------------------ - header = char( paraName(1, colParaNo(icol)) ); - - % Place les numeros des colonnes dans la structure - % ------------------------------------------------ - if strfind( header, 'date') ~= 0 - ColNo.Date = colParaNo(icol); - elseif strfind( header, 'time') ~= 0 - ColNo.Time = colParaNo(icol); - elseif strfind( header, 'lat') ~= 0 - ColNo.Lat = colParaNo(icol); - elseif strfind( header, 'lon') ~= 0 - ColNo.Lon = colParaNo(icol); - elseif strfind( header, 'temp') ~= 0 - ColNo.Temp = colParaNo(icol); - elseif strfind( header, 'sal') ~= 0 - ColNo.Sal = colParaNo(icol); - elseif strfind( header, 'cond') ~= 0 - ColNo.Cond = colParaNo(icol); - elseif strfind( header, 'raw') ~= 0 - ColNo.Raw = colParaNo(icol); - elseif strfind( header, 'sog') ~= 0 - ColNo.Sog = colParaNo(icol); - elseif strfind( header, 'cog') ~= 0 - ColNo.Cog = colParaNo(icol); - end - end - end - - % Gestion d'erreur - % ---------------- - if ColNo.Date == 0 - choix = questdlg('Date - Voulez-vous refaire votre choix ?',... - 'Aucune date choisie', 'yes', 'cancel', 'yes'); - elseif ColNo.Time == 0 - choix = questdlg('Heure - Voulez-vous refaire votre choix ?',... - 'Aucune heure choisie', 'yes', 'cancel', 'yes'); - elseif ColNo.Lat == 0 - choix = questdlg('Latitude - Voulez-vous refaire votre choix ?',... - 'Aucune latitude choisie', 'yes', 'cancel', 'yes'); - elseif ColNo.Lon == 0 - choix = questdlg('Longitude - Voulez-vous refaire votre choix ?',... - 'Aucune longitude choisie', 'yes', 'cancel', 'yes'); - end - - else - - % On annulle le choix des parametres. Le programme se termine - % ----------------------------------------------------------- - choix = 'cancel'; - - end % fin de test if okCol == 1 - -end % Fin de boucle While - -% Revient en debut de fichier -% --------------------------- -frewind(fid); diff --git a/tsg-labview/decodeficlabview.m b/tsg-labview/decodeficlabview.m deleted file mode 100644 index 5e05dfca092f6d19bc3c258298a601e12a76d4dd..0000000000000000000000000000000000000000 --- a/tsg-labview/decodeficlabview.m +++ /dev/null @@ -1,125 +0,0 @@ -function [date, time, lat, lon, sst, sss, cond, condRaw, sog, cog] =... - decodeficlabview( fid, DELIMITER, ColNo, paraName, nPara ); -% -% -% $Id$ -% -% -% Fonction qui permet de lire les fichiers au format LabView -% La fonction : -% - lit les lignes incompletes -% - elimine les lignes d'entetes qui peuvent se trouver a differents -% endroits du fichier -% -% ATTENTION : Je fais l'hypothese que la premiere ligne du fichier -% est une ligne d'entete -% -% input -% fid ........... Numero logique du fichier a decoder -% DELIMITER ..... caractere separant chaque parametre a decoder sur -% une ligne -% nPara ......... Nombre de parametre total present dans le fichier -% -% output -% date .......... Dates - Cellule -% time .......... Heure - Cellule -% lat .......... Latitude - Tableau de double -% lon .......... Longitude - Tableau de double -% sst .......... Temperature - Tableau de double -% sss .......... Salinite - Tableau de double -% cond .......... Conductivite - Tableau de double -% condRaw ....... Conductivite brute - tableau de chaine de caracteres -% sog .......... Vitesse du navire - Tableau de double -% cog .......... Cap du navire - Tableau de double -% -% ------------------------------------------------------------------- - - % Le nombre d'elements de l'entete determine le nombre de chaine a lire. - % Je cree ici la chaine de caractere decrivant le format utilise par - % textscan - % -------------------------------------------------------------- - format = []; - for i = 1:nPara - format = [format ' %s']; - end - - % textscan permet de lire a peu pres tout, memes les lignes - % incompletes, plus courtes. - % Par contre les données lues sont enregistrees dans une - % Cellule de cellule - % ATTENTION : - % dans le cas de lignes incompletes textscan n'utilise pas - % enptyValue mais une chaine de caracteres vide - % ----------------------------------------------------------- - data = textscan(fid, format, 'delimiter', DELIMITER, 'emptyValue', NaN); - - % Remplace les chaines de caracteres vides par des NaN - % ---------------------------------------------------- - for icell = 1:length( data ) - vide = find( strcmp( data{icell}, '' ) == 1); - for j = 1 : length(vide) - data{icell}{vide(j)} = 'NaN'; - end - end - - % Selectionne les numeros des lignes qui ne sont pas des entetes - % ATTENTION - % Je fais l'hypothese que la premiere ligne du fichier est une ligne - % d'entete - % ------------------------------------------------------------------ - date = char( data{ColNo.Date} ); - ient = strcmp( data{1}, data{1}{1} ); - ient = find(ient == 0); - - % Initialisation - % -------------- - nblig = length(ient); - date = cell(nblig, 1); - time = cell(nblig, 1); - lat = NaN*ones(nblig, 1); - lon = NaN*ones(nblig, 1); - sst = NaN*ones(nblig, 1); - sss = NaN*ones(nblig, 1); - cond = NaN*ones(nblig, 1); - %condRaw = NaN*ones(nblig, 1); - condRaw = char(blanks(1)*ones(nblig,1)); - sog = NaN*ones(nblig, 1); - cog = NaN*ones(nblig, 1); - - % Selection des parametres utiles au programme et conversion - % La date et l'heure sont stockes dans des cellules - % ---------------------------------------------------------- - if ColNo.Date ~= 0 - A = data(ColNo.Date); - B = char( A{1}(ient) ); - date = cellstr( B ); - end - if ColNo.Time ~= 0 - A = data(ColNo.Time); - B = char( A{1}(ient) ); - time = cellstr( B ); - end - if ColNo.Lat ~=0 - lat = str2num( char(data{ColNo.Lat}{ient}) ); - end - if ColNo.Lon ~= 0 - lon = str2num( char(data{ColNo.Lon}{ient}) ); - end - if ColNo.Temp ~= 0 - sst = str2num( char(data{ColNo.Temp}{ient}) ); - end - if ColNo.Sal ~= 0 - sss = str2num( char(data{ColNo.Sal}{ient}) ); - end - if ColNo.Cond ~= 0 - cond = str2num( char(data{ColNo.Cond}{ient}) ); - end - if ColNo.Raw ~= 0 - condRaw = char( data{ColNo.Raw}{ient} ); - end - if ColNo.Sog ~= 0 - sog = str2num( char(data{ColNo.Sog}{ient}) ); - end - if ColNo.Cog ~= 0 - cog = str2num( char(data{ColNo.Cog}{ient}) ); - end diff --git a/tsg-labview/decodestr.m b/tsg-labview/decodestr.m deleted file mode 100644 index 999d94e2f765bd6c1baa892197ef8535a2ab2c3c..0000000000000000000000000000000000000000 --- a/tsg-labview/decodestr.m +++ /dev/null @@ -1,57 +0,0 @@ -function [token, nToken] = DecodeStr( string, DELIMITER ) -% -% $Id$ -% -% Retourne les éléments d'une chaine de caractères séparés par -% un delimiteur (virgule, point-virgule, etc.) -% -% [Token, nToken] = LecSadcpQuart( String, Delimiter ) -% -% Input: -% string ...... Chaine de caractères à décimer -% DELIMITEUR ... Caractère séparant les différents élèments -% de la chaine de caractères -% -% Output: -% nToken ...... Nombre d'élèments distincts, séparés par 'Delimiter' -% dans la chaine de caractères 'String' -% token ....... Cellule de dimension (nToken, 1) contenant les -% différents éllèments de la chaine de caractère -% -% 5 janvier 2007 -% -% Modifications -% ---------------------------------------------------------------------- - -% Initialisation de la Cellule -% ---------------------------- -token = cell(1,1); - -% Decode le 1er élèment de la chaine de caractère -% Celui-ci est renvoye dans la chaine de caracteres 'Str' -% tandis que le reste de la chaine est renvoye dans 'Remain' -% ---------------------------------------------------------- -[str, remain] = strtok( string, DELIMITER); - -% Boucle sur l'ensemble de la chaine jusqu'a ce que Str soit vide -% --------------------------------------------------------------- -nToken = 0; -while strcmp( str, '' ) ~= 1 - - % Incremente le compteur d'elements lus - % ------------------------------------- - nToken = nToken + 1; - - % Stocke les elements lus dans une Cellule - % ---------------------------------------- - token(1, nToken) = cellstr(str); - - % Decode chaque element de la chaine de caractere - % ----------------------------------------------- - [str, remain] = strtok( remain, DELIMITER); - -end - -% Enleve les caracteres blanc de debut et de fin de chaque element -% ---------------------------------------------------------------- -token = strtrim(token); diff --git a/tsg-labview/rdtsglabview.m b/tsg-labview/rdtsglabview.m deleted file mode 100644 index c7930323161a5dbf94e2b934771b481066742399..0000000000000000000000000000000000000000 --- a/tsg-labview/rdtsglabview.m +++ /dev/null @@ -1,119 +0,0 @@ -function [nblig, DataIn] = rdtsglabview( fileName ) -% -% $Id$ -% -% Fonction de lecture des fichiers TSG issus du programme -% d'acquisition LabView XXX -% -% [nblig, ttt] = rdtsglabview( Fichier ) -% -% Input -% fileName ..... Nom du fichier a lire (chemin + nom fichier) -% -% Output -% nblig ........ Nombre de lignes du tableau 'ttt' -% DataIn ....... Tableau de structure -% -% DataIn(nblig).An, DataIn(nblig).Mois, DataIn(nblig).Jour -% DataIn(nblig).Heure, DataIn(nblig).Min, DataIn(nblig).Sec, -% DataIn(nblig).Lat, DataIn(nblig).Lon -% DataIn(nblig).Sst, DataIn(nblig).Sss, DataIn(nblig).Cond -% DataIn(nblig).Sog, DataIn(nblig).Cog -% DataIn(nblig).Raw, DataIn(nblig).ndate -% -% Ce sont des numérique a l'execption de 'Raw' qui sont des cellules de -% caracteres. -% -% Liste des intitules des colonnes dans les entetes des fichiers Labview : -% Date -% Pc Date - RMC_Date - ZDA_Date -% Heure -% Pc Time - RMC_Time - ZDA_Time - GLL_Time -% Position -% RMC_Latmn - RMC_Lonmn - RMC_Latdec - RMC_Londec - GGA_Latdec - GGA_Londec -% GLL_Latdec - GLL_Londec -% Mesures -% SBE21_Temp1 - SBE21_Sal - SBE21_Cond - SBE21_Raw -% Vitesse et cap -% RMC_Sog - RMC_Cog - 3026L_Cog - 3026L_Sog -% Autre -% RMC_Status - GGA_Hog - VTG True Track - T - Magn Track - M - Ground spd -% N - Ground Spd - K - dd - tete - ttt -% ----------------------------------------------------------------------------- - -disp(' -- DECODAGE LABVIEW --') - - -% Chaque colonne du fichier est separee par DELIMITER -% --------------------------------------------------- -DELIMITER = ','; - -% Parametres en sortie vides -% -------------------------- -nblig = 0; -DataIn = []; - -% Ouverture du fichier '.CSV' -% --------------------------- -fid = fopen( fileName, 'r'); - -% Teste si le fichier existe -% -------------------------- -if fid ~= -1 - - % Choix des parametres qui seront utilises par TSG-QC - % ColNo : structure des numeros de colonnes a conserver - % --------------------------------------------------- - [choix, ColNo, paraName, nPara] = choixparametres( fid, DELIMITER ); - - if strcmp( choix, 'ok' ) == 1 - - % Lecture et decodage du fichier TSG LabView - % ------------------------------------------ - [date, time, lat, lon, sst, sss, cond, condRaw, sog, cog] =... - decodeficlabview( fid, DELIMITER, ColNo, paraName, nPara ); - - % Indice des lignes pour lesquelles les dates - % ou les heures ne sont pas a NaN - % ------------------------------------------- - noNaN = find( strcmp( date, 'NaN') == 0 & strcmp( time, 'NaN') == 0 ); - - % Nombre de lignes du fichier et allocation de memoire - % ---------------------------------------------------- - nblig = length(sst); - an = NaN * ones( nblig, 1 ); - mois = an; jour = an; heure = an; min = an; sec = an; dateNo = an; - - % Decoupage de la Date : an, mois, jour, etc. - % Calcul de la date : numerique Matlab - % ------------------------------------------- - blanc = char(blanks(1)*ones(nblig,1)); - - [an(noNaN),mois(noNaN),jour(noNaN),heure(noNaN),min(noNaN),sec(noNaN)]... - = datevec( [char(date(noNaN)) blanc(noNaN) char(time(noNaN))],... - 'dd/mm/yyyy HH:MM:SS'); - dateNo(noNaN) = datenum(... - [char(date(noNaN)) blanc(noNaN) char(time(noNaN))], 'dd/mm/yyyy HH:MM:SS'); - - % Cree la structure definitive - % ---------------------------- - DataIn = struct('An', num2cell(an), 'Mois', num2cell(mois),... - 'Jour', num2cell(jour),'Heure', num2cell(heure), 'Min', num2cell(min),... - 'Sec', num2cell(sec), 'Lat', num2cell(lat), 'Lon', num2cell(lon),... - 'Sst', num2cell(sst), 'Sss', num2cell(sss), 'Cond', num2cell(cond),... - 'Sog', num2cell(sog), 'Cog', num2cell(cog), 'Raw', cellstr(condRaw),... - 'ndate', num2cell(dateNo) ); - - end % fin de boucle if strcmp(choix,'yes') - - % Fermeture du fichier - % -------------------- - fclose( fid ); - -else - - % Gestion d'erreur ouverture de fichier - % ------------------------------------- - msgbox(['Le fichier ' FicEntree( ific, :) ' n''existe pas'], 'Fichier') - -end diff --git a/tsg-labview/testrdtsglabview.m b/tsg-labview/testrdtsglabview.m deleted file mode 100644 index 5670e890977596a70b7b2868cee6932c14dac73c..0000000000000000000000000000000000000000 --- a/tsg-labview/testrdtsglabview.m +++ /dev/null @@ -1,55 +0,0 @@ -% Programme de lecture des fichiers '.CSV' issus de LabView -% -% --------------------------------------------------------- -clear -clc - -% Repertoire des fichiers a decoder -% --------------------------------- -% FILE_DIRECTORY =... -% 'F:\0-US025\UR-US Clientes\UR065 - LEGOS\UR065 - ORE SSS\Donnees\data'; - FILE_DIRECTORY ='./' - -% Se place dans le repertoire des fichiers a decoder -% Les 'blanc' dans le nom du repertoir impose d''encadrer -% le nom du repertoir de guillemets -% ------------------------------------------------------ -eval( ['cd ''' FILE_DIRECTORY ''''] ); - -% Nom du fichier a decoder -% ------------------------ -nFiles = 14; - -file(1, :) = 'coli0602.txt'; -file(2, :) = 'coli0603.txt'; -file(3, :) = 'coli0604.txt'; -file(4, :) = 'coli0605.txt'; -file(5, :) = 'coli0606.txt'; -file(6, :) = 'nokw0601.txt'; -file(7, :) = 'nokw0602.txt'; -file(8, :) = 'NUKA0601.TXT'; -file(9, :) = 'NUKA0602.TXT'; -file(10, :) = 'nuka0603.TXT'; -file(11, :) = 'nuka0604.TXT'; -file(12, :) = 'nuka0605.TXT'; -file(13, :) = 'past0601.TXT'; -file(14, :) = 'past0603.TXT'; - -% Boucle sur les Fichiers -% ----------------------- -for iFile = 1:1:14 - - tic - - % Lecture des fichiers Labviews - % ----------------------------- - display( file(iFile, :) ); - fileName = [FILE_DIRECTORY '\' file(iFile, :)]; - - [ nblig, DataIn] = rdtsglabview( fileName ); - - toc - -end % Fin de boucle For ific == - -display( 'Fin du programme' ); \ No newline at end of file diff --git a/tsg-main/anal_MAP_cb.m b/tsg-main/anal_MAP_cb.m deleted file mode 100644 index bd5e1628000c54bd37461457236e564db0b00fa2..0000000000000000000000000000000000000000 --- a/tsg-main/anal_MAP_cb.m +++ /dev/null @@ -1,44 +0,0 @@ -% anal_MAP_cb -% callback MAP ANALYSIS -% extraction .mat -% modif lat-lon si pacifique -% appel bloc blmap -% - -% $Id$ - - global dirTSG - global fic - -% saisie nom du fichier - %fic = input(' - fichier TSG.MAT ( sans extension .MAT) : ','s') - %TEST - %fic='TOTO' - ficmat=[dirTSG,fic,'.mat'] - load(ficmat) - -% -% on extrait des vecteurs - extmat - - lonmax = max(lon) - lonmin = min(lon) - londelt = lonmax - lonmin - nbrec= size(lon) - - % ============================================== - % cas du pacifique avec cght de date - if londelt > 350 - - for i=1:nbrec - if lon(i) < 0 - lon(i) = lon(i) + 360; - end - end - - end - % =========================================== - - % trace intercatif map - blmap - diff --git a/tsg-main/anal_TSLAT_cb.m b/tsg-main/anal_TSLAT_cb.m deleted file mode 100644 index 3a2a64a2d0b23d89ff3394c27ff2b5237f9df4be..0000000000000000000000000000000000000000 --- a/tsg-main/anal_TSLAT_cb.m +++ /dev/null @@ -1,17 +0,0 @@ -% anal_TScLL_cb -% - global dirTSG - global fic - -% saisie nom du fichier - ficmat=[dirTSG,fic,'.mat'] - load(ficmat) - -% -% on extrait des vecteurs - extmat - - % trace interactif T/S vs LAT - blTSLAT - - \ No newline at end of file diff --git a/tsg-main/anal_TSLON_cb.m b/tsg-main/anal_TSLON_cb.m deleted file mode 100644 index 279a637d3c27b4a9fb29e9838ec9a9a9ac5d79e6..0000000000000000000000000000000000000000 --- a/tsg-main/anal_TSLON_cb.m +++ /dev/null @@ -1,17 +0,0 @@ -% anal_TSLON_cb -% - global dirTSG - global fic - -% saisie nom du fichier - ficmat=[dirTSG,fic,'.mat'] - load(ficmat) - -% -% on extrait des vecteurs - extmat - % - % trace interactif TS vs LON - blTSLON - - \ No newline at end of file diff --git a/tsg-main/anal_TSVLL_cb.m b/tsg-main/anal_TSVLL_cb.m deleted file mode 100644 index 297bdb6bf4a8bae903b62a8ad761619dea337c31..0000000000000000000000000000000000000000 --- a/tsg-main/anal_TSVLL_cb.m +++ /dev/null @@ -1,16 +0,0 @@ -% anal_TS_cb -% - global dirTSG - global fic - -% saisie nom du fichier - ficmat=[dirTSG,fic,'.mat'] - load(ficmat) - -% on extrait des vecteurs -% formation titre - extmat - - % - % trace ineractif T S V Lat Lon vs time - blTSVLL diff --git a/tsg-main/anal_TSVm_cb.m b/tsg-main/anal_TSVm_cb.m deleted file mode 100644 index 73067719b023d0411758581b0dca29a1b86fe25a..0000000000000000000000000000000000000000 --- a/tsg-main/anal_TSVm_cb.m +++ /dev/null @@ -1,22 +0,0 @@ -% anal_TSVm_cb -% -% callback ANALYSIS param-time et CARTO -% extraction .mat -% appel bloc - -% $Id$ -% - global dirTSG - global fic - -% saisie nom du fichier - ficmat=[dirTSG,fic,'.mat'] - load(ficmat) - -% -% on extrait des vecteurs - extmat - - % - % trace ineractif T S V Lat Lon vs time - blTSV diff --git a/tsg-main/core_SSS_cb.m b/tsg-main/core_SSS_cb.m deleted file mode 100644 index b473ffa8ad074f517f168075753f1d2e60d4e46f..0000000000000000000000000000000000000000 --- a/tsg-main/core_SSS_cb.m +++ /dev/null @@ -1,90 +0,0 @@ -% main correction SSS -% -% callback correction -% lecture .dat -% appel function correction ( Delphine Matias) -% appel TSVcor .. replot des modif SSS -% -% -% lecture .DAT -% sauvegarde .DAT ( fichier ASCII ) -% -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -% flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor -% -% validation interactif T et S vs time et vitesse - % clear all - global dirTSG - global fic - -% saisie nom du fichier mat ( ou DAT ???) -%ficmat=[dirTSG,fic] -%load(ficmat) - -ficdat=[dirTSG,fic,'.dat'] -tab = load(ficdat); - -% -% on extrait des vecteurs -% voir si extmat serait OK ???? - - % flag QC sst et sss - flsst = tab(:,1); - flsss = tab(:,2); - - yyyy = tab(:,3); - mm = tab(:,4); - dd = tab(:,5); - hh = tab(:,6); - mn = tab(:,7); - ss = tab(:,8); - - % jour julien - tjy = tab(:,9); - - % parametres - lat = tab(:,10); - lon = tab(:,11); - vit = tab(:,12); - sst = tab(:,13); - sss = tab(:,14); - - % nbre de record fichier TSG - %nbrec = size(tjy) - nbrec=length(tjy); - - % vecteur avec latitude non definie - klat=isnan(lat); - - % date debut - fin - datedeb=datenum(yyyy(1),mm(1),dd(1),hh(1),mn(1),ss(1)); - datefin=datenum(yyyy(nbrec),mm(nbrec),dd(nbrec),hh(nbrec),mn(nbrec),ss(nbrec)); - - %titre des figures - chtitle = [fic,' ',datestr(datedeb,24),' - ',datestr(datefin,24)]; - - - % algo correction - [ncfile_name,sss_tsg_cor,tab_0,vbuck_0,sss_tsg_lis,tab_lis,TSG_co,SAL_diff,Points_elimines,COR,erreur_mediane,COR_mediane,datestr_TSG,datestr_Bucket]=correction(tab,vbuck,fic) - - % on recupere - % les donnes originales sss --> sssori - % les SSS corrigées sss_tsg_cor ---> sss - sssori = sss; - - sss = []; - sss=sss_tsg_cor; - - % calcul gradient dans module valid - % ==================================================== - - % trace interactif T S V vs time .. et validation sauvegarde - % bucket Climato ... - blTSVcor - - % -% %titre -% %title(fic) -% hold off -% subplot(3,1,1) -% HT = title(chtitle,'FontSize',15,'FontWeight','bold') diff --git a/tsg-main/correction00.m b/tsg-main/correction00.m deleted file mode 100644 index 92100f7a0a801d47a7a19bedabaf2aba216b7116..0000000000000000000000000000000000000000 --- a/tsg-main/correction00.m +++ /dev/null @@ -1,288 +0,0 @@ -%function [ncfile_name,sss_tsg_cor,tab_0,vbuck_0,sss_tsg_lis,tab_lis,TSG_co,SAL_diff,Points_elimines,COR,erreur_mediane,COR_mediane,datestr_TSG,datestr_Bucket]=correction(tab,vbuck,fic) - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Etape 0 : Nettoyage des donnees -% - elimination qd pas de position, pas de salinite, pas de date - -% function [tab_0,vbuck_0]=etape0_nett_donnes(tab,vbuck) - -tab_01=tab(find(tab(:,9)<datenum(2006,01,01)),:); -tab_02=tab_01(find(tab_01(:,10)<90 & tab_01(:,10)>-90),:); -tab_03=tab_02(find(tab_02(:,11)<180 & tab_02(:,11)>-180),:); -tab_04=tab_03(find(tab_03(:,14)<45 & tab_03(:,14)>1), :); - -tab_0=tab_04; - -vbuck_0=vbuck(find(vbuck(:,9)<45),:); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ETAPE 1: lissage des mesures TSG -% methode de la moyenne glissante avec 1h pour l intervalle de temps - -% function [sss_tsg_lis,tab_lis]=etape1_lissage_tsg(tab_0) - - sss_tsg=tab_0(:,14); % salinite - tjmat=tab_0(:,9) ; % temps - inttsg=1/24; % intervalle de temps pour la moyenne glissante : 1 heure - smin=1; smax=45; %limites acceptables en salinite (psu) - ectlim=0.005; - -for ns = 1:length(sss_tsg) - cond1 = tjmat>=tjmat(ns)-inttsg/2 & tjmat<tjmat(ns)+inttsg/2 ; % points dans l'intervalle considere - cond2 = sss_tsg~=9999 ; % exclusion des points aberrants - is = find(cond1 & cond2) ; in = is ; - if ~isempty(in) - ect = Inf ; ectprec = 0 ; - while ect>ectlim & ect~=ectprec - ectprec = ect ; - ect = std(sss_tsg(in)) ; moy = mean(sss_tsg(in)) ; % ecart-type, moyenne sur l'intervalle - in = find(sss_tsg(is)>=moy-ect & sss_tsg(is)<=moy+ect) ; in = is(in) ; % indice des points pris en compte - end - sss_tsg_lis(ns) = mean(sss_tsg(in)); - tjmat_lis(ns)=tjmat(ns); - else - sss_tsg_lis(ns) = 9999 ; - tjmat_lis(ns)=9999; - end -end - -tab_lis=tab_0; - -tab_lis(:,14)=sss_tsg_lis; -tab_lis(:,9)=tjmat_lis; - - -figure - -plot(tab(:,9),tab(:,14),'color','b','LineWidth',1) -hold on -plot(tab_lis(:,9),tab_lis(:,14),'color','r','LineWidth',1) -hold on -datetick('x',20) - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ETAPE 2: co-location des prelevements et des mesures TSG -% calcul de la difference donnée Bouteille - donnée TSG en chaque -% point de co-localisation - -% exclusion des points aberrants (ecart trop grand.....à definir par ex: -% SAL_diff>mean(SAL_diff)++3*std(SAL_diff) - - -% function [TSG_co,SAL_diff,Points_elimines,COR,erreur_mediane,erreur1,erreur2,COR_mediane]=etape3_tsg_co(tab_lis,vbuck_0,tab) - - -sss_tsg_lis=tab_lis(:,14); % extraction des données salinité du TSG -tjmat_lis=tab_lis(:,9); -tjmat=tab(:,9); - - -[rB,cB]=size(vbuck_0); -TSG_co=[0 0 0 0 0]; % initialisation de la matrice de co-localisation -Points_elimines=[0 0 0 0 0]; %points eliminés.....rajouter la position -% on recherche les mesures du TSG qui sont co-localisées avec les -% prélèvements bouteilles +/- 5 minutes (imprecision du temps des -% prélèvements et temps d aquisition du TSG) - -for i=1:rB - A=abs(tab_lis(:,9)-vbuck_0(i,6)); -B=find(A==min(A)); -cond1=A(min(B))<0.0035; -cond1=A(min(B))>0.0035; - if A(min(B))<0.05 & sss_tsg_lis(min(B))~=9999 % 0.0035 = 5 minutes = durée d echantillonage du TSG - TSG_co=[TSG_co;[tab_lis(min(B),9) tab_lis(min(B),10) tab_lis(min(B),11) sss_tsg_lis(min(B)) vbuck_0(i,9)]]; - Points_elimines = Points_elimines; - - elseif A(min(B))>0.05 - TSG_co=TSG_co; - Points_elimines = [Points_elimines;[vbuck_0(i,6) tab_lis(min(B),10) tab_lis(min(B),11) vbuck_0(i,9) 9999]]; - - elseif sss_tsg_lis(min(B))==9999 - TSG_co=TSG_co; - Points_elimines = [Points_elimines;[vbuck_0(i,6) tab_lis(min(B),10) tab_lis(min(B),11) vbuck_0(i,9) 9999]]; - - end -end - -[rT,cT]=size(TSG_co); -TSG_co=TSG_co(2:rT,:); %TSG_co = [ datenum TSG Bucket] - -[rP,cP]=size(Points_elimines); -Points_elimines=Points_elimines(2:rP,:); - -% calcul de la difference entre les deux valeurs de salinite - -SAL_diff=TSG_co(:,5)-TSG_co(:,4); % Bucket - TSG - -TSG_co=[TSG_co SAL_diff] ; % [ datenum TSG Bucket diff ] - - -% exclusion des points aberrants (ecart trop grand) - -A=find(SAL_diff<(median(SAL_diff)+3*std(SAL_diff))); - -TSG_co=TSG_co(A,:); - -B=find(SAL_diff>(median(SAL_diff)+3*std(SAL_diff))); -C=find(SAL_diff==(median(SAL_diff)+3*std(SAL_diff))); - -if ~isempty(B) -Points_elimines=[Points_elimines;[vbuck_0(B,6) tab_lis(B,10) tab_lis(B,11) vbuck_0(B,9) SAL_diff(B)]]; -end - -if ~isempty(C) -Points_elimines=[Points_elimines;[vbuck_0(C,6) tab_lis(C,10) tab_lis(C,11) vbuck_0(C,9) SAL_diff(C)]]; -end - -SAL_diff=TSG_co(:,6); - -[rT,cT]=size(TSG_co); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% Calcul des valeurs médianes de correction: à chaque point de -% comparaison, on attribue la médiane des corrections dans une fenêtre de -% 10 jours. Puis on interpole entre chaque médiane pour avoir la correction -% à appliquer en chaque point de donnée TSG - -interv = 10 ; % fenêtre de temps = 10 jours pour le calcul des valeurs médianes de correction - - - -COR_mediane=[0 0]; -erreur_mediane =[0 0]; - -for ns = 1:length(TSG_co(:,1)) - - is=find(TSG_co(:,1)>TSG_co(ns,1)-interv/2 & TSG_co(:,1)<TSG_co(ns,1)+interv/2); - if ~isempty(is) - COR_mediane=[COR_mediane;[ TSG_co(ns,1) median(TSG_co(is,6))]]; - erreur_mediane=[erreur_mediane;[std(SAL_diff(is))/sqrt(length(is)) length(is)]]; - else COR_mediane=COR_mediane; - erreur_mediane = erreur_mediane; - end -end - -COR_mediane=COR_mediane(2:length(COR_mediane),:); -erreur_mediane = erreur_mediane(2:length(erreur_mediane),:); - - -erreur_mediane(find(erreur_mediane(:,2)<4),1)=1; - -if COR_mediane(1,1)~=tjmat(1) -COR_mediane=[[tjmat(1) COR_mediane(1,2)];COR_mediane] -end - -if COR_mediane(length(COR_mediane),1)~=tjmat(length(tjmat)) -COR_mediane=[COR_mediane;[tjmat(length(tjmat)) COR_mediane(length(COR_mediane),2)]]; -end - - -COR=interp1(COR_mediane(:,1),COR_mediane(:,2),tjmat); - -erreur_mediane = [TSG_co(:,2:3) erreur_mediane]; % coordonnées des points de comparaison - erreur sur la comparaison en ces points - nombre de prelevements utilisés pour la correction - - - -% function [sss_tsg_cor]=etape4_correction_recherche2(TSG_co,tab,COR) - - - -tjmat=tab(:,9); % Vecteur de temps du TSG -sss_tsg=tab(:,14); % Vecteur de salinité du TSG -tjmat_lis=tab_lis(:,9); -time_co=(TSG_co(:,1)); % Vecteur de temps des points de comparaison - - - -sss_tsg_cor=sss_tsg+COR; %salinité initiale corrigée - - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% representation graphique - -figure - -plot(tjmat,sss_tsg,'color','b','LineWidth',1) -hold on -plot(tjmat,sss_tsg_cor,'color','r','LineWidth',1) -hold on -scatter(TSG_co(:,1),TSG_co(:,5),100,'+g') -hold on -datetick('x',20) - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% trajectoire et prelevements bouteille - - - -LAT=tab_lis(:,10); -LON=tab_lis(:,11); - -% LAT_tsg=LAT(find(tab2(:,14)~=NaN)); -% LON_tsg=LON(find(tab2(:,14)~=NaN)); - -LAT_bucket_ok=[TSG_co(:,2)]; -LON_bucket_ok=[TSG_co(:,3)]; - -LAT_bucket_elimines=[Points_elimines(:,2)]; -LON_bucket_elimines=[Points_elimines(:,3)]; - - - -latmin = min(LAT) - 10.; -latmax = max(LAT) + 10.; -lonmin = min(LON) - 10. ; -lonmax = max(LON) + 10. ; - -figure - -m_proj('Equidistant Cylindrical','lat',[latmin latmax],'long',[lonmin lonmax]); -%m_proj('miller','lat',[35 65],'long',[-50 0]); - -% trait de cote -m_coast('patch',[0.9 0.9 0.9]); -hold on - -m_grid -hold on - -% trait -h1 = m_plot(LON,LAT,'b'); -%h2 = m_plot(LON,LAT,'+r','MarkerSize',2); -h3 = m_plot(LON_bucket_ok,LAT_bucket_ok,'+g','MarkerSize',10); -h4 = m_plot(LON_bucket_elimines,LAT_bucket_elimines,'+r','MarkerSize',10); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% variables de sortie supplémentaires - -% tab(:,9) : jours juliens matlab: depuis 01/01/0000 - -datestr_TSG=datestr(1.00001,'yyyymmddHHMMSS'); -for i=2:length(tab) - datestr_TSG=[datestr_TSG;datestr(1.00001,'yyyymmddHHMMSS')]; -end - -datestr_TSG(find(tab(:,9)<datenum(2006,01,01)),:)=datestr(tab_01(:,9),'yyyymmddHHMMSS'); % date des mesures TSG sous le format 'dd-mmm-yyyy hh:mm:ss' -datestr_Bucket=datestr(vbuck(:,6),'yyyymmddHHMMSS'); % date des prélèvements sous le format 'dd-mmm-yyyy hh:mm:ss' - -[nl,nc]=size(vbuck); -[nl_TSG_co,nc_TSG_co]=size(TSG_co); - -jj_TSG=tab(:,9) - ones(length(tab),1)*datenum(1950,01,01,0,0,0); % date des mesures TSG en jours juliens depuis 01/01/1950 -jj_Bucket=vbuck(:,6) - ones(nl,1)*datenum(1950,01,01,0,0,0); % date des prélèvements en jours juliens depuis 01/01/1950 - - -ncfile_name = fic; - - - diff --git a/tsg-main/deco_TS_cb.m b/tsg-main/deco_TS_cb.m deleted file mode 100644 index 5a4da62dea215574a220fcbbf0db01298746734c..0000000000000000000000000000000000000000 --- a/tsg-main/deco_TS_cb.m +++ /dev/null @@ -1,167 +0,0 @@ -% deco_TS_cb -% -% decodage fichier TSG -% suivant type fichier input ( valific) -% = 1 : ASC -% = 2 : LAB -% = 3 : labview modif .csv -% = 4 : labview général ( Y. Gouriou) -% -% decodage TSG et formation .mat -% -% ecriture .DAT -% - -%$Id$ - -% repertoire et fichier generique - global dirTSG - global fic - - % lecture - decodage TSG - % retour tab ( 14 parametres ) - - % construction nom du fichier - %P.. de point d extension !!!! - %fichier = [dirTSG,fic,'.',extTSG]; - -switch valific - % - case 1 - % fichier .ASC thermo V3 - fichier = [dirTSG,fic,'.ASC']; - [nblig,tab] = rdtsgasc(fichier); - - case 2 - % fichier .TXT TSG labview - fichier = [dirTSG,fic,'.TXT']; - [nblig,tab] = rdtsglab(fichier); - - case 3 - % fichier NEW Denis Diverres - fichier = [dirTSG,fic,'.csv']; - [nblig,tab] = rdtsgnew(fichier); - - case 4 - % fichier LABVIEW David Varillon - fichier = [dirTSG,fic,'.txt']; - [nblig,str] = rdtsglabview(fichier); - - % str est une structure !!!! - for ilig=1:nblig - tab(ilig,3)=str(ilig).An; - tab(ilig,4)=str(ilig).Mois; - tab(ilig,5)=str(ilig).Jour; - tab(ilig,6)=str(ilig).Heure; - tab(ilig,7)=str(ilig).Min; - tab(ilig,8)=str(ilig).Sec; - - tab(ilig,9)=str(ilig).ndate; - - tab(ilig,10)=str(ilig).Lat; - tab(ilig,11)=str(ilig).Lon; - - tab(ilig,12)=str(ilig).Sog; - - tab(ilig,13)=str(ilig).Sst; - tab(ilig,14)=str(ilig).Sss; - - end - - - -% case 3 -% % fichier .TDM (??) extraction oracle -% fichier = [dirTSG,fic,'.TDM']; -% [nblig,tab] = rdTSGTDM(fichier); -% -% case 4 -% % real time -% fichier = [dirTSG,fic]; -% [nblig,tab] = rdTSGRT(fichier); -% -% case 5 -% % CORIOLIS -% fichier = [dirTSG,fic,'.nc']; -% [nblig,tab] = rdTSGCOR(fichier); -% -% case 6 -% % LEGOS -% fichier = [dirTSG,fic]; -% [nblig,tab] = rdTSGLEG(fichier); - - -end - -% test et sortie premiminaire - -% on extrait des vecteurs - lat = tab(:,10); - lon = tab(:,11); - - vit = tab(:,12); - - sst = tab(:,13); - sss = tab(:,14); - - % construction jour julien absolu (pour timeplt) - tjj(:,1:6) = tab(:,3:8); - tjd=julian(tjj); - - % time plot - figure - %hp = timeplt(tjd,[lat lon vit sss sst],[1 2 3 4 5]) - hp = timeplt(tjd,[lat lon sss sst],[1 2 3 4]) - % - title(fichier) - - % on prevoit les colonnes supplementaires ecart-type et valeurs corrigées - tab(:,15:18) = 0.; - % - %===================================================================== - - % sauvegarde MAT - % - % pour sauvegarder le RT ailleurs que dans le repertoire ftp !! -% if(valific == 4) -% dirTSG = 'D:\SSSTSGRT\'; -% end - - fichier = [dirTSG,fic,'.mat'] - save(fichier,'tab') - - %========================================================================= - % sauvegarde DAT fichier ASCII .. - - % - % taille - [nblig nbcol] = size(tab) -% -% sauvegarde ASCII TSG ... - fichier=[dirTSG,fic,'.dat'] - % - fid=fopen(fichier,'w') - % - % ecriture ligne meta data - % - % remplissage ttt final -% -for ilig=1:nblig - % - if(mod(ilig,1000)==0) disp(ilig); - end - % - % formation ligne a ecrire - -%line = [flsst flsss tyy tmo tdd thh tmn tss tjd lat lon vit sst sss sdsst sdsss sstcor ssscor]; -line = tab(ilig,:); - % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - % flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor - %fprintf(fid,'%2d %2d %5d %3d %3d %3d %3d %3d %10.5f %10.3f %10.3f %5.1f %10.3f %10.3f %5.3f %5.3f %10.3f %10.3f\n',line); - fprintf(fid,'%2d%2d%5d%3d%3d%3d%3d%3d%15.5f%10.3f%10.3f%5.1f%10.3f%10.3f%6.3f%6.3f%10.3f%10.3f\n',line); - % -end -% -fclose(fid); - -% diff --git a/tsg-main/edit_TS_cb.m b/tsg-main/edit_TS_cb.m deleted file mode 100644 index cc39996f864652f4e7db6e877f0120260dac72db..0000000000000000000000000000000000000000 --- a/tsg-main/edit_TS_cb.m +++ /dev/null @@ -1,39 +0,0 @@ -% edit_TS_cb -% -% radical fichier TSG a traiter - -% $Id$ - -global fic - -%recuperation du nom de fichier dans le pop up menu -popupfic = findobj('tag','edit0'); -ival = get(popupfic,'value'); -% -% on recupere la cellule -dfile=get(gco,'String'); -fichier=dfile{ival} -% -% -% extraction nom du fichier "generique" -% -% taille du nom de fichier -sf=size(fichier); -% taille extension seul -se=size(extTSG); - -% modif taille si extension non nul -% prise en compte du point !!!! -% pas tres beau !!! - - if(se(2) == 0); -see=se(2); -else - see=se(2)+1; -end - - -% taille radical -lnam=sf(2)- see; - -fic=fichier(1:lnam) diff --git a/tsg-main/extmat.m b/tsg-main/extmat.m deleted file mode 100644 index 4d5dfee54b82a1fd3d00d0d1fd08f71c69759b46..0000000000000000000000000000000000000000 --- a/tsg-main/extmat.m +++ /dev/null @@ -1,54 +0,0 @@ - % extmat - % extraction parametres fichier .mat ( .dat ???) - % - % formation titre graphique chtitle - % nom fichier - date debut / fin - - % $Id$:wq - - - yyyy = tab(:,3); - mm = tab(:,4); - dd = tab(:,5); - hh = tab(:,6); - mn = tab(:,7); - ss = tab(:,8); - - % jour julien matlab - %( on garde l ancien nom !!) - tjy = tab(:,9); - - lat = tab(:,10); - lon = tab(:,11); - - vit = tab(:,12); - - sst = tab(:,13); - sss = tab(:,14); - - % construction jour julien annee en cours (debut) - tjj(:,1:6) = tab(:,3:8); - tjd=julian(tjj); - % - % nbre de record fichier TSG - 1 dimension - nbrec = length(tjy) - - % date debut - fin - datedeb=datenum(yyyy(1),mm(1),dd(1),hh(1),mn(1),ss(1)); - datefin=datenum(yyyy(nbrec),mm(nbrec),dd(nbrec),hh(nbrec),mn(nbrec),ss(nbrec)); - - % vecteur des tickmark X - jdeb=floor(datedeb) - jfin=ceil(datefin) - - xtickvec=[jdeb:5:jfin]; - - % vecteur date 1-jan-0000 - datevec=datenum(yyyy,mm,dd,hh,mn,ss); - - % vecteur avec latitude non definie - klat=isnan(lat); - - %titre des figures - chtitle = [fic,' ',datestr(datedeb,24),' - ',datestr(datefin,24)]; - diff --git a/tsg-main/main.m b/tsg-main/main.m deleted file mode 100644 index 7e69c7ec633050775d6325fe2bb708f837255a94..0000000000000000000000000000000000000000 --- a/tsg-main/main.m +++ /dev/null @@ -1,157 +0,0 @@ -% TSG-MAIN1 -% -% interface traitement TSG -% -% appel des boutons -% -% choix type fichier TSG -% -% decodage TSG -% -% carto -% -% analyse TSVLL vs time -% analyse TSV - carto -% analyse TS vs LAT -% analyse TS vs LON - -% validation -% -% SGDB -% -% quit - -% $Id$ -% -clear all - -% repertoire fichier SSS Climato -global dirSSSCLIM -global dirSSSCLIMAN - -% repertoire fichier TSG ( ASC/TXT/TDM , mat, dat,) -global dirTSG - -% nom generique fichier voyage ( sans extension) -global fic -% -% =========================================== -% variables d environnement A DEFINIR -% les repertoires et extensions des fichiers TSG sont définis dans setific - -% repertoire fichiers climato SSS -% atalantique -dirSSSCLIM = '..\SSSAD2\'; -% globale annuelle -dirSSSCLIMAN = '..\SSSlev1\'; - -% repertoire fichier data BUKKET ( .BUK ) -dirBUK = '..\SSSBUCKET\'; - -% initialiser egalement les repertoires de données dans setific -% -% ================================================= - -% creation fenetre generale -fig0 = figure( 'position',[20 40 200 680],... - 'name','VALIDATION TSG',... - 'tag','fig0',... - 'MenuBar','none'); -% - - - % % type fichier par pop up - %creation du texte "nom de fichier" - text0 = uicontrol( 'style','text',... - 'ForegroundColor','k',... - 'position', [20 625 150 20],... - 'string',' Type fichier TSG : ',... - 'HorizontalAlignment','left'); - - % setific retourne le repertoire et l extension des fichiers TSG a traiter - % ainsi que lea structure dfile - %setific realise egalement un clear all - bific=uicontrol('style','popupmenu',... - 'position',[20 600 150 20],... - 'string',['ASC : thermo V3 ',... - '|TXT : Labview old',... - '|NEW : traitement Denis',... - '|LAB : Labview new '],... - 'callback','setific') -% ' |TDM : oracle|RTT : Real Time ',... -% ' |COR : CORIOLIS|LEG : Legos '],... - - - - % - % decodage - deco0 = uicontrol( 'style','pushbutton',... - 'position',[20 500 150 30],... - 'string','DECODAGE TSG',... - 'tag','deco0',... - 'callback','deco_TS_cb'); - - % analyse carto - cart0 = uicontrol( 'style','pushbutton',... - 'position',[20 450 150 30],... - 'string',' ANALYSE CARTO',... - 'tag','cart0',... - 'callback','anal_MAP_cb'); - - % analyse TSV et carto interactive - analm = uicontrol( 'style','pushbutton',... - 'position',[20 400 150 30],... - 'string','ANALYSE TSV-t/carto',... - 'tag','anal0',... - 'callback','anal_TSVm_cb'); - - % analyse TSVLL vs t - anal0 = uicontrol( 'style','pushbutton',... - 'position',[20 350 150 30],... - 'string','ANALYSE TSVLL-t',... - 'tag','anal0',... - 'callback','anal_TSVLL_cb'); - - % - % analyse TS vs LAT - anala = uicontrol( 'style','pushbutton',... - 'position',[20 300 150 30],... - 'string','ANALYSE TS-LAT',... - 'tag','analat',... - 'callback','anal_TSLAT_cb'); - - % analyse TS vs LON - analo = uicontrol( 'style','pushbutton',... - 'position',[20 250 150 30],... - 'string','ANALYSE TS-LON',... - 'tag','analon',... - 'callback','anal_TSLON_cb'); - % - % validation - vali0 = uicontrol( 'style','pushbutton',... - 'position',[20 200 150 30],... - 'string','VALIDATION',... - 'tag','vali0',... - 'callback','vali_TSV_cb'); - - % Correction - core0 = uicontrol( 'style','pushbutton',... - 'position',[20 150 150 30],... - 'string','CORRECTION-S',... - 'tag','core0',... - 'callback','core_SSS_cb'); - % - % sauv SGDB - sauv0 = uicontrol( 'style','pushbutton',... - 'position',[20 100 150 30],... - 'string','sauv SGBD',... - 'tag','sauv0',... - 'callback','sgbd_TS_cb'); - - % creation quitter - quit0 = uicontrol( 'style','pushbutton',... - 'position',[20 20 150 30],... - 'string',' QUIT ',... - 'callback','quit_cb'); - - diff --git a/tsg-main/main1.m b/tsg-main/main1.m deleted file mode 100644 index bc9584a85d66ba9b5f16eec40c5d56d6ba7f8858..0000000000000000000000000000000000000000 --- a/tsg-main/main1.m +++ /dev/null @@ -1,200 +0,0 @@ -% TSG-MAIN1 -% -% interface traitement TSG -% -% appel des boutons -% -% choix type fichier TSG -% -% decodage TSG -% -% carto -% -% analyse TSVLL vs time -% analyse TSV - carto -% analyse TS vs LAT -% analyse TS vs LON - -% validation -% -% SGDB -% -% quit - -% $Id$ -% -clear all - -% repertoire fichier SSS Climato -global dirSSSCLIM -global dirSSSCLIMAN - -% repertoire fichier TSG ( ASC/TXT/TDM , mat, dat,) -global dirTSG - -% nom generique fichier voyage ( sans extension) -global fic -% -% =========================================== -% variables d environnement A DEFINIR -% les repertoires et extensions des fichiers TSG sont définis dans setific - -% repertoire fichiers climato SSS -% atalantique -dirSSSCLIM = '..\SSSAD2\'; -% globale annuelle -dirSSSCLIMAN = '..\SSSlev1\'; - -% repertoire fichier data BUKKET ( .BUK ) -dirBUK = '..\SSSBUCKET\'; - -% initialiser egalement les repertoires de données dans setific -% -% ================================================= - -% creation fenetre generale -fig0 = figure( 'position',[20 40 200 800],... - 'name','VALIDATION TSG',... - 'tag','fig0',... - 'MenuBar','none'); -% -% ============================================ -% definition container -% units default : normalized -hc1=uipanel('title','LECTURE FICHIER TSG',... - 'position',[0.1 0.75 0.8 0.24]) - - - - % % type fichier par pop up - %creation du texte "nom de fichier" - text0 = uicontrol( 'parent',hc1,... - 'style','text',... - 'ForegroundColor','k',... - 'unit','normalized',... - 'position', [0.1 0.8 0.8 0.15],... - 'string',' Type fichier TSG : ',... - 'HorizontalAlignment','left'); - - % setific retourne le repertoire et l extension des fichiers TSG a traiter - % ainsi que lea structure dfile - %setific realise egalement un clear all - bific=uicontrol('parent',hc1,... - 'style','popupmenu',... - 'unit','normalized',... - 'position',[0.1 0.7 0.8 0.15],... - 'string',['ASC : thermo V3 ',... - '|TXT : Labview old',... - '|NEW : traitement Denis',... - '|LAB : Labview new '],... - 'callback','setific') -% ' |TDM : oracle|RTT : Real Time ',... -% ' |COR : CORIOLIS|LEG : Legos '],... - - % decodage - deco0 = uicontrol( 'parent',hc1,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.1 0.8 0.15],... - 'string','LECTURE',... - 'tag','deco0',... - 'callback','deco_TS_cb'); - - % ========================================================= - - % definition container -% units default : normalized -hc2=uipanel('title','TRACE',... - 'position',[0.1 0.4 0.8 0.34]) - - - - % analyse carto - cart0 = uicontrol('parent',hc2,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.8 0.8 0.15],... - 'string',' TRAJET NAVIRE',... - 'tag','cart0',... - 'callback','anal_MAP_cb'); - - % analyse TSV et carto interactive - analm = uicontrol('parent',hc2,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.6 0.8 0.15],... - 'string','SST-SSS-VITESSE',... - 'tag','anal0',... - 'callback','anal_TSVm_cb'); - - % analyse TSVLL vs t - anal0 = uicontrol('parent',hc2,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.4 0.8 0.15],... - 'string','SST-SSS-VIT-POSITION',... - 'tag','anal0',... - 'callback','anal_TSVLL_cb'); - - % - % analyse TS vs LAT - anala = uicontrol('parent',hc2,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.2 0.8 0.15],... - 'string','SST-SSS vs LATITUDE',... - 'tag','analat',... - 'callback','anal_TSLAT_cb'); - - % analyse TS vs LON - analo = uicontrol('parent',hc2,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.01 0.8 0.15],... - 'string','SST-SSS vs LONGITUDE',... - 'tag','analon',... - 'callback','anal_TSLON_cb'); - % ========================================================= - - % definition container -% units default : normalized -hc3=uipanel('title','VALIDATION',... - 'position',[0.1 0.20 0.8 0.14]) - - % - % validation - vali0 = uicontrol( 'parent',hc3,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.6 0.8 0.3],... - 'string','MODE INTERACTIF',... - 'tag','vali0',... - 'callback','vali_TSV_cb'); - - % Correction - core0 = uicontrol( 'parent',hc3,... - 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.2 0.8 0.3],... - 'string','CORRECTIONS BOUTEILLES',... - 'tag','core0',... - 'callback','core_SSS_cb'); - - - % ===========================================% - % sauv SGDB - sauv0 = uicontrol( 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.10 0.8 0.05],... - 'string','ENREGISTRER',... - 'tag','sauv0',... - 'callback','sgbd_TS_cb'); - - % creation quitter - quit0 = uicontrol( 'style','pushbutton',... - 'unit','normalized',... - 'position',[0.1 0.03 0.8 0.05],... - 'string',' QUITTER ',... - 'callback','quit_cb'); - - diff --git a/tsg-main/quit_cb.m b/tsg-main/quit_cb.m deleted file mode 100644 index c5fcfd485c9ea1671a64f95e40e5e74de705b07b..0000000000000000000000000000000000000000 --- a/tsg-main/quit_cb.m +++ /dev/null @@ -1,8 +0,0 @@ -% quit_cb -% -%callback quit .. close -% - -% $Id$ - -close all diff --git a/tsg-main/setific.m b/tsg-main/setific.m deleted file mode 100644 index fa41325128e33c237ca14bbb0c7264fcb20db9fa..0000000000000000000000000000000000000000 --- a/tsg-main/setific.m +++ /dev/null @@ -1,81 +0,0 @@ -% setific -% -% extension des fichiers TSG a traiter -% repertoire des fichiers -% recuperation valeur du pop up - -%$Id$ - -clear dfile - -%init -dirTSG='.\'; -fic='*.'; -extTSG=''; -dfile={}; - -% type de fichier TSG -val = get(bific,'Value'); - -valific=val - -% default RIEN -if valific == 0 - dirTSG = '.\'; - extTSG = ''; - -% ASC : thermo V3 -elseif valific == 1 - dirTSG = '..\SSSTSGASC\'; - extTSG = 'ASC'; - -% LAB : labview .txt -elseif valific == 2 - dirTSG = '..\SSSTSGLAB\'; - extTSG = 'TXT'; - -elseif valific == 3; - dirTSG = '..\SSSTSGNEW\'; - extTSG = 'csv'; - -elseif valific == 4; - dirTSG = '..\SSSTSGLABVIEW\'; - extTSG = 'txt'; - -% % TDM : oracle Tour du Monde -% elseif valific == 3 -% dirTSG = 'D:\SSSTSGTDM\'; -% extTSG = 'TDM'; -% -% % RT : real time ( ftp TSG .. recopie pour RW dans repertoire ) -% elseif valific == 4 -% dirTSG = 'Z:\TSG\'; -% %dirTSG = 'D:\SSSTSGRT\'; -% extTSG = ''; -% -% % CORIOLIS -% elseif valific == 5 -% dirTSG = 'D:\SSSCORIOLIS\'; -% extTSG = 'nc'; -% -% % LEGOS-TECHINE -% elseif valific == 6 -% dirTSG = 'D:\SSSLEGOS\'; -% extTSG = ''; - -end -% -% on recupere une structure (dlist.XXX) -ficTSG = [dirTSG,fic,extTSG] -dlist = dir(ficTSG); -% extraction nom fichier XXXXX.ext pour popup menu -dfile={dlist.name} - -% fonction cb de choix du fichier a traiter -% par popup menu dans les noms de fichiers dfile ( repertoire + extension) - - edit0 = uicontrol( 'style','popupmenu',... - 'position',[20 550 150 30],... - 'string',dfile,... - 'tag','edit0',... - 'callback','edit_TS_cb'); diff --git a/tsg-main/sgbd_TS_cb.m b/tsg-main/sgbd_TS_cb.m deleted file mode 100644 index c7e3b6268f400ec390612f2444898a1747be117c..0000000000000000000000000000000000000000 --- a/tsg-main/sgbd_TS_cb.m +++ /dev/null @@ -1,154 +0,0 @@ -%sbbd_TS_cb -% -% sauvagearde format base de données -% -% lecture .DAT -% sauvegarde .XML -% generation entete XML - -%$Id$ -% -% -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -% flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor -% -% reformattage -% format -%PIRATA-FR12 ATALANTE IRD SBE21 DIVERRES -%YEAR DAYS LATX LONX ST21 ST21_Q ST21_C SSPS SSPS_Q SSPS_C -%2004 30.7298611 -00.0000 +004.4892 29.145 1 0.000 35.85 1 0.045 - -%SSPS;SEA SURFACE PRACTICAL SALINITY;P.S.U.;0;40;%6.3lf;99.999 -%SSTP;SEA SURFACE TEMPERATURE;Celsius degree;-1.5;38;%6.3lf;99.999 - - - global dirTSG - global fic - -% saisie nom du fichier mat ( ou DAT ???) -%ficmat=[dirTSG,fic] -%load(ficmat) - -ficdat=[dirTSG,fic,'.dat'] -tab = load(ficdat); - -% on extrait des vecteurs -% voir si extmat serait OK ???? - - % flag QC sst et sss - sstfl = tab(:,1); - sssfl = tab(:,2); - - yyyy = tab(:,3); - % année en cours - year0=tab(1,3); - tjy0=datenum(year0,1,1,0,0,0); - - mm = tab(:,4); - dd = tab(:,5); - hh = tab(:,6); - mn = tab(:,7); - ss = tab(:,8); - tjy = tab(:,9); - - % jour julien matlab - tjy = tab(:,9); - % jour julien annee en cours pour fic tsg SGBD - tjd=tjy-tjy0; - - - % parametres - lat = tab(:,10); - lon = tab(:,11); - vit = tab(:,12); - - sst = tab(:,13); - sssori = tab(:,14); - - sss=tab(:,18); - - % nbre de record fichier TSG - %nbrec = size(tjy) - nbrec=length(tjy); - - % vecteur avec latitude non definie - klat=isnan(lat); - - % date debut - fin - datedeb=datenum(yyyy(1),mm(1),dd(1),hh(1),mn(1),ss(1)); - datefin=datenum(yyyy(nbrec),mm(nbrec),dd(nbrec),hh(nbrec),mn(nbrec),ss(nbrec)); - - % - % reformatage format SGBD - - %fic = input(' - fichier TSG ( sans extension .TSG) : ','s') - fichier = [dirTSG,fic,'_tsg.xml'] - - % taille - [nblig nbcol] = size(tab) -% -%gestion fichier SGBD .TSG - fid=fopen(fichier,'w') - - - % title XML - -line=['<?xml version="1.0" encoding="ISO-8859-1"?>']; -fprintf(fid,'%-s\n',line); - -line=['<!DOCTYPE OCEANO PUBLIC "-//US025//DTD OCEANO//FR" "http://www.brest.ird.fr/us025/database/oceano.dtd">']; -fprintf(fid,'%-s\n',line); - - - -line=['<OCEANO TYPE="TRAJECTOIRE">']; -fprintf(fid,'%-s\n',line); - - - % ecriture ENTETE XML meta Data - wrhdxml - - -% % justifié a gauche ( %- ) -% %PIRATA-FR12 ATALANTE IRD SBE21 XXXXXXX -% line1= [fic ' WATERBERG IRD SBE21 1742 DIVERRES TRAJECTOIRE'] -% fprintf(fid,'%-80s\n',line1) - -line = [' <DATA>']; -fprintf(fid,'%-s\n',line); - -% 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 -line = ['YEAR DAYD LATX LONX SSJT SSJT_Q SSJT_C SSPS SSPS_Q SSPS_C']; -% yyyy_ddd.ddddddd_ll1.lllll_l1ll.lllll_ttt.ttt_______q_ccc.ccc_sss.sss_______q_ccc.ccc -% 4 12 10 11 8 8 8 8 8 8 -% -fprintf(fid,'%-81s\n',line); - -% -% init correction a recuperer dans .dat -sstcor = sst; -ssscor = sss; -sss = sssori; - -for ilig=1:nblig - % - if(mod(ilig,1000)==0) disp(ilig); - end - % - % formation ligne a ecrire -line = [ yyyy(ilig) tjd(ilig) lat(ilig) lon(ilig) sst(ilig) sstfl(ilig) sstcor(ilig) sss(ilig) sssfl(ilig) ssscor(ilig)]; -fprintf(fid,'%4d%12.7f%+10.5f%+11.5f%8.3f%8d%8.3f%8.3f%8d%8.3f\n',line); - % -end - -% on termine le XML -line = [' </DATA>']; -fprintf(fid,'%-s\n',line); - -line = ['</OCEANO>']; -fprintf(fid,'%-s\n',line); - - -% -fclose(fid); - diff --git a/tsg-main/test.m b/tsg-main/test.m deleted file mode 100644 index f7d476d38747fb08a40a9b13de18e680bb555839..0000000000000000000000000000000000000000 --- a/tsg-main/test.m +++ /dev/null @@ -1,7 +0,0 @@ -fic='TATA' -fid=fopen(fic,'w') - -line=['<!DOCTYPE OCEANO PUBLIC "-//US025//DTD OCEANO//FR" "http://www.brest.ird.fr/us025/database/oceano.dtd">']; -cnbchar=num2str(length(line)) - -fprintf(fid,'%-s\n',line); \ No newline at end of file diff --git a/tsg-main/vali_TSV_cb.m b/tsg-main/vali_TSV_cb.m deleted file mode 100644 index 06d487cd82bcabe722415fdac22c6bce7341e1dd..0000000000000000000000000000000000000000 --- a/tsg-main/vali_TSV_cb.m +++ /dev/null @@ -1,83 +0,0 @@ -% main validation TSG VIT -% -% vali_TS_cb -% valid interactive -% automatique -% bouton clim - bucket -% -% sauvegarde .DAT ( fichier ASCII ) - -%$Id$ -% -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -% flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor -% -% validation interactif T et S vs time et vitesse - % clear all - global dirTSG - global fic - -% saisie nom du fichier mat ( ou DAT ???) -%ficmat=[dirTSG,fic] -%load(ficmat) - -ficdat=[dirTSG,fic,'.dat'] -tab = load(ficdat); - -% -% on extrait des vecteurs -% voir si extmat serait OK ???? - - % flag QC sst et sss - flsst = tab(:,1); - flsss = tab(:,2); - - yyyy = tab(:,3); - mm = tab(:,4); - dd = tab(:,5); - hh = tab(:,6); - mn = tab(:,7); - ss = tab(:,8); - - % jour julien - tjy = tab(:,9); - - % parametres - lat = tab(:,10); - lon = tab(:,11); - vit = tab(:,12); - - sst = tab(:,13); - sss = tab(:,14); - - % nbre de record fichier TSG - %nbrec = size(tjy) - nbrec=length(tjy); - - % vecteur avec latitude non definie - klat=isnan(lat); - - % date debut - fin - datedeb=datenum(yyyy(1),mm(1),dd(1),hh(1),mn(1),ss(1)); - datefin=datenum(yyyy(nbrec),mm(nbrec),dd(nbrec),hh(nbrec),mn(nbrec),ss(nbrec)); - - %titre des figures - chtitle = [fic,' ',datestr(datedeb,24),' - ',datestr(datefin,24)]; - - - %sssori=sss; - - - % calcul gradient dans module valid - % ==================================================== - - % trace interactif T S V vs time .. et validation sauvegarde - % bucket Climato ... - blTSVval - - % - %titre - %title(fic) - hold off - subplot(3,1,1) - HT = title(chtitle,'FontSize',15,'FontWeight','bold') diff --git a/tsg-main/wrhdxml.m b/tsg-main/wrhdxml.m deleted file mode 100644 index 47083bdacc2733612ea1d6cfd88a13fd2df30387..0000000000000000000000000000000000000000 --- a/tsg-main/wrhdxml.m +++ /dev/null @@ -1,122 +0,0 @@ - % wrhdxml -% ecriture entete XML -% - -% $Id$ -% - -% justifié a gauche ( %- ) - %PIRATA-FR12 ATALANTE IRD SBE21 XXXXXXX -% line1= [fic ' WATERBERG IRD SBE21 1742 DIVERRES TRAJECTOIRE'] -% fprintf(fid,'%-80s\n',line1) - - - -% a saisir -% CODE_PLATEFORME -% LIBELLE -% numero d instrument - -% a amodifier avec boates de dialogus et validations !! - chcode = input('> SAISIE : character code radio :','s') - chlabel = input('> SAISIE : character libelle bateau :','s') - chnumins = input('> SAISIE : character numero instrument :','s') - - -% chcode=['EXYZ3']; -% chlabel=['NUKA_ARTICA']; -% chnumins=['1742']; - - -% DATE_DEBUT -% DATE_FIN - -% CODE_SERIE_INSTRUMENT - - -% on recupere les dates de debut - fin -chdatedeb=datestr(datedeb,24); -chdatefin=datestr(datefin,24); - - -line=[' <ENTETE>']; -fprintf(fid,'%-s\n',line); - -% ============================================================= - - line=[' <PLATEFORME>']; - fprintf(fid,'%-s\n',line); - - line=[' <CODE_PLATEFORME>' chcode '</CODE_PLATEFORME>']; - fprintf(fid,'%-s\n',line); - - line=[' <LIBELLE>' chlabel '</LIBELLE>']; - fprintf(fid,'%-s\n',line); - - line=[' <DESCRIPTIF>RESEAU_SSS</DESCRIPTIF>']; - fprintf(fid,'%-s\n',line); - - line=[' <COMMENTAIRE>test</COMMENTAIRE>']; - fprintf(fid,'%-s\n',line); - - line=[' </PLATEFORME>']; - fprintf(fid,'%-s\n',line); - - %================================================================= - - line=[' <CYCLE_MESURE CONTEXTE="ORE-SSS" TIMEZONE="GMT" FORMAT="DMY">'] - fprintf(fid,'%-s\n',line); - - line=[' <LIBELLE>' fic '</LIBELLE>'] - fprintf(fid,'%-s\n',line); - - line=[' <DATE_DEBUT>' chdatedeb '</DATE_DEBUT>']; - fprintf(fid,'%-s\n',line); - - line=[' <DATE_FIN>' chdatefin '</DATE_FIN>']; - fprintf(fid,'%-s\n',line); - - line=[' <INSTITUT>IRD</INSTITUT>']; - fprintf(fid,'%-s\n',line); - - line=[' <RESPONSABLE>DIVERRES</RESPONSABLE>']; - fprintf(fid,'%-s\n',line); - - line=[' <ACQUISITION LOGICIEL="LABVIEW"></ACQUISITION>']; - fprintf(fid,'%-s\n',line); - - line=[' <TRAITEMENT LOGICIEL="LABVIEW"></TRAITEMENT>']; - fprintf(fid,'%-s\n',line); - - line=[' <VALIDATION LOGICIEL="TSG_QC" OPERATEUR="DAGORNE" CODIFICATION="OOPC">']; - fprintf(fid,'%-s\n',line); - - line=[' <CODE>2B+</CODE>']; - fprintf(fid,'%-s\n',line); - - line=[' <COMMENTAIRE>test</COMMENTAIRE>']; - fprintf(fid,'%-s\n',line); - - line=[' </VALIDATION>']; - fprintf(fid,'%-s\n',line); - - line=[' </CYCLE_MESURE>']; - fprintf(fid,'%-80s\n',line); - - % ================================================================ - line=[' <INSTRUMENT TYPE="SBE21" NUMERO_SERIE="' chnumins '" CODE_ROSCOP="SSJT">']; - fprintf(fid,'%-s\n',line); - - line=[' </INSTRUMENT>']; - fprintf(fid,'%-s\n',line); - - - line=[' <INSTRUMENT TYPE="SBE21" NUMERO_SERIE="' chnumins '" CODE_ROSCOP="PSAL">']; - fprintf(fid,'%-s\n',line); - - line=[' </INSTRUMENT>']; - fprintf(fid,'%-s\n',line); - % ================================================================= - -line=[' </ENTETE>']; -fprintf(fid,'%-s\n',line); diff --git a/tsg-util/analys_TSLAT_cb.m b/tsg-util/analys_TSLAT_cb.m deleted file mode 100644 index 1919a28fbcfdcdd56b4344dcebeef734be79d065..0000000000000000000000000000000000000000 --- a/tsg-util/analys_TSLAT_cb.m +++ /dev/null @@ -1,5 +0,0 @@ -% analys_callback -% TSLAT -% -exTSLAT -% diff --git a/tsg-util/analys_TSLON_cb.m b/tsg-util/analys_TSLON_cb.m deleted file mode 100644 index 65d34ba95183395930ab532278390793a77a94c0..0000000000000000000000000000000000000000 --- a/tsg-util/analys_TSLON_cb.m +++ /dev/null @@ -1,5 +0,0 @@ -% analys_callback -% TSLON -% -exTSLON -% diff --git a/tsg-util/analys_TSMAP_cb.m b/tsg-util/analys_TSMAP_cb.m deleted file mode 100644 index 7c782311b8cba31a1eea13f636a7eedf0fe86300..0000000000000000000000000000000000000000 --- a/tsg-util/analys_TSMAP_cb.m +++ /dev/null @@ -1,22 +0,0 @@ -% analys_callback -% -% a partir cmd1 ( down) cmd2 ( motion) cmd3 (up) -% cmd1 : creation boite affichage -% cmd2 : recup valeur curseur -% recup valeurs fichier -% affichage valeur fichier -% cmd3 : mark MAP -% efface boite affichage -exTSMAP -% -% variante -% cmd1 (down) cmd3 (up) -% cmd1 : creation boite affichage -% recup valeur curseur -% recup valeurs fichier -% mark MAP ... du premier point clicke -% pb : si motion !!! -% cmd3 : efface boite affichage -%exMARK - - diff --git a/tsg-util/analys_TSVMAP_cb.m b/tsg-util/analys_TSVMAP_cb.m deleted file mode 100644 index 29a15d94e138a9ac4771cc546e298f4d65980b93..0000000000000000000000000000000000000000 --- a/tsg-util/analys_TSVMAP_cb.m +++ /dev/null @@ -1,22 +0,0 @@ -% analys_callback -% -% a partir cmd1 ( down) cmd2 ( motion) cmd3 (up) -% cmd1 : creation boite affichage -% cmd2 : recup valeur curseur -% recup valeurs fichier -% affichage valeur fichier -% cmd3 : mark MAP -% efface boite affichage -exTSVMAP -% -% variante -% cmd1 (down) cmd3 (up) -% cmd1 : creation boite affichage -% recup valeur curseur -% recup valeurs fichier -% mark MAP ... du premier point clicke -% pb : si motion !!! -% cmd3 : efface boite affichage -%exMARK - - diff --git a/tsg-util/analys_TS_cb.m b/tsg-util/analys_TS_cb.m deleted file mode 100644 index 827a1d2f02a2f8b0e8a84f35040cdbd69a876493..0000000000000000000000000000000000000000 --- a/tsg-util/analys_TS_cb.m +++ /dev/null @@ -1,7 +0,0 @@ -% analys_callback -% -exTS - -%vlon -%vlat -% diff --git a/tsg-util/analys_map_cb.m b/tsg-util/analys_map_cb.m deleted file mode 100644 index d81dc5d6e2283dc03f3f1d9c04eb18d6699d4be3..0000000000000000000000000000000000000000 --- a/tsg-util/analys_map_cb.m +++ /dev/null @@ -1,5 +0,0 @@ -% analys_map_cb -% -zoom off -exmap -% \ No newline at end of file diff --git a/tsg-util/blmap.m b/tsg-util/blmap.m deleted file mode 100644 index 70d46ff4b1c41256218ca416dabc81bf78df6f19..0000000000000000000000000000000000000000 --- a/tsg-util/blmap.m +++ /dev/null @@ -1,63 +0,0 @@ - % trace interactive map - % - % - % figure - fhmap = figure('position',[500 50 800 500],... - 'name','MAP TSG',... - 'tag','tag_MAP') - % 'menubar','none'); - % - % - % creation - % bouton analyse carte interactive - ba = uicontrol('style','pushbutton',... - 'position',[10 200 50 30],... - 'string','ANALYS',... - 'callback','analys_map_cb'); - - % bouton de zoom carte - bz = uicontrol('style','pushbutton',... - 'position',[10 150 50 30],... - 'string','ZOOM',... - 'callback','zoom_map_cb'); - - % bouton de close carte - bc = uicontrol('style','pushbutton',... - 'position',[10 50 50 30],... - 'string','CLOSE',... - 'callback','close_map_cb'); - - -% minmax lat-lon -latmin = min(lat) - 10.; -latmax = max(lat) + 10.; -lonmin = min(lon) - 10. ; -lonmax = max(lon) + 10. ; - -% init parametre MMAP -% init projection - m_proj('Equidistant Cylindrical','lat',[latmin latmax],'long',[lonmin lonmax]); - % trait de cote - m_coast('patch',[0.9 0.9 0.9]); - %m_grid('linest','-','xticklabels',[],'yticklabels',[],'ytick',[-80:40:80]); - m_grid - - %xlabel(fic,'visible','on'); - % - % trace point route sur graphique map - hold on - % trait - h1 = m_plot(lon,lat,'k'); - - % point - h2 = m_plot(lon,lat,'+r','MarkerSize',2); - % - - %title(fic) - HT = title(chtitle,'FontSize',15,'FontWeight','bold') - - hold off - - GCFMAP=gcf - GCAMAP=gca - diff --git a/tsg-util/blts.m b/tsg-util/blts.m deleted file mode 100644 index 3669680adf30517604072fc7dd8b42b183bd0d9f..0000000000000000000000000000000000000000 --- a/tsg-util/blts.m +++ /dev/null @@ -1,73 +0,0 @@ - % bloc blTS - % analyse interactif T et S vs time ( jour julien - % link carto - - % position fenetre TS - hfTS = figure('position',[500 600 800 400]); - - % creation - - % bouton de link MAP - bl = uicontrol('style','pushbutton',... - 'position',[10 250 50 30],... - 'string','L-MAP',... - 'callback','link_map_TS_cb'); - - % bouton analyse interactive - ba = uicontrol('style','pushbutton',... - 'position',[10 200 50 30],... - 'string','ANALYS',... - 'callback','analys_TS_cb'); - - % bouton de zoomlink - bz = uicontrol('style','pushbutton',... - 'position',[10 150 50 30],... - 'string','ZOOM',... - 'callback','zoom_TS_cb'); - - % bonton de close - bc = uicontrol('style','pushbutton',... - 'position',[10 50 50 30],... - 'string','CLOSE',... - 'callback','close_cb'); - - - % plot SST ( bleu) - subplot(2,1,1) - H1 = plot(tjy,sst,'k') - grid - hold on - H2 = plot(tjy,sst,'+b','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - hold off - gca1 = gca - - % label - xlabel('TIME (Julian day - year start) '); - ylabel('SST (deg C)'); - - % - %plot SSS (rouge) - subplot(2,1,2) - H3 = plot(tjy,sss,'k') - grid - hold on - H4= plot(tjy,sss,'+r','MarkerSize',2) - %set(H4,'Marker','*','MarkerSize',2) - hold off - gca2 = gca - - % label - xlabel('TIME (Julian year - year start) '); - ylabel('SSS (PSU)'); - - % - %titre - subplot(2,1,1) - HT = title(chtitle,'FontSize',15,'FontWeight','bold') - - % figure TS - GCFTS = gcf - - - diff --git a/tsg-util/bltslat.m b/tsg-util/bltslat.m deleted file mode 100644 index 0280e5e07c5a916fbfcd92d62a82da9b3eac08e1..0000000000000000000000000000000000000000 --- a/tsg-util/bltslat.m +++ /dev/null @@ -1,67 +0,0 @@ -% blTSLAT - % trace interactif - % T et S vs LAT L - % - % - - % position fenetre TS - hfTS = figure('position',[400 50 800 500]); - - % creation - % bouton analyse interactive - ba = uicontrol('style','pushbutton',... - 'position',[10 200 50 30],... - 'string','ANALYS',... - 'callback','analys_TSLAT_cb'); - - % bouton de zoomlink - bz = uicontrol('style','pushbutton',... - 'position',[10 150 50 30],... - 'string','ZOOM',... - 'callback','zoom_Y_cb'); - - % bonton de close - bc = uicontrol('style','pushbutton',... - 'position',[10 50 50 30],... - 'string','CLOSE',... - 'callback','close_cb'); - - % ==================================================================== - % plot TS - LAT - % lat vertical !! - - % plot SST ( bleu ) vs LAT - subplot(1,2,1) - H1 = plot(sst,lat,'k') - grid - hold on - H2 = plot(sst,lat,'+b','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - hold off - gca1 = gca - - % label - xlabel('SST (deg C)'); - ylabel('LAT'); - - % ===================================================================== - - % plot SSS ( rouge) vs LAT - subplot(1,2,2) - H3 = plot(sss,lat,'k') - grid - hold on - H4 = plot(sss,lat,'+r','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - hold off - gca2 = gca - - % label - xlabel('SSS (PSU)'); - ylabel('LAT'); - - - - - - \ No newline at end of file diff --git a/tsg-util/bltslon.m b/tsg-util/bltslon.m deleted file mode 100644 index ec144c60546a60ff009470f7e47492d25d2ab629..0000000000000000000000000000000000000000 --- a/tsg-util/bltslon.m +++ /dev/null @@ -1,67 +0,0 @@ -% blTSLAT - % trace interactif - % T et S vs LON - % - % - - % position fenetre TS-LON - hfTS = figure('position',[400 50 800 600]); - - % creation - % bouton analyse interactive - ba = uicontrol('style','pushbutton',... - 'position',[10 200 50 30],... - 'string','ANALYS',... - 'callback','analys_TSLON_cb'); - - % bouton de zoomlink - bz = uicontrol('style','pushbutton',... - 'position',[10 150 50 30],... - 'string','ZOOM',... - 'callback','zoom_X_cb'); - - % bonton de close - bc = uicontrol('style','pushbutton',... - 'position',[10 50 50 30],... - 'string','CLOSE',... - 'callback','close_cb'); - - % ==================================================================== - % plot TS - LON - % lon vertical !! - - % plot SST ( bleu ) vs LON - subplot(2,1,1) - H1 = plot(lon,sst,'k') - grid - hold on - H2 = plot(lon,sst,'+b','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - hold off - gca1 = gca - - % label - ylabel('SST (deg C)'); - xlabel('LON'); - - % ===================================================================== - - % plot SSS ( rouge) vs LAT - subplot(2,1,2) - H3 = plot(lon,sss,'k') - grid - hold on - H4 = plot(lon,sss,'+r','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - hold off - gca2 = gca - - % label - ylabel('SSS (PSU)'); - xlabel('LON'); - - - - - - \ No newline at end of file diff --git a/tsg-util/bltsv.m b/tsg-util/bltsv.m deleted file mode 100644 index 4fa060589bf9ed5ae2d7f6e4cb0bb7dafb1fca39..0000000000000000000000000000000000000000 --- a/tsg-util/bltsv.m +++ /dev/null @@ -1,104 +0,0 @@ -% blTSV % bloc blTS - % trace interactif T et S et Vitesse vs time - -% $Id$ - - % position fenetre TSV - hfTS = figure('position',[400 300 800 600]); - - % creation - - - % bouton de link MAP - bl = uicontrol('style','pushbutton',... - 'position',[10 300 50 30],... - 'string','L-MAP',... - 'callback','link_map_TSV_cb'); - - % bouton analyse interactive - ba = uicontrol('style','pushbutton',... - 'position',[10 200 50 30],... - 'string','ANALYS',... - 'callback','analys_TS_cb'); - - % bouton de zoomlink -% bz = uicontrol('style','pushbutton',... -% 'position',[10 150 50 30],... -% 'string','ZOOM',... -% 'callback','zoom_TS_cb'); - - % boutons de ZOOM - PANO suivant axe X - % MODIF 4 boutons --> 2 boutons - zoompano - - % bonton de close - bc = uicontrol('style','pushbutton',... - 'position',[10 10 50 30],... - 'string','CLOSE',... - 'callback','close_cb'); - - - % plot SST ( bleu) - ax(1)=subplot(3,1,1) - H1 = plot(tjy,sst,'k') - grid - hold on - H2 = plot(tjy,sst,'+b','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - hold off - gca1 = gca - - % label - %xlabel('TIME (Julian day - year start) '); - datetick('x',20,'keeplimits') - %set(gca1,'xtick',xtickvec) - %datetick('x',20,'keeplimits') - - - ylabel('SST (deg C)'); - - % - %plot SSS (rouge) - ax(2)=subplot(3,1,2) - H3 = plot(tjy,sss,'k') - grid - hold on - H4= plot(tjy,sss,'+r','MarkerSize',2) - %set(H4,'Marker','*','MarkerSize',2) - hold off - gca2 = gca - - % test impression date en clair .. pas concluant - %datetick('x',20) - - % label - %xlabel('TIME (Julian year - year start) '); - datetick('x',20,'keeplimits') - ylabel('SSS (PSU)'); - - - % plot vitesse ( noir) - ax(3)=subplot(3,1,3) - H5 = plot(tjy,vit,'g') - grid - hold on - H6= plot(tjy,vit,'+k','MarkerSize',10) - %set(H4,'Marker','*','MarkerSize',2) - hold off - - % label - xlabel('TIME '); - datetick('x',20,'keeplimits') - ylabel('VIT '); - - %titre - subplot(3,1,1) - HT = title(chtitle,'FontSize',15,'FontWeight','bold') - - % figure TS - GCFTS = gcf - % - - - - diff --git a/tsg-util/bltsvcor.m b/tsg-util/bltsvcor.m deleted file mode 100644 index 6ac832e243f87b76f29d44ec585567acc3eee513..0000000000000000000000000000000000000000 --- a/tsg-util/bltsvcor.m +++ /dev/null @@ -1,143 +0,0 @@ -% blTSVcor - % trace et S et Vitesse vs time ( jour julien - % valeurs corigées - -% $Id$ - - % position fenetre TS - hfTS = figure('position',[400 100 800 800]); - - % creation bouton - - % bouton de link MAP - bl = uicontrol('style','pushbutton',... - 'position',[10 750 50 30],... - 'string','L-MAP',... - 'callback','link_map_TSV_cb'); - - % bouton analyse - ba = uicontrol('style','pushbutton',... - 'position',[10 700 50 30],... - 'string','ANALYS',... - 'callback','analys_TS_cb'); - - % bouton de zoomlink -% bz = uicontrol('style','pushbutton',... -% 'position',[10 650 50 30],... -% 'string','ZOOMV',... -% 'callback','zoomV_TS_cb'); - - - % bouton Climato SSS Atalantique - bl = uicontrol('style','pushbutton',... - 'position',[10 600 70 30],... - 'string','CLIM1-ATL',... - 'callback','climsss_TS_cb'); - - - % bouton Climato SSS mondiale annuelle - bl = uicontrol('style','pushbutton',... - 'position',[10 550 70 30],... - 'string','CLIM2-GLAN',... - 'callback','climsssglan_cb') - - % bouton bucket - % version BUKKET ( old : bucker fichier .sdf) - bm = uicontrol('style','pushbutton',... - 'position',[10 500 50 30],... - 'string','BUCKET',... - 'callback','bukket1_TS_cb'); - - - % - % bouton statistique flag - bc = uicontrol('style','pushbutton',... - 'position',[10 450 50 30],... - 'string','STATFL',... - 'callback','statflag_cb'); - - % bouton calcul gradient - bg = uicontrol('style','pushbutton',... - 'position',[10 400 50 30],... - 'string','GRADIENT',... - 'callback','cagra1'); - - % bouton validation auto SST/SSS - bw = uicontrol('style','pushbutton',... - 'position',[10 350 70 30],... - 'string','VALID-A(TS)',... - 'callback','validA_TS_cb'); - - % bouton validation interactive SSS - bv = uicontrol('style','pushbutton',... - 'position',[10 300 70 30],... - 'string','VALID-I(S)',... - 'callback','validI_S_cb'); - - % texte - bk = uicontrol('style','text',... - 'position',[10 250 80 30],... - 'string','KOD-VALID') - - % valeur valid par pop up - bkod=uicontrol('style','popupmenu',... - 'position',[10 200 80 30],... - 'string',['0 : no QC |1 : good |2 : prob good |3 : prob bad |4 : bad'],... - 'callback','setikod') - - % bouton sauvegarde - bc = uicontrol('style','pushbutton',... - 'position',[10 100 50 30],... - 'string','SAUVE',... - 'callback','sauve1_TS_cb'); - - % bonton de close - bc = uicontrol('style','pushbutton',... - 'position',[10 50 50 30],... - 'string','CLOSE',... - 'callback','close_cb'); - - - bzin = uicontrol('style','pushbutton',... - 'position',[100 10 50 30],... - 'string','Z-ON',... - 'callback','zoomONcb'); - bzou = uicontrol('style','pushbutton',... - 'position',[200 10 50 30],... - 'string','Z-OFF',... - 'callback','zoomOFFcb'); - - - pin = uicontrol('style','pushbutton',... - 'position',[400 10 50 30],... - 'string','P-ON',... - 'callback','panONcb'); - pou = uicontrol('style','pushbutton',... - 'position',[500 10 50 30],... - 'string','P-OFF',... - 'callback','panOFFcb'); - - - - - - % - % graphique TSV avec flag - % % trait en noir - %grvali0 - grvali1 - - % puis points couleurs - grvaliS - grvaliT - - % get current figure TSV - GCFTS = gcf - - - - - - - - diff --git a/tsg-util/bltsvll.m b/tsg-util/bltsvll.m deleted file mode 100644 index 293ffd733ec0ba2a89c0a54df2bff6d90e448e3d..0000000000000000000000000000000000000000 --- a/tsg-util/bltsvll.m +++ /dev/null @@ -1,118 +0,0 @@ -% blTSVLL - % trace interactif - % T et S et Vitesse LAT LON - % vs time ( jour % Julien) - % - - % position fenetre TS - hfTS = figure('position',[400 50 800 950]); - - % creation - % bouton analyse interactive - ba = uicontrol('style','pushbutton',... - 'position',[10 200 50 30],... - 'string','ANALYS',... - 'callback','analys_TS_cb'); - - % bouton de zoomlink - bz = uicontrol('style','pushbutton',... - 'position',[10 150 50 30],... - 'string','ZOOM',... - 'callback','zoom_TS_cb'); - - % bonton de close - bc = uicontrol('style','pushbutton',... - 'position',[10 50 50 30],... - 'string','CLOSE',... - 'callback','close_cb'); - - % min max axe time - tjymin=ceil(min(tjy)); - tjymax=floor(max(tjy)); - - % plot SST ( bleu) - subplot(5,1,1) - H1 = plot(tjy,sst,'k') - grid - hold on - H2 = plot(tjy,sst,'+b','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - hold off - gca1 = gca - - % label - %xlabel('TIME (Julian day - year start) '); - datetick('x',6,'keeplimits') - %set(gca,'xtick',[tjymin:1:tjymax]) - - ylabel('SST (deg C)'); - - %%titre - %title(fic) - - - %plot SSS (rouge) - subplot(5,1,2) - H3 = plot(tjy,sss,'k') - grid - hold on - H4= plot(tjy,sss,'+r','MarkerSize',2) - %set(H4,'Marker','*','MarkerSize',2) - hold off - gca2 = gca - - % label - %xlabel('TIME (Julian year - year start) '); - datetick('x',20,'keeplimits') - ylabel('SSS (PSU)'); - - - % plot vitesse ( noir) - subplot(5,1,3) - H5 = plot(tjy,vit,'g') - grid - hold on - H6= plot(tjy,vit,'+k','MarkerSize',10) - %set(H4,'Marker','*','MarkerSize',2) - hold off - - % label - %xlabel('TIME (Julian year - year start) '); - datetick('x',20,'keeplimits') - ylabel('VIT '); - - - % plot LAT ( noir) - subplot(5,1,4) - H7 = plot(tjy,lat,'g') - grid - hold on - H8= plot(tjy,lat,'+k','MarkerSize',2) - %set(H4,'Marker','*','MarkerSize',2) - hold off - % label - %xlabel('TIME (Julian year - year start) '); - datetick('x',20,'keeplimits') - ylabel('LAT '); - % - % - % plot LON ( noir) - subplot(5,1,5) - H9 = plot(tjy,lon,'g') - grid - hold on - H10= plot(tjy,lon,'+k','MarkerSize',2) - %set(H4,'Marker','*','MarkerSize',2) - hold off - - % label - datetick('x',20,'keeplimits') - ylabel('LON '); - - xlabel('TIME (from matlab julian day) '); - - - - subplot(5,1,1) - HT = title(chtitle,'FontSize',15,'FontWeight','bold') - diff --git a/tsg-util/bltsvval.m b/tsg-util/bltsvval.m deleted file mode 100644 index 66f2fbf0ae57885629f4ca0ae51d5057611ec0a4..0000000000000000000000000000000000000000 --- a/tsg-util/bltsvval.m +++ /dev/null @@ -1,167 +0,0 @@ -% blTSV % bloc blTS - % trace interactif T et S et Vitesse vs time ( jour julien - - % position fenetre TS - hfTS = figure('position',[400 100 800 800]); - - % creation bouton - - % bouton de link MAP - bl = uicontrol('style','pushbutton',... - 'position',[10 750 50 30],... - 'string','L-MAP',... - 'callback','link_map_TSV_cb'); - - % bouton analyse - ba = uicontrol('style','pushbutton',... - 'position',[10 700 50 30],... - 'string','ANALYS',... - 'callback','analys_TS_cb'); - - % bouton de zoomlink -% bz = uicontrol('style','pushbutton',... -% 'position',[10 650 50 30],... -% 'string','ZOOMV',... -% 'callback','zoomV_TS_cb'); - - - % bouton Climato SSS Atalantique - bl = uicontrol('style','pushbutton',... - 'position',[10 650 70 30],... - 'string','CLIMLEVITUS.nc',... - 'callback','climsssnc_cb'); - - - % bouton Climato SSS Atalantique - bl = uicontrol('style','pushbutton',... - 'position',[10 600 70 30],... - 'string','CLIM1-ATL',... - 'callback','climsss_TS_cb'); - - - % bouton Climato SSS mondiale annuelle - bl = uicontrol('style','pushbutton',... - 'position',[10 550 70 30],... - 'string','CLIM2-GLAN',... - 'callback','climsssglan_cb') - - - -% % bouton bucket -% % version BUKKET ( old : bucker fichier .sdf) -% bm = uicontrol('style','pushbutton',... -% 'position',[10 500 50 30],... -% 'string','BUCKET',... -% 'callback','bukket_TS_cb'); - - % bouton bucket - % version BTL - bm = uicontrol('style','pushbutton',... - 'position',[10 500 50 30],... - 'string','BTL',... - 'callback','btl_TS_cb'); - - - % - % bouton statistique flag - bc = uicontrol('style','pushbutton',... - 'position',[10 450 50 30],... - 'string','STATFL',... - 'callback','statflag_cb'); - - % bouton calcul gradient - bg = uicontrol('style','pushbutton',... - 'position',[10 400 50 30],... - 'string','GRADIENT',... - 'callback','cagra1'); - - % bouton validation auto SST/SSS - bw = uicontrol('style','pushbutton',... - 'position',[10 350 70 30],... - 'string','VALID-A(TS)',... - 'callback','validA_TS_cb'); - - % bouton validation interactive SSS - bv = uicontrol('style','pushbutton',... - 'position',[10 310 70 30],... - 'string','VALID-I(S)',... - 'callback','validI_S_cb'); - - bv = uicontrol('style','pushbutton',... - 'position',[10 270 70 30],... - 'string','VALID-II(S)',... - 'callback','validII_S_cb'); - - %texte - bk = uicontrol('style','text',... - 'position',[10 230 80 30],... - 'string','KOD-VALID') - - % valeur valid par pop up - bkod=uicontrol('style','popupmenu',... - 'position',[10 200 80 30],... - 'string',['0 : no QC |1 : good |2 : prob good |3 : prob bad |4 : bad'],... - 'callback','setikod') - - - % bouton sauvegarde - bc = uicontrol('style','pushbutton',... - 'position',[10 130 50 30],... - 'string','SAUVE',... - 'callback','sauve0_TS_cb'); - - % bouton ZOOM/PANO - zoompano - - % bonton de close - bc = uicontrol('style','pushbutton',... - 'position',[10 10 50 30],... - 'string','CLOSE',... - 'callback','close_cb'); - - - - -% bzin = uicontrol('style','pushbutton',... -% 'position',[100 10 50 30],... -% 'string','Z-ON',... -% 'callback','zoomONcb'); -% bzou = uicontrol('style','pushbutton',... -% 'position',[200 10 50 30],... -% 'string','Z-OFF',... -% 'callback','zoomOFFcb'); -% -% -% pin = uicontrol('style','pushbutton',... -% 'position',[400 10 50 30],... -% 'string','P-ON',... -% 'callback','panONcb'); -% pou = uicontrol('style','pushbutton',... -% 'position',[500 10 50 30],... -% 'string','P-OFF',... -% 'callback','panOFFcb'); -% - - % init valeur kod QC - %ikod=-1; - - - % - % graphique TSV avec flag - % % trait en noir - grvali0 - - % puis points couleurs - grvaliS - grvaliT - - % get current figure TSV - GCFTS = gcf - - - - - - - - diff --git a/tsg-util/btl_TS_cb.m b/tsg-util/btl_TS_cb.m deleted file mode 100644 index c23fd7deb0c6bd798def5ca0eeabb18115c870bb..0000000000000000000000000000000000000000 --- a/tsg-util/btl_TS_cb.m +++ /dev/null @@ -1,117 +0,0 @@ - % btl_TS.m - % decodage fichier Bucket du voyage - % version btl ( Y. gouriou mars 2007 - 2 lignes entetes ) - % regression diff SSSS bukket_thermo - % - - % $Id$ - - global dirBUK - global fic -% - % decodage fichier Bucket du voyage - %ficbuc = input(' - fichier BUCKET ( sans extension .BUK) : ','s') - ficbuc = [dirBUK,fic,'.btl']; - % - % yeard : annee de depart - % pour calcul jd des bucket - %yeard=tab(1,3) - - % lecture decodage bucket - [vbuck] = rdbtl(ficbuc); - - % dans vbuck - % yyyy mm dd hh mn tjdb lat lon ssb - tjdb=vbuck(:,6); - sssbu=vbuck(:,9); - - - % plot dans TSV - subplot(3,1,2) - hold on - % en rouge pour mieux voir un ROND - une CROIX - plot(tjdb,sssbu,'or') - plot(tjdb,sssbu,'xr') - datetick('x',20,'keeplimits') - - %========================================================= - % calcul regression et ecart - % - % indice point de mesure - nbbuk=size(tjdb); - for ibuk=1:nbbuk - tjbb=tjdb(ibuk); - % recherche point TSG plus proche bucket - [dp,ind] = min(abs(tjbb-tjy) ); - - sssth(ibuk)=sss(ind); - timbu(ibuk)=tjy(ind); - end - % - % transposé ?? - sssth=sssth'; - timbu=timbu'; - - % ecart - disp('ECART SSS : BUCK - TSG') - difsss = sssbu - sssth - - - % construction vecteur difsss=0 pour trace axe - linzero=zeros(nbrec,1); - - % calcul regression difsss - time - %[p,s,mu]=polyfit(timbu,difsss,1) - pp = polyfit(timbu,difsss,1) - - f1=polyval(pp,timbu); - f2=polyval(pp,tjy); - - % calcul limites - timmin=min(tjy)-1; - timmax=max(tjy)+1; - difmin=min(difsss)- 0.1; - difmax=max(difsss)+ 0.1; - - % PLOT - %plot regression - - % nouvelle figure - regression et ecarts - figure('position',[400 100 600 300]) - - %plot difsss - - % trace axe - plot(tjy,linzero) - axis([timmin timmax difmin difmax]) - axis auto - - % trace dif - hold on - %plot(timbu,difsss,'k.') - plot(timbu,difsss,'+k') - %,'MarkerSize',3,'MarkerFaceColor','k') - - plot(timbu,f1,'or') - plot(tjy,f2) - %,'MarkerSize',2) - %'MarkerFaceColor','r') - - grid - - % affichage polynome dans figure - % coordonnées affichage - texpX=min(tjy); - %texpY=(difmax-difmin)/2 - texpY = max(f2); - strpoly=['coef poly A*tim + B : ',num2str(pp)]; - text(texpX,texpY,char(strpoly)) - - xlabel('TIME ') - datetick('x',20,'keeplimits') - - ylabel(' Diff SSS BUCK - THERMO') - - - % titre - HT = title(fic,'FontSize',15,'FontWeight','bold') diff --git a/tsg-util/bucket_TS_cb.m b/tsg-util/bucket_TS_cb.m deleted file mode 100644 index d67c69ae50dfb8ff4eeae5cbb466d010f1b04810..0000000000000000000000000000000000000000 --- a/tsg-util/bucket_TS_cb.m +++ /dev/null @@ -1,27 +0,0 @@ - % bucket_TS.m - %% decodage fichier Bucket du voyage - - global dirTSG - global fic - - % - %ficbuc = input(' - fichier BUCKET ( sans extension .BUC) : ','s') - ficbuc = [dirTSG,fic,'.BUC']; - % - % yeard : annee de depart - % pour calcul jd des bucket - yeard=tab(1,3) - - % lecture decodage bucket - [vbuck] = rdbucket(ficbuc,yeard); - - % dans vbuck - % yyyy mm dd hh mn jd lat lon ssb - tjdb=vbuck(:,6); - tsssb=vbuck(:,9); - - % graphique bucket SSS dans TSV - subplot(3,1,2) - hold on - plot(tjdb,tsssb,'ok') - plot(tjdb,tsssb,'xk') diff --git a/tsg-util/bukket1_TS_cb.m b/tsg-util/bukket1_TS_cb.m deleted file mode 100644 index fb295e65a83e596856c4c3635e3716295a6d07d6..0000000000000000000000000000000000000000 --- a/tsg-util/bukket1_TS_cb.m +++ /dev/null @@ -1,132 +0,0 @@ - - % bukket_TS.m - %% decodage fichier Bucket du voyage - % version bukket ( fichier .sdf dessier mofifié) - % - % regression diff SSSS bukket_thermo - % - global dirBUK - global fic -% - % decodage fichier Bucket du voyage - %ficbuc = input(' - fichier BUCKET ( sans extension .BUK) : ','s') - ficbuc = [dirBUK,fic,'.BUK']; - % - % yeard : annee de depart - % pour calcul jd des bucket - yeard=tab(1,3) - - % lecture decodage bucket - [vbuck] = rdbukket(ficbuc,yeard); - - % dans vbuck - % yyyy mm dd hh mn tjdb lat lon ssb - tjdb=vbuck(:,6); - sssbu=vbuck(:,9); - - - % plot dans TSV - subplot(3,1,2) - hold on - % en rouge pour mieux voir un ROND - une CROIX - plot(tjdb,sssbu,'or') - plot(tjdb,sssbu,'xr') - datetick('x',20,'keeplimits') - - %========================================================= -% % calcul regression et ecart -% % -% % indice point de mesure -% nbbuk=size(tjdb); -% for ibuk=1:nbbuk -% tjbb=tjdb(ibuk); -% % recherche point TSG plus proche bucket -% [dp,ind] = min(abs(tjbb-tjy) ); -% -% sssth(ibuk)=sss(ind); -% timbu(ibuk)=tjy(ind); -% end -% % -% % transposé ?? -% sssth=sssth'; -% timbu=timbu'; -% -% % ecart -% disp('ECART SSS : BUCK - TSG') -% difsss = sssbu - sssth -% -% -% % construction vecteur difsss=0 pour trace axe -% linzero=zeros(nbrec,1); -% -% % calcul regression difsss - time -% %[p,s,mu]=polyfit(timbu,difsss,1) -% pp = polyfit(timbu,difsss,1) -% -% f1=polyval(pp,timbu); -% f2=polyval(pp,tjy); -% -% % calcul limites -% timmin=min(tjy)-1; -% timmax=max(tjy)+1; -% difmin=min(difsss)- 0.1; -% difmax=max(difsss)+ 0.1; -% -% % PLOT -% %plot regression -% -% % nouvelle figure - regression et ecarts -% figure('position',[400 100 600 300]) -% -% %plot difsss -% -% % trace axe -% plot(tjy,linzero) -% axis([timmin timmax difmin difmax]) -% axis auto -% -% % trace dif -% hold on -% %plot(timbu,difsss,'k.') -% plot(timbu,difsss,'+k') -% %,'MarkerSize',3,'MarkerFaceColor','k') -% -% plot(timbu,f1,'or') -% plot(tjy,f2) -% %,'MarkerSize',2) -% %'MarkerFaceColor','r') -% -% grid -% -% % affichage polynome dans figure -% % coordonnées affichage -% texpX=min(tjy); -% %texpY=(difmax-difmin)/2 -% texpY = max(f2); -% strpoly=['coef poly A*tim + B : ',num2str(pp)]; -% text(texpX,texpY,char(strpoly)) -% -% xlabel('TIME ') -% datetick('x',20,'keeplimits') -% -% ylabel(' Diff SSS BUCK - THERMO') -% - - % titre - HT = title(fic,'FontSize',15,'FontWeight','bold') - - - - - - - - - - - - - - - - diff --git a/tsg-util/bukket_TS_cb.m b/tsg-util/bukket_TS_cb.m deleted file mode 100644 index 0ce540a3296070f0e12b93bd5da33a3de3395508..0000000000000000000000000000000000000000 --- a/tsg-util/bukket_TS_cb.m +++ /dev/null @@ -1,132 +0,0 @@ - - % bukket_TS.m - %% decodage fichier Bucket du voyage - % version bukket ( fichier .sdf dessier mofifié) - % - % regression diff SSSS bukket_thermo - % - global dirBUK - global fic -% - % decodage fichier Bucket du voyage - %ficbuc = input(' - fichier BUCKET ( sans extension .BUK) : ','s') - ficbuc = [dirBUK,fic,'.BUK']; - % - % yeard : annee de depart - % pour calcul jd des bucket - yeard=tab(1,3) - - % lecture decodage bucket - [vbuck] = rdbukket(ficbuc,yeard); - - % dans vbuck - % yyyy mm dd hh mn tjdb lat lon ssb - tjdb=vbuck(:,6); - sssbu=vbuck(:,9); - - - % plot dans TSV - subplot(3,1,2) - hold on - % en rouge pour mieux voir un ROND - une CROIX - plot(tjdb,sssbu,'or') - plot(tjdb,sssbu,'xr') - datetick('x',20,'keeplimits') - - %========================================================= - % calcul regression et ecart - % - % indice point de mesure - nbbuk=size(tjdb); - for ibuk=1:nbbuk - tjbb=tjdb(ibuk); - % recherche point TSG plus proche bucket - [dp,ind] = min(abs(tjbb-tjy) ); - - sssth(ibuk)=sss(ind); - timbu(ibuk)=tjy(ind); - end - % - % transposé ?? - sssth=sssth'; - timbu=timbu'; - - % ecart - disp('ECART SSS : BUCK - TSG') - difsss = sssbu - sssth - - - % construction vecteur difsss=0 pour trace axe - linzero=zeros(nbrec,1); - - % calcul regression difsss - time - %[p,s,mu]=polyfit(timbu,difsss,1) - pp = polyfit(timbu,difsss,1) - - f1=polyval(pp,timbu); - f2=polyval(pp,tjy); - - % calcul limites - timmin=min(tjy)-1; - timmax=max(tjy)+1; - difmin=min(difsss)- 0.1; - difmax=max(difsss)+ 0.1; - - % PLOT - %plot regression - - % nouvelle figure - regression et ecarts - figure('position',[400 100 600 300]) - - %plot difsss - - % trace axe - plot(tjy,linzero) - axis([timmin timmax difmin difmax]) - axis auto - - % trace dif - hold on - %plot(timbu,difsss,'k.') - plot(timbu,difsss,'+k') - %,'MarkerSize',3,'MarkerFaceColor','k') - - plot(timbu,f1,'or') - plot(tjy,f2) - %,'MarkerSize',2) - %'MarkerFaceColor','r') - - grid - - % affichage polynome dans figure - % coordonnées affichage - texpX=min(tjy); - %texpY=(difmax-difmin)/2 - texpY = max(f2); - strpoly=['coef poly A*tim + B : ',num2str(pp)]; - text(texpX,texpY,char(strpoly)) - - xlabel('TIME ') - datetick('x',20,'keeplimits') - - ylabel(' Diff SSS BUCK - THERMO') - - - % titre - HT = title(fic,'FontSize',15,'FontWeight','bold') - - - - - - - - - - - - - - - - diff --git a/tsg-util/cagra1.m b/tsg-util/cagra1.m deleted file mode 100644 index b53b65883a4504e2b777a281c310e71e6ec3c1a9..0000000000000000000000000000000000000000 --- a/tsg-util/cagra1.m +++ /dev/null @@ -1,41 +0,0 @@ -% cagra1 -% calcul gradient -% - %version 1 - % - % utilisation fonction matlab - % - hd = 'calcul gradient matlab' - % - difsss=diff(sss); - difsst=diff(sst); - - %Conversion du pas de temps en minutes - diftjy=diff(tjy)*(24*60); - - % gradients - grasss=difsss./diftjy; - grasst=difsst./diftjy; - % - - % graphique gradient - % main-max valeurs -1/+1 - figure - - subplot(2,1,1) - hist(grasst,10000) - axis([-0.5 0.5 0 100]) - txt1=[fic,' gradient SST (deg/mn)']; - title(char(txt1)) - - subplot(2,1,2) - hist(grasss,10000) - axis([-0.5 0.5 0 100]) - txt2=[fic,' gradient SSS (PSU/mn)']; - title(char(txt2)) - - - - - - diff --git a/tsg-util/cagrad.m b/tsg-util/cagrad.m deleted file mode 100644 index fa1ce0ee10d194b4c6bf138bf0b91f385ab78e45..0000000000000000000000000000000000000000 --- a/tsg-util/cagrad.m +++ /dev/null @@ -1,38 +0,0 @@ -% calcul gradiant SST / SSS -% -% boucle record - grasst(1) = 0.0; - grasss(1) = 0.0; - - %pas de temps ..( a revoir ) - dtime = 1. - - hd = 'calcul gradient' - -for i=2:nbrec - - if(mod(i,1000)==0) disp(i); - end - % - % test valeurs non definis - if(sst(i)==NaN | sss(i)==NaN) then - grasst(i) = NaN; - grasss(i) = NaN; - - else - - % calcul gradients 2 points successifs - dsst = sst(i) - sst (i-1); - dsss = sss(i) - sss(i-1); - - grasst(i) = abs(dsst/dtime); - grasss(i) = abs(dsss/dtime); - - - end - -% fin boucle record - end - % - % - \ No newline at end of file diff --git a/tsg-util/cavit.m b/tsg-util/cavit.m deleted file mode 100644 index d4ccded15a93332eb89796545086b8ae0241d2c5..0000000000000000000000000000000000000000 --- a/tsg-util/cavit.m +++ /dev/null @@ -1,65 +0,0 @@ -%% calcul -%flag vitesse ( fichier thermo ) -% -function[vit]=cavit(lat,lon,nbrec); - -% nbrec : nombre de record valides -% lat - lon -% -% calcul klat .. latitude non definies -% ou -% kod : flag record sans lat-lon -% -% -% vit : flag vitesse -% -%vit(1:nbrec) = 0.0; - -% boucle record - vit(1) = 0.0; - - hd = 'calcul vitesse' - nbrec - % - %epsil=[0.01 0.01]; - -for i=2:nbrec - - if(mod(i,1000)==0) disp(i); - end - % - % test lat / lon definis - % ou ??? - % code record 4 - klat=isnan(lat); - if(klat(i)==1) - %if(kod(i)==4) - vit(i) = NaN; - else - % calcul 2 points successifs - pt1 = [lat(i-1) lon(i-1)]; - pt2 = [lat(i) lon(i)]; - - % flag vitesse - if(pt1 == pt2) vit(i) = 0; - %if ((pt1-pt2) < epsil ) vit(i)=0; - else - vit(i)=1; - end - - - % ============================================== - % calcul distance Nautical Miles - %dist(i)=distance(pt1,pt2); - % calcul intervalle temps difference jour - %tim(i) = tjy(i)-tjy(i-1); - %dtim(i) = dtim(i)/24. - % vitesse en noeud - %vit(i) = dist(i) / dtim(i); - % ================================================ - - end - -% fin boucle record - end - \ No newline at end of file diff --git a/tsg-util/climsss_TS_cb.m b/tsg-util/climsss_TS_cb.m deleted file mode 100644 index 2c88fcae8d424a580d8a82d02e4553d8016aef2c..0000000000000000000000000000000000000000 --- a/tsg-util/climsss_TS_cb.m +++ /dev/null @@ -1,79 +0,0 @@ -% climsss-TS.m -% ajout clim SSS sur graphique TS -% -disp(' gestion - lecture climato sss/ssssd') -% - % gestion et lecture clim - % format AD2 Atlantique - % sss - [D] = rdsssad2; - % clim ssd - [E] = rdssdad2; - - % recup des parametres grille clim - global nblig nbcol latdeb londeb latpas lonpas -% -% extraction valeurs climato SSS et ssssd - - % boucle record -for i=1:nbrec - - if(mod(i,1000)==0) disp(i); - end - % - % test lat / lon definis - if(klat(i)==1) - vcsss(i) = NaN; - vcssd(i) = NaN; - vsssma(i) = NaN; - vsssmi(i) = NaN; - else - -vX(i) = (lon(i)-londeb)/lonpas + 1; -vY(i) = (lat(i)-latdeb)/latpas + 1; -% -% indX(i)=round(vX(i)); -% indY(i)=round(vY(i)); - indX(i)=floor(vX(i)); - indY(i)=floor(vY(i)); - - -% test integrite indice clim - if(indX(i) > nbcol | indY(i) > nblig | indX(i) < 1 | indY(i) < 1 ) - vcsss(i) = NaN; - vcssd(i) = NaN; - vsssma(i) = NaN; - vsssmi(i) = NaN; - else - vcsss(i) = D(indY(i),indX(i)); - vcssd(i) = E(indY(i),indX(i)); - % - vsssma(i) = vcsss(i)+3*vcssd(i); - vsssmi(i) = vcsss(i)-3*vcssd(i); - end - - end -% fin boucle record - end - % - % trace interactif TS ( analysis - zoom) - %blTS - %blTSV - %blTSVLL - % - % trace Clim supperpose TS TSV TSVLL - %subplot(2,1,2) - subplot(3,1,2) - %subplot(5,1,2) - - hold on - plot(tjy,vcsss,'k') - plot(tjy,vcsss,'+c','Markersize',2) - - plot(tjy,vsssma) - plot(tjy,vsssmi) - - % - hold off - %subplot(3,1,1) - %HT = title(fic,'FontSize',15,'FontWeight','bold') diff --git a/tsg-util/climsssglan_cb.m b/tsg-util/climsssglan_cb.m deleted file mode 100644 index a1148e595ef95bd87798462e877d4c6baf530f5e..0000000000000000000000000000000000000000 --- a/tsg-util/climsssglan_cb.m +++ /dev/null @@ -1,111 +0,0 @@ -% climsss_TS_cb_annual.m -% ajout clim SSS/SSSSD sur graphique TS -% -disp(' gestion - lecture climato sss/ssssd') -% - % gestion et lecture clim - % format LEVITUS01 globable - % clim sss - [D] = rdsssgla; - % clim ssd - [E] = rdssdgla; - -clear vcsss -clear vcssd -clear vsssma -clear vsssmi -clear gi -clear gi1 -clear gi2 -clear gi3 -clear gilat -clear gilon - - % recup des parametres grille clim - global latpas lonpas -% -% extraction valeurs climato SSS et ssssd - - % boucle record - - vcsss = NaN*ones(nbrec,1); - vcssd = NaN*ones(nbrec,1); - vsssma = NaN*ones(nbrec,1); - vsssmi = NaN*ones(nbrec,1); - - % - gi=ones(1,nbrec); - for p=1:nbrec-1 - gi(p+1)=gi(p)+1; - end - - % test lat / lon definis - if(klat(gi)==1); - vcsss(gi) = NaN; - vcssd(gi) = NaN; - vsssma(gi) = NaN; - vsssmi(gi) = NaN; - else - -lonpas=1; -latpas=1; - -%determination des indices correspondant dans la matrice - - gi1=find(lon<0); - %indX(gi1)=floor((lon(gi1)+360)/lonpas) + 1; - indX(gi1)=round((lon(gi1)+360)/lonpas) + 1; - gi2=find(lon>=0); - %indX(gi2)=floor(lon(gi2)/lonpas) +1; - indX(gi2)=round(lon(gi2)/lonpas) +1; - gi3=find(isnan(lon)==1); - indX(gi3)=NaN; - - indY(gi)=floor((lat(gi)+90)/latpas) + 1; - -% test integrite indice clim - gi4=find( indX(gi) < 1 | indY(gi) < 1 ); - vcsss(gi(gi4)) = NaN; - vcssd(gi(gi4)) = NaN; - vsssma(gi(gi4)) = NaN; - vsssmi(gi(gi4)) = NaN; - - for j=1:360 - gilat=find(indX==j); - if ~isempty(gilat) - for i=1:180 - gilon=find(indY(gilat)==i); - - vcsss(gilat(gilon)) = D(i,j); - vcssd(gilat(gilon)) = E(i,j); - % - vsssma(gilat(gilon)) = vcsss(gilat(gilon))+3*vcssd(gilat(gilon)); - vsssmi(gilat(gilon)) = vcsss(gilat(gilon))-3*vcssd(gilat(gilon)); - end - end - end - end%if(klat(gi)==1) - - - % - % trace interactif TS ( analysis - zoom) - %blTS - %blTSV - %blTSVLL - % - % trace Clim supperpose TS TSV TSVLL - %subplot(2,1,2) - subplot(3,1,2) - %subplot(5,1,2) - - hold on - plot(tjy,vcsss,'k') - plot(tjy,vcsss,'+m','Markersize',2) - - plot(tjy,vsssma) - plot(tjy,vsssmi) - - % - hold off - %subplot(3,1,1) - %HT = title(fic,'FontSize',15,'FontWeight','bold') diff --git a/tsg-util/climsssnc_cb.m b/tsg-util/climsssnc_cb.m deleted file mode 100644 index 2fed4a025605eb8dbdce630cd402391662c91e88..0000000000000000000000000000000000000000 --- a/tsg-util/climsssnc_cb.m +++ /dev/null @@ -1,122 +0,0 @@ -% climsss_TS_cb_annual.m -% ajout clim SSS/SSSSD sur graphique TS -% -% lecture climSSS .nc -% plot clim SSS +/- 3 std - -% $Id$ - -disp(' gestion - lecture climato WOA01.nc sss/ssssd') -% - % gestion et lecture clim - % format LEVITUS01 globable - % clim sss - % [D] = rdsssgla; - % clim ssd - %[E] = rdssdgla; - - [D,E]=rdsssclimnc; - - % prevoir le chgt LON -180/+180 en 0/360 dans la lecture - % c est fait - -clear vcsss -clear vcssd -clear vsssma -clear vsssmi -clear gi -clear gi1 -clear gi2 -clear gi3 -clear gilat -clear gilon - - % recup des parametres grille clim - global latpas lonpas -% -% extraction valeurs climato SSS et ssssd - - % boucle record - - vcsss = NaN*ones(nbrec,1); - vcssd = NaN*ones(nbrec,1); - vsssma = NaN*ones(nbrec,1); - vsssmi = NaN*ones(nbrec,1); - - % - %gi : indice de record - gi=ones(1,nbrec); - for p=1:nbrec-1 - gi(p+1)=gi(p)+1; - end - - % test lat / lon definis - if(klat(gi)==1); - vcsss(gi) = NaN; - vcssd(gi) = NaN; - vsssma(gi) = NaN; - vsssmi(gi) = NaN; - else - -lonpas=1; -latpas=1; - -%determination des indices correspondant dans la matrice -% pour une grille [0 - 360 ] en longitude - gi1=find(lon<0); - %indX(gi1)=floor((lon(gi1)+360)/lonpas) + 1; - indX(gi1)=round((lon(gi1)+360)/lonpas) + 1; - gi2=find(lon>=0); - %indX(gi2)=floor(lon(gi2)/lonpas) +1; - indX(gi2)=round(lon(gi2)/lonpas) +1; - gi3=find(isnan(lon)==1); - indX(gi3)=NaN; - - indY(gi)=floor((lat(gi)+90)/latpas) + 1; - -% test integrite indice clim - gi4=find( indX(gi) < 1 | indY(gi) < 1 ); - vcsss(gi(gi4)) = NaN; - vcssd(gi(gi4)) = NaN; - vsssma(gi(gi4)) = NaN; - vsssmi(gi(gi4)) = NaN; - - for j=1:360 - gilat=find(indX==j); - if ~isempty(gilat) - for i=1:180 - gilon=find(indY(gilat)==i); - - vcsss(gilat(gilon)) = D(i,j); - vcssd(gilat(gilon)) = E(i,j); - % - vsssma(gilat(gilon)) = vcsss(gilat(gilon))+3*vcssd(gilat(gilon)); - vsssmi(gilat(gilon)) = vcsss(gilat(gilon))-3*vcssd(gilat(gilon)); - end - end - end - end%if(klat(gi)==1) - - - % - % trace interactif TS ( analysis - zoom) - %blTS - %blTSV - %blTSVLL - % - % trace Clim supperpose TS TSV TSVLL - %subplot(2,1,2) - subplot(3,1,2) - %subplot(5,1,2) - - hold on - plot(tjy,vcsss,'k') - plot(tjy,vcsss,'+m','Markersize',2) - - plot(tjy,vsssma) - plot(tjy,vsssmi) - - % - hold off - %subplot(3,1,1) - %HT = title(fic,'FontSize',15,'FontWeight','bold') diff --git a/tsg-util/close_cb.m b/tsg-util/close_cb.m deleted file mode 100644 index 2c8e75c8d9b6ed0351ebceb2ea3901082b4102e7..0000000000000000000000000000000000000000 --- a/tsg-util/close_cb.m +++ /dev/null @@ -1,4 +0,0 @@ -% close-callback -% -close(gcf) -% diff --git a/tsg-util/close_map_cb.m b/tsg-util/close_map_cb.m deleted file mode 100644 index d22c0532cbda0758dd7b59c0cd165b426a437132..0000000000000000000000000000000000000000 --- a/tsg-util/close_map_cb.m +++ /dev/null @@ -1,4 +0,0 @@ -% close_map_cb -% -close(gcf) -% \ No newline at end of file diff --git a/tsg-util/cmd1TSLAT.m b/tsg-util/cmd1TSLAT.m deleted file mode 100644 index d77be16beaed18005e6d8b7046b1073f3f1f29c8..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1TSLAT.m +++ /dev/null @@ -1,23 +0,0 @@ -% creation de 1 case de texte jour julien : jjul -b0 = uicontrol('Style','Text','position', [10 5 100 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -b1 = uicontrol('Style','Text','position', [120 5 40 20]); -b2 = uicontrol('Style','Text','position', [170 5 20 20]); -b3 = uicontrol('Style','Text','position', [200 5 20 20]); -b4 = uicontrol('Style','Text','position', [230 5 20 20]); -b5 = uicontrol('Style','Text','position', [260 5 20 20]); -b6 = uicontrol('Style','Text','position', [290 5 20 20]); -% -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -b7 = uicontrol('Style','Text','position', [340 5 40 20]); -% -b8 = uicontrol('Style','Text','position', [390 5 40 20]); -b9 = uicontrol('Style','Text','position', [440 5 40 20]); -b10 = uicontrol('Style','Text','position', [490 5 40 20]); -b11 = uicontrol('Style','Text','position', [540 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -set(gcf,'WindowButtonMotionFcn','cmd2TSLAT') -% diff --git a/tsg-util/cmd1TSLON.m b/tsg-util/cmd1TSLON.m deleted file mode 100644 index 7a692b1d49c78ae7fe59875156e8c80a7ebab42f..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1TSLON.m +++ /dev/null @@ -1,25 +0,0 @@ -%cmd1 TSLON -% -% creation de 1 case de texte jour julien : jjul -b0 = uicontrol('Style','Text','position', [10 5 100 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -b1 = uicontrol('Style','Text','position', [120 5 40 20]); -b2 = uicontrol('Style','Text','position', [170 5 20 20]); -b3 = uicontrol('Style','Text','position', [200 5 20 20]); -b4 = uicontrol('Style','Text','position', [230 5 20 20]); -b5 = uicontrol('Style','Text','position', [260 5 20 20]); -b6 = uicontrol('Style','Text','position', [290 5 20 20]); -% -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -b7 = uicontrol('Style','Text','position', [340 5 40 20]); -% -b8 = uicontrol('Style','Text','position', [390 5 40 20]); -b9 = uicontrol('Style','Text','position', [440 5 40 20]); -b10 = uicontrol('Style','Text','position', [490 5 40 20]); -b11 = uicontrol('Style','Text','position', [540 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -set(gcf,'WindowButtonMotionFcn','cmd2TSLON ') -% diff --git a/tsg-util/cmd1TSMAP.m b/tsg-util/cmd1TSMAP.m deleted file mode 100644 index dfd35b0b3c1c5b175e8093cda2398dc16c32fde1..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1TSMAP.m +++ /dev/null @@ -1,35 +0,0 @@ -% creation de 1 case de texte jour julien : jjul -B0 = uicontrol('Style','Text','position', [10 30 100 20],'string','Jour Julien'); -b0 = uicontrol('Style','Text','position', [10 5 100 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -B1 = uicontrol('Style','Text','position', [120 30 40 20],'string','YYYY'); -b1 = uicontrol('Style','Text','position', [120 5 40 20]); -B2 = uicontrol('Style','Text','position', [170 30 20 20],'string','MM'); -b2 = uicontrol('Style','Text','position', [170 5 20 20]); -B3 = uicontrol('Style','Text','position', [200 30 20 20],'string','DD'); -b3 = uicontrol('Style','Text','position', [200 5 20 20]); -B4 = uicontrol('Style','Text','position', [230 30 20 20],'string','HH'); -b4 = uicontrol('Style','Text','position', [230 5 20 20]); -B5 = uicontrol('Style','Text','position', [260 30 20 20],'string','MN'); -b5 = uicontrol('Style','Text','position', [260 5 20 20]); -B6 = uicontrol('Style','Text','position', [290 30 20 20],'string','SS'); -b6 = uicontrol('Style','Text','position', [290 5 20 20]); -% -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -B7 = uicontrol('Style','Text','position', [340 30 40 20],'string','IND'); -b7 = uicontrol('Style','Text','position', [340 5 40 20]); -% -B8 = uicontrol('Style','Text','position', [390 30 40 20],'string','LAT'); -b8 = uicontrol('Style','Text','position', [390 5 40 20]); -B9 = uicontrol('Style','Text','position', [440 30 40 20],'string','LON'); -b9 = uicontrol('Style','Text','position', [440 5 40 20]); -B10 = uicontrol('Style','Text','position', [490 30 40 20],'string','SST'); -b10 = uicontrol('Style','Text','position', [490 5 40 20]); -B11 = uicontrol('Style','Text','position', [540 30 40 20],'string','SSS'); -b11 = uicontrol('Style','Text','position', [540 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -set(gcf,'WindowButtonMotionFcn','cmd2TSMAP') -% diff --git a/tsg-util/cmd1TSVMAP.asv b/tsg-util/cmd1TSVMAP.asv deleted file mode 100644 index 83d0b04070262fb7d399edab046258c93c6e7534..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1TSVMAP.asv +++ /dev/null @@ -1,37 +0,0 @@ - -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -B0 = uicontrol('Style','Text','position', [10 30 40 20],'string','IND'); -b0 = uicontrol('Style','Text','position', [10 5 40 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -B1 = uicontrol('Style','Text','position', [60 30 40 20],'string','YYYY'); -b1 = uicontrol('Style','Text','position', [60 5 40 20]); -B2 = uicontrol('Style','Text','position', [110 30 20 20],'string','MM'); -b2 = uicontrol('Style','Text','position', [110 5 20 20]); -B3 = uicontrol('Style','Text','position', [140 30 20 20],'string','DD'); -b3 = uicontrol('Style','Text','position', [140 5 20 20]); -B4 = uicontrol('Style','Text','position', [170 30 20 20],'string','HH'); -b4 = uicontrol('Style','Text','position', [170 5 20 20]); -B5 = uicontrol('Style','Text','position', [200 30 20 20],'string','MN'); -b5 = uicontrol('Style','Text','position', [200 5 20 20]); -B6 = uicontrol('Style','Text','position', [240 30 20 20],'string','SS'); -b6 = uicontrol('Style','Text','position', [240 5 20 20]); -% -% creation de 1 case de texte jour julien : jjul -B7 = uicontrol('Style','Text','position', [290 30 100 20],'string','Jour Julien'); -b7 = uicontrol('Style','Text','position', [290 5 100 20]); -% -B8 = uicontrol('Style','Text','position', [400 30 40 20],'string','LAT'); -b8 = uicontrol('Style','Text','position', [400 5 40 20]); -B9 = uicontrol('Style','Text','position', [450 30 40 20],'string','LON'); -b9 = uicontrol('Style','Text','position', [450 5 40 20]); - -B10 = uicontrol('Style','Text','position', [500 30 40 20],'string','SST'); -b10 = uicontrol('Style','Text','position', [500 5 40 20]); -B11 = uicontrol('Style','Text','position', [550 30 40 20],'string','SSS'); -b11 = uicontrol('Style','Text','position', [550 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -set(gcf,'WindowButtonMotionFcn','cmd2TSVMAP') -% diff --git a/tsg-util/cmd1TSVMAP.m b/tsg-util/cmd1TSVMAP.m deleted file mode 100644 index 83d0b04070262fb7d399edab046258c93c6e7534..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1TSVMAP.m +++ /dev/null @@ -1,37 +0,0 @@ - -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -B0 = uicontrol('Style','Text','position', [10 30 40 20],'string','IND'); -b0 = uicontrol('Style','Text','position', [10 5 40 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -B1 = uicontrol('Style','Text','position', [60 30 40 20],'string','YYYY'); -b1 = uicontrol('Style','Text','position', [60 5 40 20]); -B2 = uicontrol('Style','Text','position', [110 30 20 20],'string','MM'); -b2 = uicontrol('Style','Text','position', [110 5 20 20]); -B3 = uicontrol('Style','Text','position', [140 30 20 20],'string','DD'); -b3 = uicontrol('Style','Text','position', [140 5 20 20]); -B4 = uicontrol('Style','Text','position', [170 30 20 20],'string','HH'); -b4 = uicontrol('Style','Text','position', [170 5 20 20]); -B5 = uicontrol('Style','Text','position', [200 30 20 20],'string','MN'); -b5 = uicontrol('Style','Text','position', [200 5 20 20]); -B6 = uicontrol('Style','Text','position', [240 30 20 20],'string','SS'); -b6 = uicontrol('Style','Text','position', [240 5 20 20]); -% -% creation de 1 case de texte jour julien : jjul -B7 = uicontrol('Style','Text','position', [290 30 100 20],'string','Jour Julien'); -b7 = uicontrol('Style','Text','position', [290 5 100 20]); -% -B8 = uicontrol('Style','Text','position', [400 30 40 20],'string','LAT'); -b8 = uicontrol('Style','Text','position', [400 5 40 20]); -B9 = uicontrol('Style','Text','position', [450 30 40 20],'string','LON'); -b9 = uicontrol('Style','Text','position', [450 5 40 20]); - -B10 = uicontrol('Style','Text','position', [500 30 40 20],'string','SST'); -b10 = uicontrol('Style','Text','position', [500 5 40 20]); -B11 = uicontrol('Style','Text','position', [550 30 40 20],'string','SSS'); -b11 = uicontrol('Style','Text','position', [550 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -set(gcf,'WindowButtonMotionFcn','cmd2TSVMAP') -% diff --git a/tsg-util/cmd1map.m b/tsg-util/cmd1map.m deleted file mode 100644 index 796fc92cd160f3b4a0f1b72ead2afdb0d6e95613..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1map.m +++ /dev/null @@ -1,35 +0,0 @@ -% creation de 1 case de texte jour julien : jjul -B0 = uicontrol('Style','Text','position', [10 30 100 20],'string','Jour Julien'); -b0 = uicontrol('Style','Text','position', [10 5 100 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -B1 = uicontrol('Style','Text','position', [120 30 40 20],'string','YYYY'); -b1 = uicontrol('Style','Text','position', [120 5 40 20]); -B2 = uicontrol('Style','Text','position', [170 30 20 20],'string','MM'); -b2 = uicontrol('Style','Text','position', [170 5 20 20]); -B3 = uicontrol('Style','Text','position', [200 30 20 20],'string','DD'); -b3 = uicontrol('Style','Text','position', [200 5 20 20]); -B4 = uicontrol('Style','Text','position', [230 30 20 20],'string','HH'); -b4 = uicontrol('Style','Text','position', [230 5 20 20]); -B5 = uicontrol('Style','Text','position', [260 30 20 20],'string','MN'); -b5 = uicontrol('Style','Text','position', [260 5 20 20]); -B6 = uicontrol('Style','Text','position', [290 30 20 20],'string','SS'); -b6 = uicontrol('Style','Text','position', [290 5 20 20]); -% -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -B7 = uicontrol('Style','Text','position', [340 30 40 20],'string','IND'); -b7 = uicontrol('Style','Text','position', [340 5 40 20]); - -B8 = uicontrol('Style','Text','position', [390 30 40 20],'string','LAT'); -b8 = uicontrol('Style','Text','position', [390 5 40 20]); -B9 = uicontrol('Style','Text','position', [440 30 40 20],'string','LON'); -b9 = uicontrol('Style','Text','position', [440 5 40 20]); -B10 = uicontrol('Style','Text','position', [490 30 40 20],'string','SST'); -b10 = uicontrol('Style','Text','position', [490 5 40 20]); -B11 = uicontrol('Style','Text','position', [540 30 40 20],'string','SSS'); -b11 = uicontrol('Style','Text','position', [540 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -set(gcf,'WindowButtonMotionFcn','cmd2map') -% diff --git a/tsg-util/cmd1mark.m b/tsg-util/cmd1mark.m deleted file mode 100644 index 6d287f989b8dbe3ba4d81454ea942dcddb2a421b..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1mark.m +++ /dev/null @@ -1,123 +0,0 @@ -% creation de 1 case de texte jour julien : jjul -B0 = uicontrol('Style','Text','position', [10 30 100 20],'string','Jour Julien'); -b0 = uicontrol('Style','Text','position', [10 5 100 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -B1 = uicontrol('Style','Text','position', [120 30 40 20],'string','YYYY'); -b1 = uicontrol('Style','Text','position', [120 5 40 20]); -B2 = uicontrol('Style','Text','position', [170 30 20 20],'string','MM'); -b2 = uicontrol('Style','Text','position', [170 5 20 20]); -B3 = uicontrol('Style','Text','position', [200 30 20 20],'string','DD'); -b3 = uicontrol('Style','Text','position', [200 5 20 20]); -B4 = uicontrol('Style','Text','position', [230 30 20 20],'string','HH'); -b4 = uicontrol('Style','Text','position', [230 5 20 20]); -B5 = uicontrol('Style','Text','position', [260 30 20 20],'string','MN'); -b5 = uicontrol('Style','Text','position', [260 5 20 20]); -B6 = uicontrol('Style','Text','position', [290 30 20 20],'string','SS'); -b6 = uicontrol('Style','Text','position', [290 5 20 20]); -% -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -B7 = uicontrol('Style','Text','position', [340 30 40 20],'string','IND'); -b7 = uicontrol('Style','Text','position', [340 5 40 20]); -% -B8 = uicontrol('Style','Text','position', [390 30 40 20],'string','LAT'); -b8 = uicontrol('Style','Text','position', [390 5 40 20]); -B9 = uicontrol('Style','Text','position', [440 30 40 20],'string','LON'); -b9 = uicontrol('Style','Text','position', [440 5 40 20]); -B10 = uicontrol('Style','Text','position', [490 30 40 20],'string','SST'); -b10 = uicontrol('Style','Text','position', [490 5 40 20]); -B11 = uicontrol('Style','Text','position', [540 30 40 20],'string','SSS'); -b11 = uicontrol('Style','Text','position', [540 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -%set(gcf,'WindowButtonupFcn','') -%set(gcf,'WindowButtonMotionFcn','cmd2TSMAP') -%set(gcf,'WindowButtonDownFcn','cmd2TSMAP') - -%% cmd2 TSMAP -% quand ciurseur en mouvement -% affichage interactif jour julien annee debut -% valeur tableaux -% -% changement curseur -set(gcf,'pointer','fullcrosshair') -% -% Recuperation des coordonnées de la souris -val=get(gca,'CurrentPoint'); -% - %recup valeur jour julien curseur année debut - % en X ( abcisse ) - jjul= val(1,1); - % autre coordonnée - - % dans case texte -set(b0,'string',num2str(jjul)); - -% recherche indice point le plus proche - % minimum distance entre cirseur - valeur - % qui retourne la distance et l indice - [dp,ind1] = min(abs(jjul-tjy)); - % test rejet valeur - if(dp > 0.2) - disp('NOT SELECTED') - vyyyy = NaN; - vmm = NaN; - vdd = NaN; - vhh = NaN; - vmn = NaN; - vss = NaN; - ind1 = NaN; - vlat = NaN; - vlon = NaN; - vsst = NaN; - vsss = NaN; - else - % valeur table - vyyyy = tab(ind1,3); - vmm = tab(ind1,4); - vdd = tab(ind1,5); - vhh = tab(ind1,6); - vmn = tab(ind1,7); - vss = tab(ind1,8); - vlat = tab(ind1,10); - vlon = tab(ind1,11); - vsst = tab(ind1,13); - vsss = tab(ind1,14); - end - % - -% et effichage dans case de texte -% de la valeur du fichier !! pas celle xtraite du curseur ) -set(b1,'string',num2str(vyyyy)); -set(b2,'string',num2str(vmm)); -set(b3,'string',num2str(vdd)); -set(b4,'string',num2str(vhh)); -set(b5,'string',num2str(vmn)); -set(b6,'string',num2str(vss)); -% -% affichage valeurs fichiers -% indice tableau -set(b7,'string',num2str(ind1)); -% -% lat lon sst sss -set(b8,'string',num2str(vlat)); -set(b9,'string',num2str(vlon)); -set(b10,'string',num2str(vsst)); -set(b11,'string',num2str(vsss)); - -% ===================================== -% trace lat-lon dans fenetre MAP -vlon -vlat -% -% dans figure carto trace lat-lon -figure(GCFMAP) -hold on - -m_plot(vlon,vlat,'ok','MarkerSize',6,'MarkerFaceColor','k') -% ========================================================= - - - - diff --git a/tsg-util/cmd1ts.m b/tsg-util/cmd1ts.m deleted file mode 100644 index 05beee333e9a2340d0d3c7e44c5ac6f0cb045b1e..0000000000000000000000000000000000000000 --- a/tsg-util/cmd1ts.m +++ /dev/null @@ -1,73 +0,0 @@ - -%creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -B0 = uicontrol('Style','Text','position', [10 30 40 20],'string','IND'); -b0 = uicontrol('Style','Text','position', [10 5 40 20]); -% -% creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -B1 = uicontrol('Style','Text','position', [60 30 40 20],'string','YYYY'); -b1 = uicontrol('Style','Text','position', [60 5 40 20]); -B2 = uicontrol('Style','Text','position', [110 30 20 20],'string','MM'); -b2 = uicontrol('Style','Text','position', [110 5 20 20]); -B3 = uicontrol('Style','Text','position', [140 30 20 20],'string','DD'); -b3 = uicontrol('Style','Text','position', [140 5 20 20]); -B4 = uicontrol('Style','Text','position', [170 30 20 20],'string','HH'); -b4 = uicontrol('Style','Text','position', [170 5 20 20]); -B5 = uicontrol('Style','Text','position', [200 30 20 20],'string','MN'); -b5 = uicontrol('Style','Text','position', [200 5 20 20]); -B6 = uicontrol('Style','Text','position', [240 30 20 20],'string','SS'); -b6 = uicontrol('Style','Text','position', [240 5 20 20]); -% -% creation de 1 case de texte jour julien : jjul -B7 = uicontrol('Style','Text','position', [290 30 100 20],'string','Jour Julien'); -b7 = uicontrol('Style','Text','position', [290 5 100 20]); -% -B8 = uicontrol('Style','Text','position', [400 30 40 20],'string','LAT'); -b8 = uicontrol('Style','Text','position', [400 5 40 20]); -B9 = uicontrol('Style','Text','position', [450 30 40 20],'string','LON'); -b9 = uicontrol('Style','Text','position', [450 5 40 20]); - -B10 = uicontrol('Style','Text','position', [500 30 40 20],'string','SST'); -b10 = uicontrol('Style','Text','position', [500 5 40 20]); -B11 = uicontrol('Style','Text','position', [550 30 40 20],'string','SSS'); -b11 = uicontrol('Style','Text','position', [550 5 40 20]); - -% execution de "cmd2" a chaque deplacement de la souris -% recuperation valeur courante axe X ( time) -set(gcf,'WindowButtonMotionFcn','cmd2ts') - -% -% % creation de 1 case de texte jour julien : jjul -% B0 = uicontrol('Style','Text','position', [10 30 100 20],'string','Jour Julien'); -% b0 = uicontrol('Style','Text','position', [10 5 100 20]); -% % -% % creation de 6 cases de texte jour gregorien : yyyy mm dd hh mn ss -% B1 = uicontrol('Style','Text','position', [120 30 40 20],'string','YYYY'); -% b1 = uicontrol('Style','Text','position', [120 5 40 20]); -% B2 = uicontrol('Style','Text','position', [170 30 20 20],'string','MM'); -% b2 = uicontrol('Style','Text','position', [170 5 20 20]); -% B3 = uicontrol('Style','Text','position', [200 30 20 20],'string','DD'); -% b3 = uicontrol('Style','Text','position', [200 5 20 20]); -% B4 = uicontrol('Style','Text','position', [230 30 20 20],'string','HH'); -% b4 = uicontrol('Style','Text','position', [230 5 20 20]); -% B5 = uicontrol('Style','Text','position', [260 30 20 20],'string','MN'); -% b5 = uicontrol('Style','Text','position', [260 5 20 20]); -% B6 = uicontrol('Style','Text','position', [290 30 20 20],'string','SS'); -% b6 = uicontrol('Style','Text','position', [290 5 20 20]); -% % -% %creation de 5 cases (de plus) pour indice tableau, sst, sss , lat , lon -% B7 = uicontrol('Style','Text','position', [340 30 40 20],'string','IND'); -% b7 = uicontrol('Style','Text','position', [340 5 40 20]); -% % -% B8 = uicontrol('Style','Text','position', [390 30 40 20],'string','LAT'); -% b8 = uicontrol('Style','Text','position', [390 5 40 20]); -% B9 = uicontrol('Style','Text','position', [440 30 40 20],'string','LON'); -% b9 = uicontrol('Style','Text','position', [440 5 40 20]); -% B10 = uicontrol('Style','Text','position', [490 30 40 20],'string','SST'); -% b10 = uicontrol('Style','Text','position', [490 5 40 20]); -% B11 = uicontrol('Style','Text','position', [540 30 40 20],'string','SSS'); -% b11 = uicontrol('Style','Text','position', [540 5 40 20]); -% -% % execution de "cmd2" a chaque deplacement de la souris -% % recuperation valeur courante axe X ( time) -% set(gcf,'WindowButtonMotionFcn','cmd2TS') -% % diff --git a/tsg-util/cmd2TSLAT.m b/tsg-util/cmd2TSLAT.m deleted file mode 100644 index b8cd60e00e020b50deb589241a4b94c86d707bce..0000000000000000000000000000000000000000 --- a/tsg-util/cmd2TSLAT.m +++ /dev/null @@ -1,80 +0,0 @@ -% cmd2 TSLAT -% affichage interactif jour julien annee debut -% valeur tableaux -% -% a generaliser pour l analyse d un graphe a 2 dimension X - Y -% -% changement curseur -set(gcf,'pointer','fullcrosshair') -% -% Recuperation des coordonnées de la souris -val=get(gca,'CurrentPoint'); -% -% 2 dimensions -% abcisse SSS ou SST suivant subplot -valx = val(1,1); -% ordonée LAT -valy = val(1,2); - -gca; - - % calcul du point le plus proche de la souris - % ind1 : indice tableau valeur - if(gca==gca1); - % GCA1 SST - [dp,ind1] = min( (sst-valx).^2 + (lat-valy).^2 ) -else - % GCA2 SSS - [dp,ind1] = min( (sss-valx).^2 + (lat-valy).^2 ) -end - % - % - % test distance max - if(dp > 0.1) - disp('NOT SELECTED') - ind1 = NaN; - vyyyy = NaN; - vmm = NaN; - vdd = NaN; - vhh = NaN; - vmn = NaN; - vss = NaN; - vjd = NaN; - vlat = NaN; - vlon = NaN; - vsst = NaN; - vsss = NaN; - else - vyyyy = tab(ind1,3); - vmm = tab(ind1,4); - vdd = tab(ind1,5); - vhh = tab(ind1,6); - vmn = tab(ind1,7); - vss = tab(ind1,8); - vjd = tab(ind1,9); - vlat = tab(ind1,10); - vlon = tab(ind1,11); - vsst = tab(ind1,13); - vsss = tab(ind1,14); - end -% affichage jour julien -set(b0,'string',num2str(vjd)); - -% et effichage dans case de texte -% de la valeur du fichier !! pas celle xtraite du curseur ) -set(b1,'string',num2str(vyyyy)); -set(b2,'string',num2str(vmm)); -set(b3,'string',num2str(vdd)); -set(b4,'string',num2str(vhh)); -set(b5,'string',num2str(vmn)); -set(b6,'string',num2str(vss)); -% -% affichage valeurs fichiers -% indice tableau -set(b7,'string',num2str(ind1)); -% -% lat lon sst sss -set(b8,'string',num2str(vlat)); -set(b9,'string',num2str(vlon)); -set(b10,'string',num2str(vsst)); -set(b11,'string',num2str(vsss)); diff --git a/tsg-util/cmd2TSLON.m b/tsg-util/cmd2TSLON.m deleted file mode 100644 index 0c51b99486c280b2ed1a51d89f26ecad4a42a186..0000000000000000000000000000000000000000 --- a/tsg-util/cmd2TSLON.m +++ /dev/null @@ -1,81 +0,0 @@ -% cmd2 TSLON -% affichage interactif jour julien annee debut -% valeur tableaux -% -% a generaliser pour l analyse d un graphe a 2 dimension X - Y -% -% changement curseur -set(gcf,'pointer','fullcrosshair') -% -% Recuperation des coordonnées de la souris -val=get(gca,'CurrentPoint'); -% -% 2 dimensions -% graphe horizontal SSS.SST vs LON -% ordonnée SSS ou SST suivant subplot -valy = val(1,2); -% abcisse LON -valx = val(1,1); - -gca; - - % calcul du point le plus proche de la souris - % ind1 : indice tableau valeur - if(gca==gca1); - % GCA1 SST - [dp,ind1] = min( (lon-valx).^2 + (sst-valy).^2 ) -else - % GCA2 SSS - [dp,ind1] = min( (lon-valx).^2 + (sss-valy).^2 ) -end - % - % - % test distance max - if(dp > 0.1) - disp('NOT SELECTED') - ind1 = NaN; - vyyyy = NaN; - vmm = NaN; - vdd = NaN; - vhh = NaN; - vmn = NaN; - vss = NaN; - vjd = NaN; - vlat = NaN; - vlon = NaN; - vsst = NaN; - vsss = NaN; - else - vyyyy = tab(ind1,3); - vmm = tab(ind1,4); - vdd = tab(ind1,5); - vhh = tab(ind1,6); - vmn = tab(ind1,7); - vss = tab(ind1,8); - vjd = tab(ind1,9); - vlat = tab(ind1,10); - vlon = tab(ind1,11); - vsst = tab(ind1,13); - vsss = tab(ind1,14); - end -% affichage jour julien -set(b0,'string',num2str(vjd)); - -% et effichage dans case de texte -% de la valeur du fichier !! pas celle xtraite du curseur ) -set(b1,'string',num2str(vyyyy)); -set(b2,'string',num2str(vmm)); -set(b3,'string',num2str(vdd)); -set(b4,'string',num2str(vhh)); -set(b5,'string',num2str(vmn)); -set(b6,'string',num2str(vss)); -% -% affichage valeurs fichiers -% indice tableau -set(b7,'string',num2str(ind1)); -% -% lat lon sst sss -set(b8,'string',num2str(vlat)); -set(b9,'string',num2str(vlon)); -set(b10,'string',num2str(vsst)); -set(b11,'string',num2str(vsss)); diff --git a/tsg-util/cmd2TSMAP.m b/tsg-util/cmd2TSMAP.m deleted file mode 100644 index 461cf5fee557325d537b8788dda8f127d8c7e3d3..0000000000000000000000000000000000000000 --- a/tsg-util/cmd2TSMAP.m +++ /dev/null @@ -1,72 +0,0 @@ -% cmd2 TSMAP -% quand curseur en mouvement -% affichage interactif jour julien annee debut -% valeur tableaux -% -% changement curseur -set(gcf,'pointer','fullcrosshair') -% -% Recuperation des coordonnées de la souris -val=get(gca,'CurrentPoint'); -% - %recup valeur jour julien curseur année debut - % en X ( abcisse ) - jjul= val(1,1); - % autre coordonnée - - % dans case texte -set(b0,'string',num2str(jjul)); - -% recherche indice point le plus proche - % minimum distance entre cirseur - valeur - % qui retourne la distance et l indice - [dp,ind1] = min(abs(jjul-tjy)); - % test rejet valeur - if(dp > 0.2) - disp('NOT SELECTED') - vyyyy = NaN; - vmm = NaN; - vdd = NaN; - vhh = NaN; - vmn = NaN; - vss = NaN; - ind1 = NaN; - vlat = NaN; - vlon = NaN; - vsst = NaN; - vsss = NaN; - else - % valeur table - vyyyy = tab(ind1,3); - vmm = tab(ind1,4); - vdd = tab(ind1,5); - vhh = tab(ind1,6); - vmn = tab(ind1,7); - vss = tab(ind1,8); - vjd = tab(ind1,9); - vlat = tab(ind1,10); - vlon = tab(ind1,11); - vsst = tab(ind1,13); - vsss = tab(ind1,14); - end - % - -% et effichage dans case de texte -% de la valeur du fichier !! pas celle xtraite du curseur ) -set(b1,'string',num2str(vyyyy)); -set(b2,'string',num2str(vmm)); -set(b3,'string',num2str(vdd)); -set(b4,'string',num2str(vhh)); -set(b5,'string',num2str(vmn)); -set(b6,'string',num2str(vss)); -% -% affichage valeurs fichiers -% indice tableau -set(b7,'string',num2str(ind1)); -% -% lat lon sst sss -set(b8,'string',num2str(vlat)); -set(b9,'string',num2str(vlon)); -set(b10,'string',num2str(vsst)); -set(b11,'string',num2str(vsss)); - diff --git a/tsg-util/cmd2TSVMAP.m b/tsg-util/cmd2TSVMAP.m deleted file mode 100644 index 660255860e08a08161df938be6999573fdafc5f8..0000000000000000000000000000000000000000 --- a/tsg-util/cmd2TSVMAP.m +++ /dev/null @@ -1,74 +0,0 @@ -% cmd2 TSVMAP -% quand curseur en mouvement -% affichage interactif jour julien annee debut -% valeur tableaux -% -% changement curseur -set(gcf,'pointer','fullcrosshair') -% -% Recuperation des coordonnées de la souris -val=get(gca,'CurrentPoint'); -% - %recup valeur jour julien curseur année debut - % en X ( abcisse ) - jjul= val(1,1); - % autre coordonnée - - % dans case texte -%set(b0,'string',num2str(jjul)); - -% recherche indice point le plus proche - % minimum distance entre cirseur - valeur - % qui retourne la distance et l indice - [dp,ind1] = min(abs(jjul-tjy)); - % test rejet valeur - if(dp > 0.2) - disp('NOT SELECTED') - vyyyy = NaN; - vmm = NaN; - vdd = NaN; - vhh = NaN; - vmn = NaN; - vss = NaN; - ind1 = NaN; - vlat = NaN; - vlon = NaN; - vsst = NaN; - vsss = NaN; - else - % valeur table - vyyyy = tab(ind1,3); - vmm = tab(ind1,4); - vdd = tab(ind1,5); - vhh = tab(ind1,6); - vmn = tab(ind1,7); - vss = tab(ind1,8); - vjd = tab(ind1,9); - vlat = tab(ind1,10); - vlon = tab(ind1,11); - vsst = tab(ind1,13); - vsss = tab(ind1,14); - end - % - - % et effichage dans case de texte -% indice tableau -set(b0,'string',num2str(ind1)); - -% de la valeur du fichier !! pas celle xtraite du curseur ) -set(b1,'string',num2str(vyyyy)); -set(b2,'string',num2str(vmm)); -set(b3,'string',num2str(vdd)); -set(b4,'string',num2str(vhh)); -set(b5,'string',num2str(vmn)); -set(b6,'string',num2str(vss)); -% -% jour julien matlab -set(b7,'string',num2str(jjul)); - -% lat lon sst sss -set(b8,'string',num2str(vlat)); -set(b9,'string',num2str(vlon)); -set(b10,'string',num2str(vsst)); -set(b11,'string',num2str(vsss)); - diff --git a/tsg-util/cmd2map.m b/tsg-util/cmd2map.m deleted file mode 100644 index 8d67899244a6b436ec85ce17051c3c2b71f87349..0000000000000000000000000000000000000000 --- a/tsg-util/cmd2map.m +++ /dev/null @@ -1,78 +0,0 @@ -% cmd2 -% -% changement curseur -set(gcf,'pointer','fullcrosshair') -% -% Recuperation des coordonnées de la souris -val=get(gca,'CurrentPoint'); -% -% affichage des coordonnées X et Y dans la case de texte -% on recupere bien lon et lat sous le curseur -curx = val(1,1); -cury = val(1,2); - -[valx,valy] = m_xy2ll(curx,cury); -% -% recherche indice point le plus proche - % ind = find( (abs(valx-lon))<0.05 & (abs(valy-lat))<0.05 ) - %indx = find( (abs(valx-lon))<0.02 ) - %ind1 = indx(1) - %indy = find( (abs(valy-lat))<0.02 ) - %ind2 = indy(1) - % - % calcul du point le plus proche de la souris - % ind1 : indice tableau valeur - [dp,ind1] = min( (lon-valx).^2 + (lat-valy).^2 ); - % test distance max - if(dp > 0.1) - disp('NOT SELECTED') - ind1 = NaN; - vyyyy = NaN; - vmm = NaN; - vdd = NaN; - vhh = NaN; - vmn = NaN; - vss = NaN; - vjd = NaN; - vlat = NaN; - vlon = NaN; - vsst = NaN; - vsss = NaN; - else - vyyyy = tab(ind1,3); - vmm = tab(ind1,4); - vdd = tab(ind1,5); - vhh = tab(ind1,6); - vmn = tab(ind1,7); - vss = tab(ind1,8); - vjd = tab(ind1,9); - vlat = tab(ind1,10); - vlon = tab(ind1,11); - vsst = tab(ind1,13); - vsss = tab(ind1,14); - end - -%set(b0,'string',num2str(valx)); -% -%recup valeur jour julien - % jjul= val(1,1); - % jour gregorien yyyy mm dd hh mn ss - % jgre = gregorian(jjul); -% - -% et effichage valeurs dans case de texte -set(b0,'string',num2str(vjd)); -set(b1,'string',num2str(vyyyy)); -set(b2,'string',num2str(vmm)); -set(b3,'string',num2str(vdd)); -set(b4,'string',num2str(vhh)); -set(b5,'string',num2str(vmn)); -set(b6,'string',num2str(vss)); -% -set(b7,'string',num2str(ind1)); -% -set(b8,'string',num2str(vlat)); -set(b9,'string',num2str(vlon)); -set(b10,'string',num2str(vsst)); -set(b11,'string',num2str(vsss)); - diff --git a/tsg-util/cmd2ts.m b/tsg-util/cmd2ts.m deleted file mode 100644 index eeef963cf64aec0fb9199716ebeb7011d0192cde..0000000000000000000000000000000000000000 --- a/tsg-util/cmd2ts.m +++ /dev/null @@ -1,147 +0,0 @@ -% cmd2 TSVMAP -% quand curseur en mouvement -% affichage interactif jour julien annee debut -% valeur tableaux -% -% changement curseur -set(gcf,'pointer','fullcrosshair') -% -% Recuperation des coordonnées de la souris -val=get(gca,'CurrentPoint'); -% - %recup valeur jour julien curseur année debut - % en X ( abcisse ) - jjul= val(1,1); - % autre coordonnée - - % dans case texte -%set(b0,'string',num2str(jjul)); - -% recherche indice point le plus proche - % minimum distance entre cirseur - valeur - % qui retourne la distance et l indice - [dp,ind1] = min(abs(jjul-tjy)); - % test rejet valeur - if(dp > 0.2) - disp('NOT SELECTED') - vyyyy = NaN; - vmm = NaN; - vdd = NaN; - vhh = NaN; - vmn = NaN; - vss = NaN; - ind1 = NaN; - vlat = NaN; - vlon = NaN; - vsst = NaN; - vsss = NaN; - else - % valeur table - vyyyy = tab(ind1,3); - vmm = tab(ind1,4); - vdd = tab(ind1,5); - vhh = tab(ind1,6); - vmn = tab(ind1,7); - vss = tab(ind1,8); - vjd = tab(ind1,9); - vlat = tab(ind1,10); - vlon = tab(ind1,11); - vsst = tab(ind1,13); - vsss = tab(ind1,14); - end - % - - % et effichage dans case de texte -% indice tableau -set(b0,'string',num2str(ind1)); - -% de la valeur du fichier !! pas celle xtraite du curseur ) -set(b1,'string',num2str(vyyyy)); -set(b2,'string',num2str(vmm)); -set(b3,'string',num2str(vdd)); -set(b4,'string',num2str(vhh)); -set(b5,'string',num2str(vmn)); -set(b6,'string',num2str(vss)); -% -% jour julien matlab -set(b7,'string',num2str(jjul)); - -% lat lon sst sss -set(b8,'string',num2str(vlat)); -set(b9,'string',num2str(vlon)); -set(b10,'string',num2str(vsst)); -set(b11,'string',num2str(vsss)); - - - -% -% % cmd2 -% % affichage interactif jour julien annee debut -% % valeur tableaux -% % -% % changement curseur -% set(gcf,'pointer','fullcrosshair') -% % -% % Recuperation des coordonnées de la souris -% val=get(gca,'CurrentPoint'); -% % -% %recup valeur jour julien curseur année debut -% % en X ( abcisse ) -% jjul= val(1,1); -% % autre coordonnée -% -% % dans case texte -% set(b0,'string',num2str(jjul)); -% -% % recherche indice point le plus proche -% % minimum distance entre cirseur - valeur -% % qui retourne la distance et l indice -% [dp,ind1] = min(abs(jjul-tjy)); -% % test rejet valeur -% if(dp > 0.2) -% disp('NOT SELECTED') -% vyyyy = NaN; -% vmm = NaN; -% vdd = NaN; -% vhh = NaN; -% vmn = NaN; -% vss = NaN; -% ind1 = NaN; -% vlat = NaN; -% vlon = NaN; -% vsst = NaN; -% vsss = NaN; -% else -% % valeur table -% vyyyy = tab(ind1,3); -% vmm = tab(ind1,4); -% vdd = tab(ind1,5); -% vhh = tab(ind1,6); -% vmn = tab(ind1,7); -% vss = tab(ind1,8); -% vlat = tab(ind1,10); -% vlon = tab(ind1,11); -% vsst = tab(ind1,13); -% vsss = tab(ind1,14); -% end -% % -% -% % et effichage dans case de texte -% % de la valeur du fichier !! pas celle xtraite du curseur ) -% set(b1,'string',num2str(vyyyy)); -% set(b2,'string',num2str(vmm)); -% set(b3,'string',num2str(vdd)); -% set(b4,'string',num2str(vhh)); -% set(b5,'string',num2str(vmn)); -% set(b6,'string',num2str(vss)); -% % -% % affichage valeurs fichiers -% % indice tableau -% set(b7,'string',num2str(ind1)); -% % -% % lat lon sst sss -% set(b8,'string',num2str(vlat)); -% set(b9,'string',num2str(vlon)); -% set(b10,'string',num2str(vsst)); -% set(b11,'string',num2str(vsss)); -% diff --git a/tsg-util/cmd3TSLAT.m b/tsg-util/cmd3TSLAT.m deleted file mode 100644 index 4e61621aaa385181d4e9f54001ebc4d47a97b493..0000000000000000000000000000000000000000 --- a/tsg-util/cmd3TSLAT.m +++ /dev/null @@ -1,25 +0,0 @@ -% cmd3 -% -% changement cirseur -set(gcf,'pointer','arrow') -% -% supression de la commande "cmd2" -% qui était associée au déplacement de la souris -set(gcf,'WindowButtonMotionFcn',''); -% -% supression des case de texte -delete(b0); -% -delete(b1); -delete(b2); -delete(b3); -delete(b4); -delete(b5); -delete(b6); -% -delete(b7); -% -delete(b8); -delete(b9); -delete(b10); -delete(b11); diff --git a/tsg-util/cmd3TSLON.m b/tsg-util/cmd3TSLON.m deleted file mode 100644 index e5b9352e51d75f5025ca9f6d51381154853c743f..0000000000000000000000000000000000000000 --- a/tsg-util/cmd3TSLON.m +++ /dev/null @@ -1,26 +0,0 @@ -% cmd3 -% TSLON -% -% changement cirseur -set(gcf,'pointer','arrow') -% -% supression de la commande "cmd2" -% qui était associée au déplacement de la souris -set(gcf,'WindowButtonMotionFcn',''); -% -% supression des case de texte -delete(b0); -% -delete(b1); -delete(b2); -delete(b3); -delete(b4); -delete(b5); -delete(b6); -% -delete(b7); -% -delete(b8); -delete(b9); -delete(b10); -delete(b11); diff --git a/tsg-util/cmd3TSMAP.m b/tsg-util/cmd3TSMAP.m deleted file mode 100644 index 75007e8df7318ce59941ad73df5c8c4763eebd64..0000000000000000000000000000000000000000 --- a/tsg-util/cmd3TSMAP.m +++ /dev/null @@ -1,65 +0,0 @@ -% cmd3 TSMAP - -% supression de la commande "cmd2" -% qui était associée au déplacement de la souris -set(gcf,'WindowButtonMotionFcn',''); -% -% ==================================================== -% trace SSS / SST vs time dans fenetre TS -figure(GCFTS) - -subplot(2,1,1) -hold on -plot(vjd,vsst,'ok','MarkerSize',6,'MarkerFaceColor','k') - - -subplot(2,1,2) -hold on -plot(vjd,vsss,'ok','MarkerSize',6,'MarkerFaceColor','k') -% ===================================== -% trace lat-lon dans fenetre MAP -%vlon -%vlat -% -% dans figure carto trace lat-lon -figure(GCFMAP) -hold on -m_plot(vlon,vlat,'ok','MarkerSize',6,'MarkerFaceColor','k') -% ========================================================= - % changement curseur -%set(gcf,'pointer','arrow') -set(GCFTS,'pointer','arrow') -%set(GCFMAP,'pointer','arrow') - - -% -% supression des case de texte -delete(b0); -% -delete(b1); -delete(b2); -delete(b3); -delete(b4); -delete(b5); -delete(b6); -% -delete(b7); -% -delete(b8); -delete(b9); -delete(b10); -delete(b11); - - -delete(B0); -delete(B1); -delete(B2); -delete(B3); -delete(B4); -delete(B5); -delete(B6); -delete(B7); -delete(B8); -delete(B9); -delete(B10); -delete(B11); diff --git a/tsg-util/cmd3TSVMAP.m b/tsg-util/cmd3TSVMAP.m deleted file mode 100644 index dd0f81f3a5b7fc6027c9443b9495663b5e6da2bb..0000000000000000000000000000000000000000 --- a/tsg-util/cmd3TSVMAP.m +++ /dev/null @@ -1,65 +0,0 @@ -% cmd3 TSVMAP - -% supression de la commande "cmd2" -% qui était associée au déplacement de la souris -set(gcf,'WindowButtonMotionFcn',''); -% -% ==================================================== -% trace SSS / SST vs time dans fenetre TS -figure(GCFTS) - -subplot(3,1,1) -hold on -plot(vjd,vsst,'ok','MarkerSize',6,'MarkerFaceColor','k') - - -subplot(3,1,2) -hold on -plot(vjd,vsss,'ok','MarkerSize',6,'MarkerFaceColor','k') -% ===================================== -% trace lat-lon dans fenetre MAP -%vlon -%vlat -% -% dans figure carto trace lat-lon -figure(GCFMAP) -hold on -m_plot(vlon,vlat,'ok','MarkerSize',6,'MarkerFaceColor','k') -% ========================================================= - % changement curseur -%set(gcf,'pointer','arrow') -set(GCFTS,'pointer','arrow') -%set(GCFMAP,'pointer','arrow') - - -% -% supression des case de texte -delete(b0); -% -delete(b1); -delete(b2); -delete(b3); -delete(b4); -delete(b5); -delete(b6); -% -delete(b7); -% -delete(b8); -delete(b9); -delete(b10); -delete(b11); - - -delete(B0); -delete(B1); -delete(B2); -delete(B3); -delete(B4); -delete(B5); -delete(B6); -delete(B7); -delete(B8); -delete(B9); -delete(B10); -delete(B11); diff --git a/tsg-util/cmd3map.m b/tsg-util/cmd3map.m deleted file mode 100644 index 756c62462e8e6c21e5122b925fb3c50323706298..0000000000000000000000000000000000000000 --- a/tsg-util/cmd3map.m +++ /dev/null @@ -1,38 +0,0 @@ -% cmd3 -% -% changement curseur -set(gcf,'pointer','arrow') -% -% supression de la commande "cmd2" -% qui était associée au déplacement de la souris -set(gcf,'WindowButtonMotionFcn',''); -% -% supression des cases de texte -delete(b0); -% -delete(b1); -delete(b2); -delete(b3); -delete(b4); -delete(b5); -delete(b6); -% -delete(b7); -% -delete(b8); -delete(b9); -delete(b10); -delete(b11); - -delete(B0); -delete(B1); -delete(B2); -delete(B3); -delete(B4); -delete(B5); -delete(B6); -delete(B7); -delete(B8); -delete(B9); -delete(B10); -delete(B11); diff --git a/tsg-util/cmd3ts.m b/tsg-util/cmd3ts.m deleted file mode 100644 index 36568a2848c9cad34a01d9cabd661a39ab63c4f2..0000000000000000000000000000000000000000 --- a/tsg-util/cmd3ts.m +++ /dev/null @@ -1,39 +0,0 @@ -% cmd3 -% -% changement cirseur -set(gcf,'pointer','arrow') -% -% supression de la commande "cmd2" -% qui était associée au déplacement de la souris -set(gcf,'WindowButtonMotionFcn',''); -% -% supression des case de texte -delete(b0); -% -delete(b1); -delete(b2); -delete(b3); -delete(b4); -delete(b5); -delete(b6); -% -delete(b7); -% -delete(b8); -delete(b9); -delete(b10); -delete(b11); - - -delete(B0); -delete(B1); -delete(B2); -delete(B3); -delete(B4); -delete(B5); -delete(B6); -delete(B7); -delete(B8); -delete(B9); -delete(B10); -delete(B11); diff --git a/tsg-util/correction.m b/tsg-util/correction.m deleted file mode 100644 index 3f3703d8296d44bc1de557c80c46a43c7916ed34..0000000000000000000000000000000000000000 --- a/tsg-util/correction.m +++ /dev/null @@ -1,288 +0,0 @@ -function [ncfile_name,sss_tsg_cor,tab_0,vbuck_0,sss_tsg_lis,tab_lis,TSG_co,SAL_diff,Points_elimines,COR,erreur_mediane,COR_mediane,datestr_TSG,datestr_Bucket]=correction(tab,vbuck,fic) - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Etape 0 : Nettoyage des donnees -% - elimination qd pas de position, pas de salinite, pas de date - -% function [tab_0,vbuck_0]=etape0_nett_donnes(tab,vbuck) - -tab_01=tab(find(tab(:,9)<datenum(2007,01,01)),:); -tab_02=tab_01(find(tab_01(:,10)<90 & tab_01(:,10)>-90),:); -tab_03=tab_02(find(tab_02(:,11)<180 & tab_02(:,11)>-180),:); -tab_04=tab_03(find(tab_03(:,14)<45 & tab_03(:,14)>1), :); - -tab_0=tab_04; - -vbuck_0=vbuck(find(vbuck(:,9)<45),:); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ETAPE 1: lissage des mesures TSG -% methode de la moyenne glissante avec 1h pour l intervalle de temps - -% function [sss_tsg_lis,tab_lis]=etape1_lissage_tsg(tab_0) - - sss_tsg=tab_0(:,14); % salinite - tjmat=tab_0(:,9) ; % temps - inttsg=1/24; % intervalle de temps pour la moyenne glissante : 1 heure - smin=1; smax=45; %limites acceptables en salinite (psu) - ectlim=0.005; - -for ns = 1:length(sss_tsg) - cond1 = tjmat>=tjmat(ns)-inttsg/2 & tjmat<tjmat(ns)+inttsg/2 ; % points dans l'intervalle considere - cond2 = sss_tsg~=9999 ; % exclusion des points aberrants - is = find(cond1 & cond2) ; in = is ; - if ~isempty(in) - ect = Inf ; ectprec = 0 ; - while ect>ectlim & ect~=ectprec - ectprec = ect ; - ect = std(sss_tsg(in)) ; moy = mean(sss_tsg(in)) ; % ecart-type, moyenne sur l'intervalle - in = find(sss_tsg(is)>=moy-ect & sss_tsg(is)<=moy+ect) ; in = is(in) ; % indice des points pris en compte - end - sss_tsg_lis(ns) = mean(sss_tsg(in)); - tjmat_lis(ns)=tjmat(ns); - else - sss_tsg_lis(ns) = 9999 ; - tjmat_lis(ns)=9999; - end -end - -tab_lis=tab_0; - -tab_lis(:,14)=sss_tsg_lis; -tab_lis(:,9)=tjmat_lis; - - -figure - -plot(tab(:,9),tab(:,14),'color','b','LineWidth',1) -hold on -plot(tab_lis(:,9),tab_lis(:,14),'color','r','LineWidth',1) -hold on -datetick('x',20) - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ETAPE 2: co-location des prelevements et des mesures TSG -% calcul de la difference donnée Bouteille - donnée TSG en chaque -% point de co-localisation - -% exclusion des points aberrants (ecart trop grand.....à definir par ex: -% SAL_diff>mean(SAL_diff)++3*std(SAL_diff) - - -% function [TSG_co,SAL_diff,Points_elimines,COR,erreur_mediane,erreur1,erreur2,COR_mediane]=etape3_tsg_co(tab_lis,vbuck_0,tab) - - -sss_tsg_lis=tab_lis(:,14); % extraction des données salinité du TSG -tjmat_lis=tab_lis(:,9); -tjmat=tab(:,9); - - -[rB,cB]=size(vbuck_0); -TSG_co=[0 0 0 0 0]; % initialisation de la matrice de co-localisation -Points_elimines=[0 0 0 0 0]; %points eliminés.....rajouter la position -% on recherche les mesures du TSG qui sont co-localisées avec les -% prélèvements bouteilles +/- 5 minutes (imprecision du temps des -% prélèvements et temps d aquisition du TSG) - -for i=1:rB - A=abs(tab_lis(:,9)-vbuck_0(i,6)); -B=find(A==min(A)); -cond1=A(min(B))<0.0035; -cond1=A(min(B))>0.0035; - if A(min(B))<0.05 & sss_tsg_lis(min(B))~=9999 % 0.0035 = 5 minutes = durée d echantillonage du TSG - TSG_co=[TSG_co;[tab_lis(min(B),9) tab_lis(min(B),10) tab_lis(min(B),11) sss_tsg_lis(min(B)) vbuck_0(i,9)]]; - Points_elimines = Points_elimines; - - elseif A(min(B))>0.05 - TSG_co=TSG_co; - Points_elimines = [Points_elimines;[vbuck_0(i,6) tab_lis(min(B),10) tab_lis(min(B),11) vbuck_0(i,9) 9999]]; - - elseif sss_tsg_lis(min(B))==9999 - TSG_co=TSG_co; - Points_elimines = [Points_elimines;[vbuck_0(i,6) tab_lis(min(B),10) tab_lis(min(B),11) vbuck_0(i,9) 9999]]; - - end -end - -[rT,cT]=size(TSG_co); -TSG_co=TSG_co(2:rT,:); %TSG_co = [ datenum TSG Bucket] - -[rP,cP]=size(Points_elimines); -Points_elimines=Points_elimines(2:rP,:); - -% calcul de la difference entre les deux valeurs de salinite - -SAL_diff=TSG_co(:,5)-TSG_co(:,4); % Bucket - TSG - -TSG_co=[TSG_co SAL_diff] ; % [ datenum TSG Bucket diff ] - - -% exclusion des points aberrants (ecart trop grand) - -A=find(SAL_diff<(median(SAL_diff)+3*std(SAL_diff))); - -TSG_co=TSG_co(A,:); - -B=find(SAL_diff>(median(SAL_diff)+3*std(SAL_diff))); -C=find(SAL_diff==(median(SAL_diff)+3*std(SAL_diff))); - -if ~isempty(B) -Points_elimines=[Points_elimines;[vbuck_0(B,6) tab_lis(B,10) tab_lis(B,11) vbuck_0(B,9) SAL_diff(B)]]; -end - -if ~isempty(C) -Points_elimines=[Points_elimines;[vbuck_0(C,6) tab_lis(C,10) tab_lis(C,11) vbuck_0(C,9) SAL_diff(C)]]; -end - -SAL_diff=TSG_co(:,6); - -[rT,cT]=size(TSG_co); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% Calcul des valeurs médianes de correction: à chaque point de -% comparaison, on attribue la médiane des corrections dans une fenêtre de -% 10 jours. Puis on interpole entre chaque médiane pour avoir la correction -% à appliquer en chaque point de donnée TSG - -interv = 10 ; % fenêtre de temps = 10 jours pour le calcul des valeurs médianes de correction - - - -COR_mediane=[0 0]; -erreur_mediane =[0 0]; - -for ns = 1:length(TSG_co(:,1)) - - is=find(TSG_co(:,1)>TSG_co(ns,1)-interv/2 & TSG_co(:,1)<TSG_co(ns,1)+interv/2); - if ~isempty(is) - COR_mediane=[COR_mediane;[ TSG_co(ns,1) median(TSG_co(is,6))]]; - erreur_mediane=[erreur_mediane;[std(SAL_diff(is))/sqrt(length(is)) length(is)]]; - else COR_mediane=COR_mediane; - erreur_mediane = erreur_mediane; - end -end - -COR_mediane=COR_mediane(2:length(COR_mediane),:); -erreur_mediane = erreur_mediane(2:length(erreur_mediane),:); - - -erreur_mediane(find(erreur_mediane(:,2)<4),1)=1; - -if COR_mediane(1,1)~=tjmat(1) -COR_mediane=[[tjmat(1) COR_mediane(1,2)];COR_mediane] -end - -if COR_mediane(length(COR_mediane),1)~=tjmat(length(tjmat)) -COR_mediane=[COR_mediane;[tjmat(length(tjmat)) COR_mediane(length(COR_mediane),2)]]; -end - - -COR=interp1(COR_mediane(:,1),COR_mediane(:,2),tjmat); - -erreur_mediane = [TSG_co(:,2:3) erreur_mediane]; % coordonnées des points de comparaison - erreur sur la comparaison en ces points - nombre de prelevements utilisés pour la correction - - - -% function [sss_tsg_cor]=etape4_correction_recherche2(TSG_co,tab,COR) - - - -tjmat=tab(:,9); % Vecteur de temps du TSG -sss_tsg=tab(:,14); % Vecteur de salinité du TSG -tjmat_lis=tab_lis(:,9); -time_co=(TSG_co(:,1)); % Vecteur de temps des points de comparaison - - - -sss_tsg_cor=sss_tsg+COR; %salinité initiale corrigée - - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% representation graphique - -figure - -plot(tjmat,sss_tsg,'color','b','LineWidth',1) -hold on -plot(tjmat,sss_tsg_cor,'color','r','LineWidth',1) -hold on -scatter(TSG_co(:,1),TSG_co(:,5),100,'+g') -hold on -datetick('x',20) - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% trajectoire et prelevements bouteille - - - -LAT=tab_lis(:,10); -LON=tab_lis(:,11); - -% LAT_tsg=LAT(find(tab2(:,14)~=NaN)); -% LON_tsg=LON(find(tab2(:,14)~=NaN)); - -LAT_bucket_ok=[TSG_co(:,2)]; -LON_bucket_ok=[TSG_co(:,3)]; - -LAT_bucket_elimines=[Points_elimines(:,2)]; -LON_bucket_elimines=[Points_elimines(:,3)]; - - - -latmin = min(LAT) - 10.; -latmax = max(LAT) + 10.; -lonmin = min(LON) - 10. ; -lonmax = max(LON) + 10. ; - -figure - -m_proj('Equidistant Cylindrical','lat',[latmin latmax],'long',[lonmin lonmax]); -%m_proj('miller','lat',[35 65],'long',[-50 0]); - -% trait de cote -m_coast('patch',[0.9 0.9 0.9]); -hold on - -m_grid -hold on - -% trait -h1 = m_plot(LON,LAT,'b'); -%h2 = m_plot(LON,LAT,'+r','MarkerSize',2); -h3 = m_plot(LON_bucket_ok,LAT_bucket_ok,'+g','MarkerSize',10); -h4 = m_plot(LON_bucket_elimines,LAT_bucket_elimines,'+r','MarkerSize',10); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% variables de sortie supplémentaires - -% tab(:,9) : jours juliens matlab: depuis 01/01/0000 - -datestr_TSG=datestr(1.00001,'yyyymmddHHMMSS'); -for i=2:length(tab) - datestr_TSG=[datestr_TSG;datestr(1.00001,'yyyymmddHHMMSS')]; -end - -datestr_TSG(find(tab(:,9)<datenum(2007,01,01)),:)=datestr(tab_01(:,9),'yyyymmddHHMMSS'); % date des mesures TSG sous le format 'dd-mmm-yyyy hh:mm:ss' -datestr_Bucket=datestr(vbuck(:,6),'yyyymmddHHMMSS'); % date des prélèvements sous le format 'dd-mmm-yyyy hh:mm:ss' - -[nl,nc]=size(vbuck); -[nl_TSG_co,nc_TSG_co]=size(TSG_co); - -jj_TSG=tab(:,9) - ones(length(tab),1)*datenum(1950,01,01,0,0,0); % date des mesures TSG en jours juliens depuis 01/01/1950 -jj_Bucket=vbuck(:,6) - ones(nl,1)*datenum(1950,01,01,0,0,0); % date des prélèvements en jours juliens depuis 01/01/1950 - - -ncfile_name = fic; - - - diff --git a/tsg-util/degcent2degmin.m b/tsg-util/degcent2degmin.m deleted file mode 100644 index 209bf87727e4f3e61888637ead951c0ab842c54a..0000000000000000000000000000000000000000 --- a/tsg-util/degcent2degmin.m +++ /dev/null @@ -1,17 +0,0 @@ -function [degmin] = degcent2degmin( degcent ); - -% degmin2degcent( degmin ) transforme une donnee en degres minutes en une -% donnee en degres et centiemes -% -% $Id: degcent2degmin.m,v 1.1.1.1 2003/10/16 09:34:24 ddagorne Exp $ - - - % degres = partie entiere de la donnee en degres minutes - deg = fix(degcent); - - % minutes = partie decimale de la donnee en degres minutes - cent = degcent - deg; - - % la donnee en degres centiemes est egale aux degres plus la parti - % decimale en centiemes - degmin = deg + cent * 60 / 100; diff --git a/tsg-util/degmin2degcent.m b/tsg-util/degmin2degcent.m deleted file mode 100644 index af14aa767704ee212ee3413e26c359a821109a38..0000000000000000000000000000000000000000 --- a/tsg-util/degmin2degcent.m +++ /dev/null @@ -1,17 +0,0 @@ -function [degcent] = degmin2degcent( degmin ); - -% degmin2degcent( degmin ) transforme une donnee en degres minutes en une -% donnee en degres et centiemes -% -% $Id: degmin2degcent.m,v 1.1.1.1 2003/10/16 09:34:24 ddagorne Exp $ - - - % degres = partie entiere de la donnee en degres minutes - deg = fix(degmin); - - % minutes = partie decimale de la donnee en degres minutes - min = degmin - deg; - - % la donnee en degres centiemes est egale aux degres plus la parti - % decimale en centiemes - degcent = deg + min * 100 / 60; diff --git a/tsg-util/exmap.m b/tsg-util/exmap.m deleted file mode 100644 index 2a078c5f5621b57eb98c9918515d5c8a55b34a1d..0000000000000000000000000000000000000000 --- a/tsg-util/exmap.m +++ /dev/null @@ -1,15 +0,0 @@ -% exmap -% trace interactif map -% -% $Id$ -% -%execution de "cmd1" lorsque l utilisateur clique avec la souris -% bouton souris enfoncé -% creation case de texte -set(gcf,'WindowButtonDownFcn','cmd1map') -% - - -%execution de "cmd3" lorsque l utilisateur lache le bouton de la souris$ -set(gcf,'WindowButtonUpFcn','cmd3map') -% diff --git a/tsg-util/exmark.m b/tsg-util/exmark.m deleted file mode 100644 index cde99d38fd654a03776de5fd84aaa02b2001efe3..0000000000000000000000000000000000000000 --- a/tsg-util/exmark.m +++ /dev/null @@ -1,11 +0,0 @@ -% ex TSMARK -% -%execution de "cmd1" lorsque l utilisateur clique avec la souris -% bouton souris enfoncé -% creation case de texte -% et appel cmd2 ... recup des valeurs -set(gcf,'WindowButtonDownFcn','cmd1MARK') -% -%execution de "cmd3" lorsque l utilisateur lache le bouton de la souris$ -set(gcf,'WindowButtonUpFcn','cmd3TSMAP') -% diff --git a/tsg-util/exts.m b/tsg-util/exts.m deleted file mode 100644 index 095d6216b9070726dad435884af09ed3a21b5abd..0000000000000000000000000000000000000000 --- a/tsg-util/exts.m +++ /dev/null @@ -1,13 +0,0 @@ -% ex2 -% -%execution de "cmd1" lorsque l utilisateur clique avec la souris -% bouton souris enfoncé -% creation case de texte -% et appel cmd2 ... recup des valeurs -set(gcf,'WindowButtonDownFcn','cmd1TS') -% - - -%execution de "cmd3" lorsque l utilisateur lache le bouton de la souris$ -set(gcf,'WindowButtonUpFcn','cmd3TS') -% diff --git a/tsg-util/extslat.m b/tsg-util/extslat.m deleted file mode 100644 index 17505501c8814fa4251648ceb2469d58ac3fba2c..0000000000000000000000000000000000000000 --- a/tsg-util/extslat.m +++ /dev/null @@ -1,14 +0,0 @@ -% ex2 -% TSLAT -% -%execution de "cmd1" lorsque l utilisateur clique avec la souris -% bouton souris enfoncé -% creation case de texte -% et appel cmd2 ... recup des valeurs -set(gcf,'WindowButtonDownFcn','cmd1TSLAT') -% - - -%execution de "cmd3" lorsque l utilisateur lache le bouton de la souris$ -set(gcf,'WindowButtonUpFcn','cmd3TSLAT') -% diff --git a/tsg-util/extslon.m b/tsg-util/extslon.m deleted file mode 100644 index 609b9bfc2655ab18aafe391cf63d97f5f5178586..0000000000000000000000000000000000000000 --- a/tsg-util/extslon.m +++ /dev/null @@ -1,14 +0,0 @@ -% ex2 -% TSLON -% -%execution de "cmd1" lorsque l utilisateur clique avec la souris -% bouton souris enfoncé -% creation case de texte -% et appel cmd2 ... recup des valeurs -set(gcf,'WindowButtonDownFcn','cmd1TSLON') -% - - -%execution de "cmd3" lorsque l utilisateur lache le bouton de la souris$ -set(gcf,'WindowButtonUpFcn','cmd3TSLON') -% diff --git a/tsg-util/extsmap.m b/tsg-util/extsmap.m deleted file mode 100644 index 74d7b7e2058da345b6878c39a83caee867c62473..0000000000000000000000000000000000000000 --- a/tsg-util/extsmap.m +++ /dev/null @@ -1,11 +0,0 @@ -% ex TSMAP -% -%execution de "cmd1" lorsque l utilisateur clique avec la souris -% bouton souris enfoncé -% creation case de texte -% et appel cmd2 ... recup des valeurs -set(gcf,'WindowButtonDownFcn','cmd1TSMAP') -% -%execution de "cmd3" lorsque l utilisateur lache le bouton de la souris$ -set(gcf,'WindowButtonUpFcn','cmd3TSMAP') -% diff --git a/tsg-util/extsvmap.m b/tsg-util/extsvmap.m deleted file mode 100644 index 55ac59f0619f2d6a30a6563d59b1fe125b2ad962..0000000000000000000000000000000000000000 --- a/tsg-util/extsvmap.m +++ /dev/null @@ -1,11 +0,0 @@ -% ex TSMAP -% -%execution de "cmd1" lorsque l utilisateur clique avec la souris -% bouton souris enfoncé -% creation case de texte -% et appel cmd2 ... recup des valeurs -set(gcf,'WindowButtonDownFcn','cmd1TSVMAP') -% -%execution de "cmd3" lorsque l utilisateur lache le bouton de la souris$ -set(gcf,'WindowButtonUpFcn','cmd3TSVMAP') -% diff --git a/tsg-util/grvali.m b/tsg-util/grvali.m deleted file mode 100644 index a31bd283da5bbc04a443bae6aeffa6bce9a02e4f..0000000000000000000000000000000000000000 --- a/tsg-util/grvali.m +++ /dev/null @@ -1,78 +0,0 @@ -% grvali -% grapphique validation TSV .. avec flag -% prise en compte flag SSS et SST -% ============================================= - % - % on recherche les indices ou existe un changement de valeurs - % par difference des valeurs successives ( ici flag sss ) - vchan(1) = 1; - for i=2:nbrec - vchan(i) = flsss(i)-flsss(i-1); - end - % - % table indice des changement de valeur - ichan = find(vchan); - - % dimension de cette table d indices de changement de valeurs - nbchan2 = size(ichan); - nbchan=nbchan2(2); - % - % boucle sur chgt de valeurs - for iich = 1:nbchan - - % indices debut - fin - ind1 = ichan(iich); - - % tst fin de table - if(iich==nbchan) - ind2 = nbrec; - else - ind2 = ichan(iich+1)-1; - end - - % flag SSS - ikod=flsss(ind1); - % - % mofif plot valid - if ikod==0 - % pas de QC noir - ssschcod='+k'; - ssschsiz=2; - elseif ikod==1 - % good vert - ssschcod='+g'; - ssschsiz=2; - % prob good vert - elseif ikod==2 - ssschcod='+b'; - ssschsiz==2; - % prob bad magenta - elseif ikod==3 - ssschcod='+m'; - ssschsiz=2; - % bad rouge - elseif ikod==4 - ssschcod='+r'; - ssschsiz=2; - % vitesse nulle - elseif ikod==5 - ssschcod='+y'; - ssschsiz=2; - end - - % couleur en fonction du code ??? - % SST - subplot(3,1,1) - hold on - plot(tjy(ind1:ind2),sst(ind1:ind2),sstchcod,'Markersize',sstchsiz) - hold off - - % SSS - subplot(3,1,2) - hold on - plot(tjy(ind1:ind2),sss(ind1:ind2),ssschcod,'Markersize',ssschsiz) - hold off - - % fin boucle -end - \ No newline at end of file diff --git a/tsg-util/grvali0.m b/tsg-util/grvali0.m deleted file mode 100644 index 8ce5546edaa83cd456fddc0bfafc92344f224afa..0000000000000000000000000000000000000000 --- a/tsg-util/grvali0.m +++ /dev/null @@ -1,51 +0,0 @@ -% grvali0 -% ================================================================ - % 1er plot .. trait en noir - - % on repasse un coup avec couleurs ad_hoc de validation - %( grvaliSSS et grvaliSST) - - % plot SST ( noir) - ax(1)= subplot(3,1,1); - H1 = plot(tjy,sst,'k','parent',ax(1)); - grid - %hold on - %H2 = plot(tjy,sst,'+k','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - %hold off - gca1 = gca - - % label - datetick('x',20,'keeplimits') - xlabel('TIME '); - ylabel('SST (deg C)'); - - % - %plot SSS (noir) - ax(2)= subplot(3,1,2); - H3 = plot(tjy,sss,'k','parent',ax(2)); - grid - %hold on - %H4= plot(tjy,sss,'+k','MarkerSize',2) - %set(H4,'Marker','*','MarkerSize',2) - %hold off - gca2 = gca - - % label - datetick('x',20,'keeplimits') - xlabel('TIME '); - ylabel('SSS (PSU)'); - - - % plot vitesse ( noir) - ax(3)= subplot(3,1,3); - H5 = plot(tjy,vit,'g','parent',ax(3)); - grid - hold on - H6= plot(tjy,vit,'+k','MarkerSize',10); - %set(H4,'Marker','*','MarkerSize',2) - hold off - % - % label - datetick('x',20,'keeplimits') - xlabel('TIME '); - ylabel('VIT '); diff --git a/tsg-util/grvali1.m b/tsg-util/grvali1.m deleted file mode 100644 index 6173f0ac0d14330d0d18aae29375ce2c09e43901..0000000000000000000000000000000000000000 --- a/tsg-util/grvali1.m +++ /dev/null @@ -1,56 +0,0 @@ -% grvali0 -% ================================================================ - % 1er plot .. trait en noir - - % on repasse un coup avec couleurs ad_hoc de validation - %( grvaliSSS et grvaliSST) - - % plot SST ( noir) - ax(1)= subplot(3,1,1); - H1 = plot(tjy,sst,'k','parent',ax(1)); - grid - %hold on - %H2 = plot(tjy,sst,'+k','MarkerSize',2) - %set(H2,'Marker','+','MarkerSize',2) - %hold off - gca1 = gca - - % label - datetick('x',20,'keeplimits') - xlabel('TIME '); - ylabel('SST (deg C)'); - - % - %plot SSS (noir) - ax(2)= subplot(3,1,2); - H3 = plot(tjy,sss,'k','parent',ax(2)); - - % SSS origine - hold on - H31 = plot(tjy,sssori,'k','parent',ax(2)); - - grid - %hold on - %H4= plot(tjy,sss,'+k','MarkerSize',2) - %set(H4,'Marker','*','MarkerSize',2) - %hold off - gca2 = gca - - % label - datetick('x',20,'keeplimits') - xlabel('TIME '); - ylabel('SSS (PSU)'); - - - % plot vitesse ( noir) - ax(3)= subplot(3,1,3); - H5 = plot(tjy,vit,'g','parent',ax(3)); - grid - hold on - H6= plot(tjy,vit,'+k','MarkerSize',10); - %set(H4,'Marker','*','MarkerSize',2) - hold off - % - % label - datetick('x',20,'keeplimits') - xlabel('TIME '); - ylabel('VIT '); diff --git a/tsg-util/grvaliS.m b/tsg-util/grvaliS.m deleted file mode 100644 index b8337672e1a408c3e8ce565fdc7feadbdc2fff8d..0000000000000000000000000000000000000000 --- a/tsg-util/grvaliS.m +++ /dev/null @@ -1,78 +0,0 @@ -% grvaliSSS -% grapphique validation TSV .. avec flag -% prise en compte flag SSS -% ============================================= - % - % on recherche les indices ou existe un changement de valeurs - % par difference des valeurs successives ( ici flag sss ) - vchan(1) = 1; - for i=2:nbrec - vchan(i) = flsss(i)-flsss(i-1); - end - % - % table indice des changement de valeur - ichan = find(vchan); - - % dimension de cette table d indices de changement de valeurs - nbchan2 = size(ichan); - nbchan=nbchan2(2); - % - % boucle sur chgt de valeurs - for iich = 1:nbchan - - % indices debut - fin - ind1 = ichan(iich); - - % tst fin de table - if(iich==nbchan) - ind2 = nbrec; - else - ind2 = ichan(iich+1)-1; - end - - ikod=flsss(ind1); - % - % mofif plot valid - if ikod==0 - % pas de QC noir - ssschcod='+k'; - ssschsiz=2; - elseif ikod==1 - % good vert - ssschcod='+g'; - ssschsiz=2; - % prob good vert - elseif ikod==2 - ssschcod='+b'; - ssschsiz==2; - % prob bad magenta - elseif ikod==3 - ssschcod='+m'; - ssschsiz=2; - % bad rouge - elseif ikod==4 - ssschcod='+r'; - ssschsiz=2; - % vitesse nulle jaune - elseif ikod==5 - ssschcod='+y'; - ssschsiz=2; - - end - - % couleur en fonction du code ??? - % SST - %subplot(3,1,1) - %hold on - %plot(tjy(ind1:ind2),sst(ind1:ind2),sstchcod,'Markersize',sstchsiz) - %hold off - - % SSS - ax(2)=subplot(3,1,2); - hold on - plot(tjy(ind1:ind2),sss(ind1:ind2),ssschcod,'Markersize',ssschsiz) - hold off - - % fin boucle -end - \ No newline at end of file diff --git a/tsg-util/grvaliT.m b/tsg-util/grvaliT.m deleted file mode 100644 index d859aa6cd1a9f55ae6053e2cd68afdf555eabcab..0000000000000000000000000000000000000000 --- a/tsg-util/grvaliT.m +++ /dev/null @@ -1,78 +0,0 @@ -% grvaliSST -% grapphique validation TSV .. avec flag -% prise en compte flag SST -% -% pour validation automatique seule -% ============================================= - % - % on recherche les indices ou existe un changement de valeurs - % par difference des valeurs successives ( ici flag sss ) - vchan(1) = 1; - for i=2:nbrec - vchan(i) = flsst(i)-flsst(i-1); - end - % - % table indice des changement de valeur - ichan = find(vchan); - - % dimension de cette table d indices de changement de valeurs - nbchan2 = size(ichan); - nbchan=nbchan2(2); - % - % boucle sur chgt de valeurs - for iich = 1:nbchan - - % indices debut - fin - ind1 = ichan(iich); - - % tst fin de table - if(iich==nbchan) - ind2 = nbrec; - else - ind2 = ichan(iich+1)-1; - end - - ikod=flsst(ind1); - % - % mofif plot valid - if ikod==0 - % pas de QC noir - sstchcod='+k'; - sstchsiz=2; - - % a priori les codes 1, 2 et 3 sont inutiles pour SST - - elseif ikod==1 - % good vert - sstchcod='+g'; - sstchsiz=2; - % prob good vert - elseif ikod==2 - sstchcod='+b'; - sstchsiz==2; - % prob bad magenta - elseif ikod==3 - sstchcod='+m'; - sstchsiz=2; - % bad rouge - elseif ikod==4 - sstchcod='+r'; - sstchsiz=2; - % vitesse nulle jaune - elseif ikod==5 - sstchcod='+y'; - sstchsiz=2; - - end - - % couleur en fonction du code ??? - % SST - ax(1)=subplot(3,1,1); - hold on - plot(tjy(ind1:ind2),sst(ind1:ind2),sstchcod,'Markersize',sstchsiz) - hold off - - - % fin boucle -end - \ No newline at end of file diff --git a/tsg-util/link_map_TSV_cb.m b/tsg-util/link_map_TSV_cb.m deleted file mode 100644 index bf2d258e4f8ae7e271b7f8a9a0c775be5aa07ed2..0000000000000000000000000000000000000000 --- a/tsg-util/link_map_TSV_cb.m +++ /dev/null @@ -1,17 +0,0 @@ -%link_mapTSV_cb -% -% cartogarphie et affichqhe intercatrif des postion successive de analysTS -% -% trace carto -% -% recuperation handle figure MAP -hfMAP=findobj('tag','tag_MAP') -% si non existe creation MAP -if(isempty(hfMAP==1)) -blMAP -end -% -figure(GCFTS) -analys_TSVMAP_cb - - diff --git a/tsg-util/link_map_TS_cb.m b/tsg-util/link_map_TS_cb.m deleted file mode 100644 index e90402a993f6bf11148111a25cd772e24f8d0553..0000000000000000000000000000000000000000 --- a/tsg-util/link_map_TS_cb.m +++ /dev/null @@ -1,17 +0,0 @@ -%link_mapTS_cb -% -% cartogarphie et affichqhe intercatrif des postion successive de analysTS -% -% trace carto -% -% recuperation handle figure MAP -hfMAP=findobj('tag','tag_MAP') -% si non existe creation MAP -if(isempty(hfMAP==1)) -blMAP -end -% -figure(GCFTS) -analys_TSMAP_cb - - diff --git a/tsg-util/panOFFcb.m b/tsg-util/panOFFcb.m deleted file mode 100644 index 963a1d7e1ac5bf51755b5883e90347d840f99820..0000000000000000000000000000000000000000 --- a/tsg-util/panOFFcb.m +++ /dev/null @@ -1,5 +0,0 @@ -% Zoom IN VALID - - -pan off -%linkaxes(ax,'off') \ No newline at end of file diff --git a/tsg-util/panONcb.m b/tsg-util/panONcb.m deleted file mode 100644 index a9c9a895006b0201d331790850dd7fd4c1372677..0000000000000000000000000000000000000000 --- a/tsg-util/panONcb.m +++ /dev/null @@ -1,4 +0,0 @@ -% Zoom IN VALID - -%linkaxes -pan xon diff --git a/tsg-util/panocb.m b/tsg-util/panocb.m deleted file mode 100644 index c712e3c434ea6c536abc1572fa697f98f7dce30b..0000000000000000000000000000000000000000 --- a/tsg-util/panocb.m +++ /dev/null @@ -1,28 +0,0 @@ - % ball back ZOOM - - %on recupere les param du zoom - valp=get(bpano); - - % valeur ON(=1) / OFF(=0) - valp.Value; - - if(valp.Value==1) - % valeur bouton zoom =0 relache =1 enfoncé (zoom) - - disp('PANO ON') - linkaxes(ax,'x') - pan xon - set(bpano,'foregroundColor',[1.0 0.0 0.0]) -% - else - -% bzou = uicontrol('style','radiobutton',... -% 'position',[10 160 50 30],... -% 'string','Z-OFF',... -% 'callback','zoomOFFcb'); - disp('PANO OFF') - % linkaxes (ax,'off') - pan off - set(bpano,'foregroundColor',[0.0 0.0 0.0]) - - end \ No newline at end of file diff --git a/tsg-util/rdbtl.m b/tsg-util/rdbtl.m deleted file mode 100644 index c21813baee6f098cee177fd2e540fb553ce09dce..0000000000000000000000000000000000000000 --- a/tsg-util/rdbtl.m +++ /dev/null @@ -1,93 +0,0 @@ -% rdbtl -function[vbuck] = rdbtl(fic) -% -%$Id$ -% -% vbukk 9 colonnes -% yyyy mm dd hh mn jd lat lon sss -% -% fichier btl ASCII -% -%12345678901234567890123456789012345678901234567890 -%yyyy mm dd hh mm Latitude Longitude sssb -%2006 02 09 16 00 50.650 0.733 35.097 -%2006 02 10 10 00 46.917 -7.483 35.47 -% -% -% -disp([fic,' lecture/decodage fichier BTL ']) - -% ouverture fichier -fid=fopen(fic); -% lecture 2 lignes enetetes - % rappel du voyage - cline=fgetl(fid) - % descriptifs des colonnes - cline=fgetl(fid) -% - % compteur record fichier original - irec = 0; - - % compteur ligne "valide" - ilig = 0; - - % boucle toujours vrai - while 1 - irec = irec+1; - % impression - if(mod(irec,1)==0) disp(irec); - end; - - % - % lecture text de la ligne - cline = fgetl(fid); - disp(cline); - % - ilig=ilig+1; - % - if ~ischar(cline), break, end - % - % passage valeur numerique - %line = str2num(cline); - % - cyyyy=cline(1:4); - cmm=cline(6:7); - cdd=cline(9:10); - chh=cline(13:14); - cmn=cline(16:17); - clat = cline(21:26); - clon = cline(30:36); - csssb = cline(39:44); - - tyyb = str2num(cyyyy); - tmmb = str2num(cmm); - tddb = str2num(cdd); - thhb = str2num(chh); - tmnb = str2num(cmn); - % - % calcul jour julien annee - % jour julien ( debut 0 - année début ) - %tjdb = to_day(yeard,tyyb,tmmb,tddb,thhb,tmnb); - - % modif instant absolu - tjbmat=datenum(tyyb,tmmb,tddb,thhb,tmnb,0); - - % remplissage vbuck - - vbuck(ilig,1) = tyyb; - vbuck(ilig,2) = tmmb; - vbuck(ilig,3) = tddb; - vbuck(ilig,4) = thhb; - vbuck(ilig,5) = tmnb; - vbuck(ilig,6) = tjbmat; - - lat = str2num(clat); - vbuck(ilig,7) = lat; - lon = str2num(clon); - vbuck(ilig,8) = lon; - - sssb = str2num(csssb); - vbuck(ilig,9) = sssb; - - - end diff --git a/tsg-util/rdbucket.m b/tsg-util/rdbucket.m deleted file mode 100644 index 90f2b55295613e167de47156888450e116adddee..0000000000000000000000000000000000000000 --- a/tsg-util/rdbucket.m +++ /dev/null @@ -1,85 +0,0 @@ -% rdbucket -function[vbuck] = rdbucket(fic,yeard) -% -% yeard : annee de depart pour calkcul jour julien -% -% vbuck 9 colonnes -% yyyy mm dd hh mn jd lat lon sss -% -% -% fichier bucket ASCII ( .sdf !! ) -% -%12345678901234567890123456789012345678901234567890123456789012345678901234 -%TMA20010626FNHO CO0101 2001 131 839 2308 -3530 2358 37388 37454 37441A -%date modif CCCC VVVVVV yyyymmddhhmn long ssst sssth sssbu -% -% -disp([fic,' lecture/decodage fichier BUCKET ']) - -% ouverture fichier -fid=fopen(fic); -% - % compteur record fichier original - irec = 0; - - % compteur ligne "valide" - ilig = 0; - - % boucle toujours vrai - while 1 - irec = irec+1; - % impression - if(mod(irec,1)==0) disp(irec); - end; - - % - % lecture text de la ligne - cline = fgetl(fid); - disp(cline); - % - ilig=ilig+1; - % - if ~ischar(cline), break, end - % - % passage valeur numerique - %line = str2num(cline); - % - cyyyy=cline(28:31); - cmm=cline(32:33); - cdd=cline(34:35); - chh=cline(36:37); - cmn=cline(38:39); - clat = cline(40:45); - clon = cline(46:52); - csssb = cline(64:69); - - tyyb = str2num(cyyyy); - tmmb = str2num(cmm); - tddb = str2num(cdd); - thhb = str2num(chh); - tmnb = str2num(cmn); - % - % calcul jour julien annee - % jour julien ( debut 0 - année début ) - tjdb = to_day(yeard,tyyb,tmmb,tddb,thhb,tmnb); - - % remplissage vbuck - - vbuck(ilig,1) = tyyb; - vbuck(ilig,2) = tmmb; - vbuck(ilig,3) = tddb; - vbuck(ilig,4) = thhb; - vbuck(ilig,5) = tmnb; - vbuck(ilig,6) = tjdb; - - lat = str2num(clat); - vbuck(ilig,7) = lat/100.; - lon = str2num(clon); - vbuck(ilig,8) = lon/100.; - - sssb = str2num(csssb); - vbuck(ilig,9) = sssb/1000.; - - - end - \ No newline at end of file diff --git a/tsg-util/rdbukket.m b/tsg-util/rdbukket.m deleted file mode 100644 index 0b3ea501239f7e8a5f5934b0cc81d42cce631d79..0000000000000000000000000000000000000000 --- a/tsg-util/rdbukket.m +++ /dev/null @@ -1,89 +0,0 @@ -% rdbukket -function[vbuck] = rdbukket(fic,yeard) -% -% yeard : annee de depart pour calkcul jour julien -% -% vbukk 9 colonnes -% yyyy mm dd hh mn jd lat lon sss -% -% fichier bucket ASCII -% -%1234567890123456789012345678901 -%2001 131 839 2308 -3530 37454 -%yyyymmddhhmn lat lon sssbu -% -% -% -disp([fic,' lecture/decodage fichier BUKKET ']) - -% ouverture fichier -fid=fopen(fic); -% lecture ligne enetete - cline=fgetl(fid) -% - % compteur record fichier original - irec = 0; - - % compteur ligne "valide" - ilig = 0; - - % boucle toujours vrai - while 1 - irec = irec+1; - % impression - if(mod(irec,1)==0) disp(irec); - end; - - % - % lecture text de la ligne - cline = fgetl(fid); - disp(cline); - % - ilig=ilig+1; - % - if ~ischar(cline), break, end - % - % passage valeur numerique - %line = str2num(cline); - % - cyyyy=cline(1:4); - cmm=cline(5:6); - cdd=cline(7:8); - chh=cline(9:10); - cmn=cline(11:12); - clat = cline(13:18); - clon = cline(19:25); - csssb = cline(26:31); - - tyyb = str2num(cyyyy); - tmmb = str2num(cmm); - tddb = str2num(cdd); - thhb = str2num(chh); - tmnb = str2num(cmn); - % - % calcul jour julien annee - % jour julien ( debut 0 - année début ) - %tjdb = to_day(yeard,tyyb,tmmb,tddb,thhb,tmnb); - - % modif instant absolu - tjbmat=datenum(tyyb,tmmb,tddb,thhb,tmnb,0); - - % remplissage vbuck - - vbuck(ilig,1) = tyyb; - vbuck(ilig,2) = tmmb; - vbuck(ilig,3) = tddb; - vbuck(ilig,4) = thhb; - vbuck(ilig,5) = tmnb; - vbuck(ilig,6) = tjbmat; - - lat = str2num(clat); - vbuck(ilig,7) = lat/100.; - lon = str2num(clon); - vbuck(ilig,8) = lon/100.; - - sssb = str2num(csssb); - vbuck(ilig,9) = sssb/1000.; - - - end diff --git a/tsg-util/rdicod.m b/tsg-util/rdicod.m deleted file mode 100644 index 9ce91ab7b498128572e86cb60c8035483e67b329..0000000000000000000000000000000000000000 --- a/tsg-util/rdicod.m +++ /dev/null @@ -1,26 +0,0 @@ -% setikod - % texte - bk = uicontrol('style','text',... - 'position',[10 250 80 30],... - 'string','KOD-VALID') -% -% % valeur valid par pop up - bkod=uicontrol('style','popupmenu',... - 'position',[10 200 80 30],... - 'string',['0 : no QC |1 : good |2 : prob good |3 : prob bad |4 : bad'],... - 'callback','setikod') -% -% % recuperation valeur du pop up -% val = get(bkod,'Value'); -% -% if val == 1 -% ikod = 0 -% elseif val == 2 -% ikod = 1 -% elseif val == 3 -% ikod = 2 -% elseif val == 4 -% ikod = 3 -% elseif val == 5 -% ikod = 4 -% end \ No newline at end of file diff --git a/tsg-util/rdikod.m b/tsg-util/rdikod.m deleted file mode 100644 index 68bae2625abbded8730c3d948e071d5f3b60bd43..0000000000000000000000000000000000000000 --- a/tsg-util/rdikod.m +++ /dev/null @@ -1,29 +0,0 @@ - - % texte - bk = uicontrol('style','text',... - 'position',[10 250 80 30],... - 'string','KOD-VALID') -% - % valeur valid par pop up - bkod=uicontrol('style','popupmenu',... - 'position',[10 200 80 30],... - 'string',['0 : no QC |1 : good |2 : prob good |3 : prob bad |4 : bad'],... - 'callback','setikod') -% -% -% % setikod -% -% % recuperation valeur du pop up -% val = get(bkod,'Value'); -% -% if val == 1 -% ikod = 0 -% elseif val == 2 -% ikod = 1 -% elseif val == 3 -% ikod = 2 -% elseif val == 4 -% ikod = 3 -% elseif val == 5 -% ikod = 4 -% end \ No newline at end of file diff --git a/tsg-util/rdssdad2.m b/tsg-util/rdssdad2.m deleted file mode 100644 index b156f2d56f277504d9f8497083f4a7fce3388253..0000000000000000000000000000000000000000 --- a/tsg-util/rdssdad2.m +++ /dev/null @@ -1,65 +0,0 @@ -% gestion - lecture climatologie SSS ATL AD1 version 2 -% -% 1 ligne d entete -% ligne de definitions des colonnes Longitude 100W - 20E -% 121 valeurs -% -% 101 lignes de valeurs -% colonne 1 : reperage lignes / latitude 60N 40S -% colonnes 2 - 121 : 121 valeurs -% -% valeur manquante 99999 -% - function[D]=rdssdad2 - % -% formation SSS climato -% tableau 101 lignes * 121 colonnes -% - global dirSSSCLIM - global nblig nbcol latdeb londeb latpas lonpas latfin lonfin - % - % origine "raster" , latpas = -1 -nbcol = 121; -nblig=101; -lonpas=1; -latpas=-1; -londeb=-100.; -latdeb=60; -% -% fin geographique de la grille -lonfin= (londeb + lonpas*nbcol) - 1; -latfin =(latdeb + latpas*nblig) + 1; -% -% - % climato dessier version2 - %fic=['ssd_1-12.txt'] - % climato levitus - %fic=['D:/SSSAD2/ssd_levi_1-12.txt'] - fic=[dirSSSCLIM,'ssd_levi_1-12.txt'] - %climato WOA - %fic=['D:/SSSAD2/dwoa1-12.txt'] - % - disp(fic); - fid = fopen(fic,'r') - % - - % saut de la 1ere ligne - fgetl(fid); - -for il=1:nblig - hdl = fscanf(fid,'%c',7); - %for ic=1:121 - A(1:121,il) = fscanf(fid,'%f',121); - %end -end - -% elimination 1er record -%A(1,:) = []; - -% reorganisation -% on transpose puis reshape -D=A'; -% -% elimination valeur manquante et terre -D(find(D==99999))=NaN; -% diff --git a/tsg-util/rdssdgla.m b/tsg-util/rdssdgla.m deleted file mode 100644 index ea8cb8b695818f9bd3f2d728f55d7017fc6e322d..0000000000000000000000000000000000000000 --- a/tsg-util/rdssdgla.m +++ /dev/null @@ -1,48 +0,0 @@ -% CHARGEMENT CLIMATO GLOBALE ET ANNUELLE -% -% Chargememt dans une matrice du tableau SSD annuel provenant de LEVITUS01 -% -% Code d essai . : Ch. Germain et J. Lefevre /// 20 juillet 2004 /// -% - -function [D]=rdssdgla -%---------------------------------------------------- -% Charge dans la matrice D les ecarts moyens climato de salinite - -% repertoire fichier SSS Climato annuel 01 -global dirSSSCLIMAN - -%Le fichier brut contient les donnees sur 33 profondeurs -%les 64 480 (=360*180) premieres valeurs correspondent au niveau 1 (profondeur 0) -%la premiere valeur correspond a la mesure sur le carre de 0 a 1 -%deg longitude E et 90 a 89 deg latitude S -%Les 360 premieres valeurs sont ainsi a latitude constantes et decrivent -%la longitude de 0 a 360 deg vers l est. -%Ensuite on recommence pour la latitude entre 89 et 88 deg S -%Apres la 64 480e valeur (soit 6 448 lignes) on passe au niveau 2 et on recommence -%Pour plus de detail voir le fichier readme.htm dans SSSCLIM - -fichier = [dirSSSCLIMAN,'s00sd1','.txt']; - -disp([fichier,' lecture/decodage fichier SSS Levitus01 annuel ']) -% ouverture fichier -fid=fopen(fichier,'r'); - -% on recupere seulement les donnees au niveau 1 -% on range les donnees dans une matrice 180*360 - -for i=1:180 - - [A(:,i),n] = fscanf(fid, '%f %f %f %f %f %f %f %f %f %f',360); - -end - -%on transpose pour replacer lon en col et lat en lig -D=A'; -%la matrice contient alors les donnees de 0 a 360 deg en lon et non pas de -180 a 180!! - -% elimination valeur manquante et terre -D(find(D==-99.9999))=NaN; -% - -fclose(fid); diff --git a/tsg-util/rdsssad2.m b/tsg-util/rdsssad2.m deleted file mode 100644 index 3f83c924d9ee3cc796f0449c0a4ebdc5ca39d73a..0000000000000000000000000000000000000000 --- a/tsg-util/rdsssad2.m +++ /dev/null @@ -1,64 +0,0 @@ -% gestion - lecture climatologie SSS ATL AD2 version 2 -% -% 1 ligne d entete -% ligne de definitions des colonnes Longitude 100W - 20E -% 121 valeurs -% -% 101 lignes de valeurs -% colonne 1 : reperage lignes / latitude 60N 40S -% colonnes 2 - 121 : 121 valeurs -% -% valeur manquante 99999 -% - function[D]=rdsssad2 - % -% formation SSS climato -% tableau 101 lignes * 121 colonnes -% - global dirSSSCLIM - global nblig nbcol latdeb londeb latpas lonpas latfin lonfin - % - % origine "raster" , latpas = -1 -nbcol = 121; -nblig=101; -lonpas=1; -latpas=-1; -londeb=-100.; -latdeb=60; -% -% fin geographique de la grille -lonfin= (londeb + lonpas*nbcol) - 1; -latfin =(latdeb + latpas*nblig) + 1; -% -% -% climato dessier vers 2 - %fic=[''D:/SSSAD2/sss_1-12.txt'] - % climato levitus - fic=[dirSSSCLIM,'sss_levi_1-12.txt'] - %climato WOA - %fic=['D:/SSSAD2/swoa1-12.txt'] - % - disp(fic); - fid = fopen(fic,'r') - % - - % saut de la 1ere ligne - fgetl(fid); - -for il=1:nblig - hdl = fscanf(fid,'%c',7); - %for ic=1:121 - A(1:121,il) = fscanf(fid,'%f',121); - %end -end - -% elimination 1er record -%A(1,:) = []; - -% reorganisation -% on transpose puis reshape -D=A'; -% -% elimination valeur manquante et terre -D(find(D==99999))=NaN; -% diff --git a/tsg-util/rdsssatlad.m b/tsg-util/rdsssatlad.m deleted file mode 100644 index dbc154628ccc50bcd678c86c80ae2bb8c409638d..0000000000000000000000000000000000000000 --- a/tsg-util/rdsssatlad.m +++ /dev/null @@ -1,51 +0,0 @@ - % gestion - lecture climatologie SSS ATL AD - % - % 1 ligne d entete -% 56 groupes de 16 records de 6 valeurs -% soit 56 lignes * 98 valeurs -% domaine 20S-35N / 80W-15E , pas 1deg*1deg -% 1 erlignes/colonnes : X-Y / bas-Gauche -% - function[D]=rdsssad(mm) - % - fic=['d:\SSSAD\ATL_S',mm,'.dat'] - disp(fic) - % - % chargement du fichier ATL par "load" ?? coup de bol - % car tableau ... !!!!!! - A = load(fic); -% -% formation SSS climato -% tableau 56 lignes * 96 colonnes -% -% 1er record -lighd = A(1,:); -% nbr de colonnes, lignes -% pas en colonnes , lignes -% origine geographique bas - droite en colonnes , lignes -% - global nblig nbcol latdeb londeb latpas lonpas latfin lonfin - % -nbcol=lighd(1); -nblig=lighd(2); -lonpas=lighd(3); -latpas=lighd(4); -londeb=lighd(5); -latdeb=lighd(6); -% -% fin geographique de la grille -lonfin= (londeb + lonpas*nbcol) - 1; -latfin =(latdeb + latpas*nblig) - 1; -% -% elimination 1ere record -A(1,:) = []; - -% reorganisation -% on transpose puis reshape -B=A'; -C=reshape(B,96,56); -D=C'; -% -% elimiunation valeur terre -D(find(D==1.e35))=NaN; -% diff --git a/tsg-util/rdsssclimnc.m b/tsg-util/rdsssclimnc.m deleted file mode 100644 index fcc93a100d395bf5f1182f437234c34584fe4a71..0000000000000000000000000000000000000000 --- a/tsg-util/rdsssclimnc.m +++ /dev/null @@ -1,84 +0,0 @@ -function [meansss,stdsss] = rdsssclimnc -% decodage climato WOA01AN -% cas de SSS - -% $Id$ -% -%clear all - -% passage pour respect des calcul clim anterieurs ( dessier - levitus) -% KLON [-180 - 180 ] --> [0 - 360) - -global dirSSSCLIMAN - -% ouverture netCDF -fileclimsssnc=[dirSSSCLIMAN 'woa01an.nc'] - -nc=netcdf(fileclimsssnc); - -% dimension -% nblon=nc{'LONX'}(:) -% nblat=nc{'LATX'}(:) -% nbdep=nc{'DEPH'}(:) - -% variables -klat = nc{'WOA01_LATX'} (:); -klon = nc{'WOA01_LONX'} (:); -kdep = nc{'WOA01_DEPH'} (:); - -% dimension -nblon = length(klon) -nblat = length(klat) -nbdep = length(kdep) - -%temp = nc{'WOA01_MEAN_TEMP'} (:,:,:); -meansss = nc{'WOA01_MEAN_PSAL'} (:,:,1); -%oxy1 = nc{'WOA01_MEAN_DOX1'} (:,:,:); - -stdsss = nc{'WOA01_STD_PSAL'} (:,:,1); - -nbpsss = nc{'WOA01_OBS_PSAL'} (:,:,1); - -% nc{'WOA01_LATX'} = ncfloat('WOA01_LATX') %% 180 elements. -% nc{'WOA01_LONX'} = ncfloat('WOA01_LONX') %% 360 elements. -% nc{'WOA01_DEPH'} = ncfloat('WOA01_DEPH') %% 33 elements. - -% nc{'WOA01_MEAN_TEMP'} = ncfloat('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. -% nc{'WOA01_MEAN_PSAL'} = ncfloat('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. -% nc{'WOA01_MEAN_DOX1'} = ncfloat('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. - - -% nc{'WOA01_STD_TEMP'} = ncfloat('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. -% nc{'WOA01_STD_PSAL'} = ncfloat('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. -% nc{'WOA01_STD_DOX1'} = ncfloat('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. - -% nc{'WOA01_OBS_TEMP'} = ncshort('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. -% nc{'WOA01_OBS_PSAL'} = ncshort('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. -% nc{'WOA01_OBS_DOX1'} = ncshort('WOA01_LATX', 'WOA01_LONX', 'WOA01_DEPH') %% 2138400 elements. - - -close(nc) - -% valeur manquante -% = -99.999900XYZ MEAN_PSAL et STD_PSAL - -%temp(find(temp(:,:,:) < -10 )) = NaN; -meansss(find(meansss(:,:) < -99.0)) = NaN; -%oxy1(find(oxy1(:,:,:) < 0)) = NaN; -stdsss(find(stdsss(:,:) < -99.0)) = NaN; - -%=-100 OBS_PSAL -nbpsss(find(nbpsss(:,:) == -100)) = NaN; - - -% modif lon -bb=stdsss(:,1:180); -stdsss(:,1:180)=stdsss(:,181:360); -stdsss(:,181:360)=bb; - - -aa=meansss(:,1:180); -meansss(:,1:180)=meansss(:,181:360); -meansss(:,181:360)=aa; - - diff --git a/tsg-util/rdsssgla.m b/tsg-util/rdsssgla.m deleted file mode 100644 index db4ee9cda3a2dc2b70f23d5c91c6294a8d360011..0000000000000000000000000000000000000000 --- a/tsg-util/rdsssgla.m +++ /dev/null @@ -1,50 +0,0 @@ -% CHARGEMENT CLIMATO GLOBALE ET ANNUELLE -% -% Chargememt dans une matrice du tableau SSS annuel provenant de LEVITUS01 -% -% Code d essai . : Ch. Germain et J. Lefevre /// 20 juillet 2004 /// -% - - -function [D]=rdsssgla -%---------------------------------------------------- -% Charge dans la matrice D les valeurs moyennes climato de salinite - - -% repertoire fichier SSS Climato annuel 01 -global dirSSSCLIMAN - -%Le fichier brut contient les donnees sur 33 profondeurs -%les 64 480 (=360*180) premieres valeurs correspondent au niveau 1 (profondeur 0) -%la premiere valeur correspond a la mesure sur le carre de 0 a 1 -%deg longitude E et 90 a 89 deg latitude S -%Les 360 premieres valeurs sont ainsi a latitude constantes pour des -%longitudes de 0 a 360 deg vers l est. -%Ensuite on recommence pour la latitude entre 89 et 88 deg S -%Apres la 64 480e valeur (soit 6 448 lignes) on passe au niveau 2 et on recommence -%Pour plus de detail voir le fichier readme.htm dans SSSCLIM - -fichier = [dirSSSCLIMAN,'s00an1','.txt']; - -disp([fichier,' lecture/decodage fichier SSS Levitus01 annuel']) -% ouverture fic -fid=fopen(fichier,'r'); - -% on recupere seulement les donnees au niveau 1 -% on range les donnees dans une matrice 180*360 - -for i=1:180 - - [A(:,i),n] = fscanf(fid, '%f %f %f %f %f %f %f %f %f %f',360); - -end - -%on transpose pour replacer lon en col et lat en lig -D=A'; -%la matrice contient alors les donnees de 0 a 360 deg en lon et non pas de -180 a 180!! - -% elimination valeur manquante et terre -D(find(D==-99.9999))=NaN; -% - -fclose(fid); diff --git a/tsg-util/rdssslev1.m b/tsg-util/rdssslev1.m deleted file mode 100644 index 3ca61a3e5bfa6effd5b97aea2a5f14f2d8e5a381..0000000000000000000000000000000000000000 --- a/tsg-util/rdssslev1.m +++ /dev/null @@ -1,61 +0,0 @@ -% lecture fichier climato SSS levitus niveau surface -% -function[D]=rdssslev1 -% - %global dirSSSCLIM - global nblig nbcol latdeb londeb latpas lonpas latfin lonfin - - -dirCLIMSSSLEV = 'd:\SSSLEV1\' -fic=[dirCLIMSSSLEV,'s00an1'] - - -% fichier LEVITUS WOA - disp(fic) -% - % load impossible car ligne sans separateit pour valeur manquante -% ouverture -fid = fopen(fic,'r'); -% -% init parametre grille -% origine geographique bas - droite en colonnes , lignes 90S / equ -nbcol=360; -nblig=180; -latpas=1; -lonpas=1; -% -% modif -%londeb = 0.5; -londeb=-179.5; -latdeb=-89.5; -% -% fin geographique de la grille -lonfin= (londeb + lonpas*nbcol) - 1; -latfin =(lonfin + latpas*nblig) - 1; -% -% formation SSS LEVITUS -% tableau 90 lignes * 180 colonnes -% -% 1 record de 10valeurs F8.4 par enregistrement dfe 80 char -% 180 groupes de 36 records de 10 valeurs -% -% niveau surface -for il=1:180 - for ik=1:36 - ic1=ik*10 - 9; - ic2= ik*10; - A(ic1:ic2,il) = fscanf(fid,'%e',10); - end - % - % reorg -180 / 180 - B(181:360,il) = A(1:180,il); - B(1:180,il) = A(181:360,il); -end -% - -% on transpose -D=B'; -% -% elimination valeur terre -D(find(D==-99.9999))=NaN; -% diff --git a/tsg-util/rdssslevs.m b/tsg-util/rdssslevs.m deleted file mode 100644 index 3da847aaed18b5b584aae94e46e68e10cfdc9226..0000000000000000000000000000000000000000 --- a/tsg-util/rdssslevs.m +++ /dev/null @@ -1,60 +0,0 @@ -% lecture fichier climato SSS levitus biveau surface -% -function [D] = rdssslevs(mm) -% -disp( ['gestion - lecture CLIM SSS LEVITUS mois : ',mm]) - -% fichier levitus -fic=['d:\SSSLEV\SAL',mm,'.OBJ']; - disp(fic) -% - % load impossible car ligne sans separateur pour valeur manquante -% ouverture -fid = fopen(fic,'r'); -% -% init parametre grille -% les parametres de grille sont global -global nblig nbcol latdeb londeb latpas lonpas latfin lonfin - -% origine geographique bas - droite en colonnes , lignes 90S / equ -nbcol=360; -nblig=180; -latpas=1; -lonpas=1; -% -% modif -%londeb = 0.5; -londeb=-179.5; -latdeb=-89.5; -% -% fin geographique de la grille -lonfin= (londeb + lonpas*nbcol) - 1; -latfin =(latdeb + latpas*nblig) - 1; -% -% formation SSS LEVITUS -% tableau 90 lignes * 180 colonnes -% -% 1 record de 10valeurs F8.4 par enregistrement dfe 80 char -% 180 groupes de 36 records de 10 valeurs -% -% niveau surface -% soit le premier "canal" -for il=1:180 - for ik=1:36 - ic1=ik*10 - 9; - ic2= ik*10; - A(ic1:ic2,il) = fscanf(fid,'%e',10); - end - % - % reorg -180 / 180 - B(181:360,il) = A(1:180,il); - B(1:180,il) = A(181:360,il); -end -% - -% on transpose -D=B'; -% -% elimination valeur terre -D(find(D==-99.9990))=NaN; -% diff --git a/tsg-util/rdsssoinad.m b/tsg-util/rdsssoinad.m deleted file mode 100644 index b5eb44b31fbb314f02db24f149024ee117d4ab06..0000000000000000000000000000000000000000 --- a/tsg-util/rdsssoinad.m +++ /dev/null @@ -1,55 +0,0 @@ -% gestion - lecture climato SSS OIN AD -% -% 1 ligne d entete -% 76 groupes de 16 records de 6 valeurs + 1 record de 5 valeur -% soit 76 lignes * 101 valeurs -% domaine 20S-35N / 20E-120E , pas 1deg*1deg -% 1 erlignes/colonnes : X-Y / bas-Gauche -% -function[D] = rdsssoinad(mm); -% - fic=['d:\SSSAD\OI_S',mm,'.dat']; - disp(fic), - - % load impossible car ligne incomplete !! - -% ouverture -fid = fopen(fic,'r'); -% -% lecture entete -lighd=fscanf(fid,'%d %d %e %e %e %e'); -% nbr de colonnes, lignes -% pas en lan (col) et lat (lig) -% origine geographique bas - droite en colonnes , lignes -% -global nblig nbcol latdeb londeb latpas lonpas latfin lonfon -% -nbcol=lighd(1); -nblig=lighd(2); -lonpas=lighd(3); -latpas=lighd(4); -londeb=lighd(5); -latdeb=lighd(6); -% -% fin geographique de la grille -lonfin= (londeb + paslon*nbcol) - 1; -latfin =(latdec + paslat*nblig) - 1; -% -% formation SSS climato Indien -% tableau 76 lignes * 101 colonnes -% -% lecture 101 lignes * 76 colonnes !!!! -for il=1:nblig - for ik=1:16 - ic1=ik*6 - 5; - ic2= ik*6; - A(ic1:ic2,il) = fscanf(fid,'%e',6); - end - - % 5 dernieres valeurs par ligne - A(97:101,il) = fscanf(fid,'%e',5); -end - -% on transpose -D=A'; -% diff --git a/tsg-util/rdtsgasc.m b/tsg-util/rdtsgasc.m deleted file mode 100644 index bdc7ef835d72ee00391e2b283bb6ee20fdb07668..0000000000000000000000000000000000000000 --- a/tsg-util/rdtsgasc.m +++ /dev/null @@ -1,228 +0,0 @@ -function[nbrec,ttt] = rdTSGASC(fichier); - -% lecture fichier TSG ASC THERMO V3 -% decodage et formation tableau N parametres - -% retourne -% nbrec : nbr record "valides" -% ttt : tableau -% -% lecture ASCII ligne record TSG .. dans line -% remplissage tableau tab = line -% -% hors valeurs technologique --> NaN -% 1e+36 --> NaN -% -% formation jour julien , année, mois , jour, heure , minutes secondes -% passage ddd.ccc -% init flag sst et sss -% -% probleme du passage annnee .. -% absence de code fin ( = 6 avec yearf ) -% -% in : nom du fichier TSG ASC ( thermo) -% out : nbrec : nbre de lignes valides du fichier -% : ttt : tableau ( nbrec,val(1:14)) parametres voyage - -% -disp([fichier,' lecture/decodage ASC : fichier TSG THERMO V3 ']) - -% ouverture fichier -fid=fopen(fichier); -% - % compteur record fichier original - ienr = 0; - - % compteur record lignes "valide" - irec = 0; - - % boucle toujours vrai - while 1 - ienr = ienr+1; - % impression - if(mod(ienr,1000)==0) disp(ienr); - end; - - % - % lecture text de la ligne - tline = fgetl(fid); - %disp(tline); - % - if ~ischar(tline), break, end - % - % passage valeur numerique - line = str2num(tline); - % - icod=line(1); - % - switch icod - case 0 - % pb si yeard est reinitilise l année suivante !! - % le 1er record est suppose bon !! - if(ienr==1) year0 = line(4) - end - % - % debut d acquisition -% 1 2 3 4 -% cod dd hh.mm yeard - - %quand = line(2); - %hhcc = line(3); - yeard = line(4); - - disp([num2str(ienr),' record Debut ACQ - yeard : ',num2str(yeard)]) - %disp(irec) - %disp(line) - - case 2 - % acquisition OK -% 1 2 3 4 5 6 7 8 9 10 -% cod dd hh.mm dd hh.mm lat lon sst sss xxx - - % increment ligne valide - irec = irec+1; - - % dans tab - tab(irec,:) = line; - - case 4 - % acquisition sans lat-lon -% 1 2 3 4 5 6 -% cod dd hh.mm sst sss xxx - irec = irec+1; - - tab(irec,1:3) = line(1:3); - tab(irec,4:7) = NaN; - tab(irec,8:10) = line(4:6); - - case 6 -% 1 2 3 4 -% cod dd hh.mm yearf - - % fin d acquisition - % suppose existant - disp(line) - %quan = line(2); - %hhcc = line(3); - yearf = line(4); - disp([num2str(ienr),' record Fin ACQ - yearf : ',num2str(yearf)]) - - end - % - end - % - fclose(fid); - - %statistique lecture - nbenr = ienr-1; - nbenr - disp([num2str(nbenr),' records ASC THERMO lus']) - % - nbrec = irec; - nbrec - disp([num2str(nbrec),' records valides']) - % - - % crible hors valeurs "technologiques" pour sst et sss - % sstmax = 35. / sstmin = -3. - % sssmax = 40. / sssmin = 1. - % egalement pour valeurs 1.E+36 pour sst et sss - % - % fonction find - % donne les indices des elements differents de zero - sst = tab(:,8); - %sst (find(sst > 1.e35)) = NaN; - sst (find(sst > 36.0 )) = NaN; - sst (find(sst < -3.0 )) = NaN; - % - sss = tab(:,9); - %sss (find(sss > 1.e35)) = NaN; - sss (find(sss > 40.0)) = NaN; - sss (find(sss < 1.0)) = NaN; - % - % - %creation des valeurs matrice finale - % jour TSG-1 - sortie numerique - [ yyyy mois jour heure minut sec] - - t = to_date(year0,tab(:,2)-1,'n'); - % - % init tyy colonne des années avec prise en compte - % d un changement d année - tyy = ones(nbrec,1)*year0; - - % cas ou code 6 manquant en fin de fichier - % a rajouter a la paluche !!!!!! - - % cas d un voyage sur années - % sauf voyage sur 2 ans .. improbable - if year0==(yearf-1) - id=1; - while tab(id+1,2) >= tab(id,2) - id = id+1; - end - tyy(id+1:nbrec) = yearf; - end - % - % - % code qualite enregistrement - kod = tab(:,1); - - % instant : date - heure - tmo = t(:,2); - tdd = t(:,3); - thh = floor(tab(:,3)); - % en entier .. pour reecriture ASCII - tmn = round((tab(:,3) - thh)*100); - % codage seconde .. inutile .. a zero - tss = ones(nbrec,1)*0; - % jour julien ( debut 0 - année début ) - tjd = to_day(year0,tyy,tmo,tdd,thh,tmn); - - % jour julien matlab - jtim= datenum(tyy,tmo,tdd,thh,tmn,tss); - - % passage coordonnées lat et lon en dd.mm ---> dd.ccc - lat = tab(:,6); - lon = tab(:,7); - lat = degmin2degcent(lat); - lon = degmin2degcent(lon); - - - % calcul vitesse - % en fait .. flag vitesse - % nbrec - lat/lon - [vit] = cavit (lat,lon,nbrec); - % retourne vit(1,N) ???? - % ================================================================================================ - - % remplissage ttt final -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -% flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor -% - % flag QC sst et sss init zero - ttt(:,1) = ones(nbrec,1)*0; - ttt(:,2) = ones(nbrec,1)*0; - % - % NB : ttt(:,1) avait été prevu pour ij=kod d caquisition thermo .. inutile - - ttt(:,3) = tyy; - ttt(:,4) = tmo; - ttt(:,5) = tdd; - ttt(:,6) = thh; - ttt(:,7) = tmn; - ttt(:,8) = tss; - - %modif jour julien matlab ... - ttt(:,9) = jtim; - - ttt(:,10) = lat; - ttt(:,11) = lon; - - % 2 dimensions ??? - ttt(:,12) = vit(:); - - ttt(:,13) = sst; - ttt(:,14) = sss; -% -% la suite ..... -% les valeurs suivantes sont remplis par ailleurs avant sauvegarde .mat \ No newline at end of file diff --git a/tsg-util/rdtsglab.m b/tsg-util/rdtsglab.m deleted file mode 100644 index 6f759ef6a901743aa16e1b5253c4783ecf41dbcb..0000000000000000000000000000000000000000 --- a/tsg-util/rdtsglab.m +++ /dev/null @@ -1,159 +0,0 @@ -function[nblig,ttt] = rdTSGLAB(fichier); - -% lecture fichier TSG LABview -% decodage et formation tableau -% -% fichier LABVIEW -% status A .. trame GPS OK ( lat - lon . ) -% V ...........NOK pas de lat-lon , SOG COG mais date - heure OK -% NaN -% -% SSS,SST et COND peuvenet etre NaN -% -% in : nom du fichier TSGLAB -% out : nblig : nbre de lignes valides du fichier -% : ttt : tableau ( nblig,val(1:13)) parametres voyage -% -disp([fichier,' lecture/decodage fichier TSG LABVIEW ']) - -% ouverture fichier -%fid=fopen(fichier); -% - -% lcture par textread -% 10 parametres -%26.334,35.107,54.617,01/09/2003,08:12:00,A,-15.276930,167.275198,016.1,352.7 -% SST SSS COND date heure S LAT LON SOG COG -%[sst,sss,cond,date,heure,status,lat,lon,sog,cog]... -% = textread( fichier, '%f%f%f%s%s%s%f%f%f%f','delimiter',',','emptyvalue',NaN); - -% 21 parametres ??? -[sst,sss,cond,date,heure,status,lat,lon,sog,cog,X,X,X,X,X,X,X,X,X,X,X]... - = textread( fichier, '%f%f%f%s%s%s%f%f%f%f%s%s%s%s%s%s%s%s%s%s%s','delimiter',',','emptyvalue',NaN); - -% -% NB : la presence de NaN .. peut foutre la M... -% en particulier status .. decoder en %c !!!! -% -% dimension -[nblig,n] = size(sst); - -% on recupere l'annee de depart -[j] = sscanf( date{1}, '%2d/%2d/%4d' ); -year0 = j(3); - -% conversion en decimal - % et extraction YYYY MM DD HH MN SS -irec = 0 -% boucle ligne acq -for i=1 : nblig; - % - % impression - if(mod(i,1000)==0) disp(i); -% status(i) -% date(i) -% heure(i) - end; - -% status{i} -% date{i} -% heure{i} - - % - % test integrite status - date - heure - % traitement cell !!!!! - if( char(status{i}) == 'NaN' ) - % | char(date{i}) == 'NaN') - %|char( date{i}) == 'NaN' | char(heure{i}) == 'NaN') - - % if (char(status{i}) == 'NaN' ) -% | ... -% (char(date{i}) == 'NaN' ) | ... -% (char(heure{i}) == 'NaN' ) - - % valeurs a NaN .. y compris tjtim !!!!! - thh(i,1) = NaN; - tmn(i,1) = NaN; - tss(i,1) = NaN; - tdd(i,1) = NaN; - tmm(i,1) = NaN; - tyy(i,1) = NaN; - tjj(i,1) = NaN; - tjtim(i,1) = NaN; - - else - irec = irec + 1; - - %decodage HEURE - [h] = sscanf( heure{i}, '%2d:%2d:%2d' ); - % decodage JOUR - [j] = sscanf( date{i}, '%2d/%2d/%4d' ); - - thh(i,1) = h(1); - tmn(i,1) = h(2); - tss(i,1) = h(3); - tdd(i,1) = j(1); - tmm(i,1) = j(2); - tyy(i,1) = j(3); - % - % calcul jour julien - tjj(i,1) = to_day( year0, [j(3) j(2) j(1) h(1) h(2) h(3)] ); - - % jour julien matlab - tjtim(i,1) = datenum(j(3),j(2),j(1),h(1),h(2),h(3)); - - %tmp = floor(lat(i)); - %lat(i) = ( tmp + ( (lat(i) - tmp )/ 60 ) * 100 ) * lat_sign; - %tmp = floor(lon(i)); - %lon(i) = ( tmp + ( (lon(i) - tmp )/ 60 ) * 100 ) * lon_sign; - % - % si passage ligne chgt de date, on change de repere -% if( lon(i) < 0 ) -% lon(i) = lon(i) + 360; - - % fin test integrité - end - - % fin boucle - end - - % nombre de record valides - nbrec= irec - 1 - - % transpose vecteur jour julien - %tjj=tjd' - - - % crible valeurs 1.E+36 pour sst et sss - % fonction find - % donne les indices des elements differents de zero - %sst = tab(:,8); - %sst (find(sst > 1.e35)) = NaN; - % - %sss = tab(:,9); - %sss (find(sss > 1.e35)) = NaN; - % - - - % remplissage ttt final -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -% cod flag yyyy mo dd hh mn ss jd lat lon sst sss sdsst sdsss corsst corsss - ttt(:,1) = ones(nblig,1)*0; - ttt(:,2) = ones(nblig,1)*0; - ttt(:,3) = tyy; - ttt(:,4) = tmm; - ttt(:,5) = tdd; - ttt(:,6) = thh; - ttt(:,7) = tmn; - ttt(:,8) = tss; - - %ttt(:,9) = tjj; - ttt(:,9) = tjtim; - - ttt(:,10) = lat; - ttt(:,11) = lon; - ttt(:,12) = sog; - ttt(:,13) = sst; - ttt(:,14) = sss; -% -% la suite ..... diff --git a/tsg-util/rdtsgleg.m b/tsg-util/rdtsgleg.m deleted file mode 100644 index 3cb9cd035239ccdea259da1d23a928ffa02e6b7b..0000000000000000000000000000000000000000 --- a/tsg-util/rdtsgleg.m +++ /dev/null @@ -1,62 +0,0 @@ -function[nblig,ttt] = rdTSGLEG(fichier); - -% lecture fichier TSG LEGOS -% decodage et formation tableau -% -% -% in : nom du fichier TSGTDM -% out : nblig : nbre de lignes valides du fichier -% : ttt : tableau ( nblig,val(1:13)) parametres voyage - -% -disp([fichier,' lecture/decodage fichier TSG LEGOS ']) - -% ouverture fichier -%fid=fopen(fichier); -% lecture par textread -% idship yyyy mm dd hh mn lat lon SST SSS -% -% TOUCAN 2001 1 1 0 10 44.12 -11.07 13.22 35.544 -% TOUCAN 2001 1 1 0 15 44.10 -11.07 13.23 35.544 -% TOUCAN 2001 1 1 0 20 44.10 -11.08 13.23 35.542 -% s f f f f f f f f f - -[idship,yyyy,mm,dd,hh,mn,lat,lon,sst,sss]... - = textread( fichier, '%s%f%f%f%f%f%f%f%f%f','delimiter',' ','emptyvalue',NaN); -% -% dimension -[nblig,n] = size(sst); - -ss=zeros(nblig,1); - -% on recupere l'annee de depart -year0 = yyyy(1); - -% calcul jour julien - jj = to_day(year0, yyyy, mm, dd, hh, mn, ss) - - % calcul vitesse - % en fait .. flag vitesse - % nbrec - lat/lon - [vit] = cavit (lat,lon,nblig); - % retourne vit(1,N) ???? - - % remplissage ttt final -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -% cod flag yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss corsst corsss - ttt(:,1) = ones(nblig,1)*0; - ttt(:,2) = ones(nblig,1)*0; - ttt(:,3) = yyyy; - ttt(:,4) = mm; - ttt(:,5) = dd; - ttt(:,6) = hh; - ttt(:,7) = mn; - ttt(:,8) = ss; - ttt(:,9) = jj; - ttt(:,10) = lat; - ttt(:,11) = lon; - ttt(:,12) = vit(:); - ttt(:,13) = sst; - ttt(:,14) = sss; -% -% la suite ..... diff --git a/tsg-util/rdtsgnew.m b/tsg-util/rdtsgnew.m deleted file mode 100644 index 899bc63b87736c7f851ea6562b782a058bc5622d..0000000000000000000000000000000000000000 --- a/tsg-util/rdtsgnew.m +++ /dev/null @@ -1,167 +0,0 @@ -function[nblig,ttt] = rdtsgnew(fichier); -%fichier='dd-m.csv' -%fichier='nokw0601-m.csv' - -% lecture fichier TSG NEW -% decodage et formation tableau -% -% fichier LNEW -% 20/05/2006 07:00:18 49,4758 0,1720 13,893 27,867 34,085 63687FE10000 179 0 -% 20/05/2006 07:05:18 49,4755 0,1708 13,891 27,867 34,084 63657FE00000 238 1 -% 20/05/2006 07:10:18 49,4740 0,1642 13,999 27,650 33,929 63F87F510000 251 2 -% 20/05/2006 07:15:18 49,4728 0,1588 13,678 27,636 33,660 62457E570000 248 3 -% -% in : nom du fichier TSGNEW -% out : nblig : nbre de lignes valides du fichier -% : ttt : tableau ( nblig,val(1:13)) parametres voyage -% -disp([fichier,' lecture/decodage fichier TSG NEW ']) - -% ouverture fichier -%fid=fopen(fichier); -% - -% lcture par textread -% 10 parametres -% 20/05/2006 07:00:18 49,4758 0,1720 13,893 27,867 34,085 63687FE10000 179 0 -% DD/MM/YYYY HH:MN:SS lat lon sst sss cond hexcond SOG COG - -%[sst,sss,cond,date,heure,status,lat,lon,sog,cog]... -% = textread( fichier, '%f%f%f%s%s%s%f%f%f%f','delimiter',',','emptyvalue',NaN); - -% 10 parametres ??? -[date,heure,lat,lon,sst,sss,cond,hcond,sog,cog]... - = textread( fichier, '%s%s%f%f%f%f%f%s%f%f','delimiter',';','emptyvalue',NaN); - -% -% NB : la presence de NaN .. peut foutre la M... -% en particulier status .. decoder en %c !!!! -% -% dimension -[nblig,n] = size(sst); - -% on recupere l'annee de depart -[j] = sscanf( date{1}, '%2d/%2d/%4d' ); -year0 = j(3); - -% ===================================================== -% date{i} = '05/02/2006' -% date{i} = 05/02/2006 - - % char : transforme cellule en tableau de chaine de character - % cellstr transforme le tableau de chaine de character e celliules -chdate=char(date); -chheure=char(heure); - -% conversion en decimal - % et extraction YYYY MM DD HH MN SS -irec = 0 -% boucle ligne acq -for i=1 : nblig; - % - % impression - if(mod(i,100)==0) disp(i); -% status(i) -% date(i) -% heure(i) - end; - - % - % test integrite date - heure - if ( chdate(i,1:3) == 'NaN' ) | ... - (chheure(i,1:3) == 'NaN') - - % record pourri - % valeurs a NaN .. y compris tjtim !!!!! - irec - disp(' - record pourri') - - thh(i,1) = NaN; - tmn(i,1) = NaN; - tss(i,1) = NaN; - tdd(i,1) = NaN; - tmm(i,1) = NaN; - tyy(i,1) = NaN; - tjj(i,1) = NaN; - tjtim(i,1) = NaN; - - - else - % record valide - - %decodage HEURE - [h] = sscanf( heure{i}, '%2d:%2d:%2d' ); - % decodage JOUR - [j] = sscanf( date{i}, '%2d/%2d/%4d' ); - - thh(i,1) = h(1); - tmn(i,1) = h(2); - tss(i,1) = h(3); - tdd(i,1) = j(1); - tmm(i,1) = j(2); - tyy(i,1) = j(3); - % - % calcul jour julien - tjj(i,1) = to_day( year0, [j(3) j(2) j(1) h(1) h(2) h(3)] ); - - % jour julien matlab - tjtim(i,1) = datenum(j(3),j(2),j(1),h(1),h(2),h(3)); - - %tmp = floor(lat(i)); - %lat(i) = ( tmp + ( (lat(i) - tmp )/ 60 ) * 100 ) * lat_sign; - %tmp = floor(lon(i)); - %lon(i) = ( tmp + ( (lon(i) - tmp )/ 60 ) * 100 ) * lon_sign; - % - % si passage ligne chgt de date, on change de repere -% if( lon(i) < 0 ) -% lon(i) = lon(i) + 360; - - % fin test integrite - end - - % increment record valide - irec = irec+1; - - % fin boucle - end - - % nombre de record valides - nbrec= irec - 1 - - % transpose vecteur jour julien - %tjj=tjd' - - - % crible valeurs 1.E+36 pour sst et sss - % fonction find - % donne les indices des elements differents de zero - %sst = tab(:,8); - %sst (find(sst > 1.e35)) = NaN; - % - %sss = tab(:,9); - %sss (find(sss > 1.e35)) = NaN; - % - - - % remplissage ttt final -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -% cod flag yyyy mo dd hh mn ss jd lat lon sst sss sdsst sdsss corsst corsss - ttt(:,1) = ones(nblig,1)*0; - ttt(:,2) = ones(nblig,1)*0; - ttt(:,3) = tyy; - ttt(:,4) = tmm; - ttt(:,5) = tdd; - ttt(:,6) = thh; - ttt(:,7) = tmn; - ttt(:,8) = tss; - - %ttt(:,9) = tjj; - ttt(:,9) = tjtim; - - ttt(:,10) = lat; - ttt(:,11) = lon; - ttt(:,12) = sog; - ttt(:,13) = sst; - ttt(:,14) = sss; -% -% la suite ..... diff --git a/tsg-util/rdtsgrt.m b/tsg-util/rdtsgrt.m deleted file mode 100644 index b92f22e91d728538f218ca3bfc65ab558375c0e2..0000000000000000000000000000000000000000 --- a/tsg-util/rdtsgrt.m +++ /dev/null @@ -1,86 +0,0 @@ - % rdTSGRT - function[dim,tab] = rdTSGRT(fichier); - % - % lecture decodage fichier TSG temps reel - % - % 23456789023456789023456789012345678901234567890 - % HH:MN DD/MM/YYYY LL.LL S LLL.LL S ST.S SS.S - % 13:00 10/10/2003 22.15 S 166.26 E 24.6 35.6 - % -% -disp([fichier,' lecture/decodage fichier TSG Real Time ']) - % - % - % recup valeurs par textread -[heure,date,lat,lats,lon,lons,sst,sss]=textread(fichier, '%s%s%f%c%f%c%f%f'); - -[dim,n] = size(heure); - -% elimination valeurs manquantes - lat (find(lat == 99.99 )) = NaN; - lon (find(lon == 999.99 )) = NaN; - sst (find(sst == 999.9 )) = NaN; - sss (find(sss == 99.99 )) = NaN; - -% on recupere l'annee de depart -[j] = sscanf( date{1}, '%2d/%2d/%4d' ); -year_base = j(3); - -% boucle nbr record -for i=1 : dim; - - % conversion en decimal - % heure(2) HH MN - [h] = sscanf( heure{i}, '%2d:%2d' ); - % date(3) YYYY MM DD - [j] = sscanf( date{i}, '%2d/%2d/%4d' ); - % jour julien - jj(i) = to_day( year_base, [j(3) j(2) j(1) h(1) h(2) 0] ); - - if( strcmp( lats(i), 'S' ) ) - lat_sign = -1; - else lat_sign = 1; - end - - if( strcmp( lons(i), 'W' ) ) - lon_sign = -1; - else lon_sign = 1; - end - - % valcul latitude - longitude - tmp = floor(lat(i)); - lat(i) = ( tmp + ( (lat(i) - tmp )/ 60 ) * 100 ) * lat_sign; - tmp = floor(lon(i)); - lon(i) = ( tmp + ( (lon(i) - tmp )/ 60 ) * 100 ) * lon_sign; - - % passage PAC - if(lon(i) < -100.) - lon(i) = lon(i) + 360.; - end - % - % - - % remplissage table tab - tab(i,3) = [j(3)]; - tab(i,4) = [j(2)]; - tab(i,5) = [j(1)]; - tab(i,6) = [h(1)]; - tab(i,7) = [h(2)]; - tab(i,8) = 0.; - tab(i,9) = jj(i); - - tab(i,10) = lat(i); - tab(i,11) = lon(i); - - tab(i,13) = sst(i); - tab(i,14) = sss(i); - -end - - % - % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - % cod flag yyyy mo dd hh mn ss jd lat lon sst vit sss sdsst sdsss corsst corsss - - % calcul (flag) vitesse - vit=cavit(lat,lon,dim); - tab(:,12) = vit(:); diff --git a/tsg-util/rdtsgtdm.m b/tsg-util/rdtsgtdm.m deleted file mode 100644 index 4d74459ae3b59e6713b6a057f969da552d292af2..0000000000000000000000000000000000000000 --- a/tsg-util/rdtsgtdm.m +++ /dev/null @@ -1,107 +0,0 @@ -function[nblig,ttt] = rdTSGTDM(fichier); - -% lecture fichier TSG TDM SGBD oracle -% decodage et formation tableau -% -% -% in : nom du fichier TSGTDM -% out : nblig : nbre de lignes valides du fichier -% : ttt : tableau ( nblig,val(1:13)) parametres voyage - -% -disp([fichier,' lecture/decodage fichier TSG TDM SGDB ']) - -% ouverture fichier -%fid=fopen(fichier); -% - -% lcture par textread -% CORA 200303 31/10/2003 09:42:58 166.39 -22.28 25.97 35.735 -% idship idvoya dd/mm/yyyy hh:mn:ss lon lat sst sss -% s f s s f f f f -[idship,idvoya,date,heure,lon,lat,sst,sss]... - = textread( fichier, '%s%f%s%s%f%f%f%f','delimiter',' ','emptyvalue',NaN); -% -% dimension -[nblig,n] = size(sst); - -% on recupere l'annee de depart -[j] = sscanf( date{1}, '%2d/%2d/%4d' ); -year0 = j(3); - -% conversion en decimal - % et extracton YYYY MM DD HH MN SS -for i=1 : nblig; - % - % impression - if(mod(i,1000)==0) disp(i); - end; - % - %decodage HEURE - [h] = sscanf( heure{i}, '%2d:%2d:%2d' ); - % decodage JOUR - [j] = sscanf( date{i}, '%2d/%2d/%4d' ); - - thh(i,1) = h(1); - tmn(i,1) = h(2); - tss(i,1) = h(3); - tdd(i,1) = j(1); - tmm(i,1) = j(2); - tyy(i,1) = j(3); - % - % calcul jour julien - tjj(i,1) = to_day( year0, [j(3) j(2) j(1) h(1) h(2) h(3)] ); - - %tmp = floor(lat(i)); - %lat(i) = ( tmp + ( (lat(i) - tmp )/ 60 ) * 100 ) * lat_sign; - %tmp = floor(lon(i)); - %lon(i) = ( tmp + ( (lon(i) - tmp )/ 60 ) * 100 ) * lon_sign; - % - % si passage ligne chgt de date, on change de repere - if( lon(i) < 0 ) - lon(i) = lon(i) + 360; - end -end - -% calcul vitesse !!!! - - % transpose vecteur jour julien - %tjj=tjd' - - - % crible valeurs 1.E+36 pour sst et sss - % fonction find - % donne les indices des elements differents de zero - %sst = tab(:,8); - %sst (find(sst > 1.e35)) = NaN; - % - %sss = tab(:,9); - %sss (find(sss > 1.e35)) = NaN; - % - - - % calcul vitesse - % en fait .. flag vitesse - % nbrec - lat/lon - [vit] = cavit (lat,lon,nblig); - % retourne vit(1,N) ???? - - % remplissage ttt final -% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -% cod flag yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss corsst corsss - ttt(:,1) = ones(nblig,1)*0; - ttt(:,2) = ones(nblig,1)*0; - ttt(:,3) = tyy; - ttt(:,4) = tmm; - ttt(:,5) = tdd; - ttt(:,6) = thh; - ttt(:,7) = tmn; - ttt(:,8) = tss; - ttt(:,9) = tjj; - ttt(:,10) = lat; - ttt(:,11) = lon; - ttt(:,12) = vit(:); - ttt(:,13) = sst; - ttt(:,14) = sss; -% -% la suite ..... diff --git a/tsg-util/sauve0_TS_cb.m b/tsg-util/sauve0_TS_cb.m deleted file mode 100644 index 75285af70c4e31e8a20be430996b65255f39b257..0000000000000000000000000000000000000000 --- a/tsg-util/sauve0_TS_cb.m +++ /dev/null @@ -1,57 +0,0 @@ -% sauve _callback -% -%zoom off - % sauvegarde ASCII - - - global dirTSG - global fic - - %fic = input(' - fichier TSG ( sans extension .TSG) : ','s') - fichier = [dirTSG,fic,'.DAT'] - - % taille - [nblig nbcol] = size(tab) -% -% sauvegarde ASCII TSG -% fichier=[fic,'.dat'] - - fid=fopen(fichier,'w') - - - % on recupere les flags hi hi !!! - tab(:,1)= flsst; - tab(:,2)= flsss; - - % et les nouvelles valeurs de SSS apres correction ( sssori et sss) - tab(:,14)= sss; - tab(:,18) = sss; - - % - % ecriture ligne meta data - % - % remplissage ttt final -% -for ilig=1:nblig - % - if(mod(ilig,1000)==0) disp(ilig); - end - % - % formation ligne a ecrire - -%line = [cod flag tyy tmo tdd thh tmn tss tjd lat lon sst sss]; - - line = tab(ilig,:); - % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - % flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor - %fprintf(fid,'%2d %2d %5d %3d %3d %3d %3d %3d %10.5f %10.3f %10.3f %5.1f %10.3f %10.3f %5.3f %5.3f %10.3f %10.3f\n',line); - fprintf(fid,'%2d%2d%5d%3d%3d%3d%3d%3d%15.5f%10.3f%10.3f%5.1f%10.3f%10.3f%6.3f%6.3f%10.3f%10.3f\n',line); - - % -end -% -fclose(fid); - - - - diff --git a/tsg-util/sauve1_TS_cb.m b/tsg-util/sauve1_TS_cb.m deleted file mode 100644 index cb6b57904b7de1eb838a9bef8400eaf585e4932c..0000000000000000000000000000000000000000 --- a/tsg-util/sauve1_TS_cb.m +++ /dev/null @@ -1,57 +0,0 @@ -% sauve _callback -% -%zoom off - % sauvegarde ASCII - - - global dirTSG - global fic - - %fic = input(' - fichier TSG ( sans extension .TSG) : ','s') - fichier = [dirTSG,fic,'.DAT'] - - % taille - [nblig nbcol] = size(tab) -% -% sauvegarde ASCII TSG -% fichier=[fic,'.dat'] - - fid=fopen(fichier,'w') - - - % on recupere les flags hi hi !!! - tab(:,1)= flsst; - tab(:,2)= flsss; - - % et les nouvelles valeurs de SSS apres correction ( sssori et sss) - tab(:,14)= sssori; - tab(:,18) = sss; - - % - % ecriture ligne meta data - % - % remplissage ttt final -% -for ilig=1:nblig - % - if(mod(ilig,1000)==0) disp(ilig); - end - % - % formation ligne a ecrire - -%line = [cod flag tyy tmo tdd thh tmn tss tjd lat lon sst sss]; - - line = tab(ilig,:); - % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - % flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor - %fprintf(fid,'%2d %2d %5d %3d %3d %3d %3d %3d %10.5f %10.3f %10.3f %5.1f %10.3f %10.3f %5.3f %5.3f %10.3f %10.3f\n',line); - fprintf(fid,'%2d%2d%5d%3d%3d%3d%3d%3d%15.5f%10.3f%10.3f%5.1f%10.3f%10.3f%6.3f%6.3f%10.3f%10.3f\n',line); - - % -end -% -fclose(fid); - - - - diff --git a/tsg-util/sauve_TS_cb.m b/tsg-util/sauve_TS_cb.m deleted file mode 100644 index cb6b57904b7de1eb838a9bef8400eaf585e4932c..0000000000000000000000000000000000000000 --- a/tsg-util/sauve_TS_cb.m +++ /dev/null @@ -1,57 +0,0 @@ -% sauve _callback -% -%zoom off - % sauvegarde ASCII - - - global dirTSG - global fic - - %fic = input(' - fichier TSG ( sans extension .TSG) : ','s') - fichier = [dirTSG,fic,'.DAT'] - - % taille - [nblig nbcol] = size(tab) -% -% sauvegarde ASCII TSG -% fichier=[fic,'.dat'] - - fid=fopen(fichier,'w') - - - % on recupere les flags hi hi !!! - tab(:,1)= flsst; - tab(:,2)= flsss; - - % et les nouvelles valeurs de SSS apres correction ( sssori et sss) - tab(:,14)= sssori; - tab(:,18) = sss; - - % - % ecriture ligne meta data - % - % remplissage ttt final -% -for ilig=1:nblig - % - if(mod(ilig,1000)==0) disp(ilig); - end - % - % formation ligne a ecrire - -%line = [cod flag tyy tmo tdd thh tmn tss tjd lat lon sst sss]; - - line = tab(ilig,:); - % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - % flsst flsss yyyy mo dd hh mn ss jd lat lon vit sst sss sdsst sdsss sstcor ssscor - %fprintf(fid,'%2d %2d %5d %3d %3d %3d %3d %3d %10.5f %10.3f %10.3f %5.1f %10.3f %10.3f %5.3f %5.3f %10.3f %10.3f\n',line); - fprintf(fid,'%2d%2d%5d%3d%3d%3d%3d%3d%15.5f%10.3f%10.3f%5.1f%10.3f%10.3f%6.3f%6.3f%10.3f%10.3f\n',line); - - % -end -% -fclose(fid); - - - - diff --git a/tsg-util/setikod.m b/tsg-util/setikod.m deleted file mode 100644 index e4fdfac0e3f5aa4a98354892a5dd68df3b651c57..0000000000000000000000000000000000000000 --- a/tsg-util/setikod.m +++ /dev/null @@ -1,16 +0,0 @@ -% setikod - -% recuperation valeur du pop up -valkod = get(bkod,'Value'); - -if valkod == 1 - ikod = 0 -elseif valkod == 2 - ikod = 1 -elseif valkod == 3 - ikod = 2 -elseif valkod == 4 - ikod = 3 -elseif valkod == 5 - ikod = 4 -end \ No newline at end of file diff --git a/tsg-util/ssscmap.mat b/tsg-util/ssscmap.mat deleted file mode 100644 index 9bc060e16c4538bf301cc9a3141424024ef00fae..0000000000000000000000000000000000000000 Binary files a/tsg-util/ssscmap.mat and /dev/null differ diff --git a/tsg-util/statflag_cb.m b/tsg-util/statflag_cb.m deleted file mode 100644 index 04eed0c647852c58ae8e888ae7a84c60ea1794f4..0000000000000000000000000000000000000000 --- a/tsg-util/statflag_cb.m +++ /dev/null @@ -1,20 +0,0 @@ - % - %statflag_cb.m - % - - % on recupere les flags - %tab(:,2)= flag; - % - % statistiques 5 classes - %HH = hist(flag,5) - - % affichage statistique flag 5 classes - %kkflag = hist(flsss,5) - - - figure - xlabel('FLAG QC SSS') - ylabel('nbr') - - hist(flsss,5) - \ No newline at end of file diff --git a/tsg-util/validA_TS_cb.m b/tsg-util/validA_TS_cb.m deleted file mode 100644 index be41dbd1318d7963815ee38cf8fd97203be0224a..0000000000000000000000000000000000000000 --- a/tsg-util/validA_TS_cb.m +++ /dev/null @@ -1,81 +0,0 @@ - -% validA -% -% validation automatique T et S .... -% -% valeurs hors champs physique -% -% gradient -% -% vitesse nulle -% ( a metttre en dernier !! = -% - zoom off - % - % ========================================= - % ce qui peut etre fait en "automatique" ...?? - % - %========================================== - % init flag SST - flsst(1:nbrec)=1; - - % - %indice tableau vitesse "nulle" - ivit=find(vit<0.5); - - % flag au port !! - flsst(ivit) = 4; - flsss(ivit) = 4; - - % =============================== - % valeurs physiques hors champs - flsst (find(sst > 34.0 )) = 4; - flsst (find(sst < -2.1 )) = 4; - % - flsss (find(sss > 45.0 )) = 4; - flsss (find(sss < 0.9 )) = 4; - % - % ================================= - % gradients suspects !!! - - % valeur parametrables version 0 - %flag( find(grasst > 0.5)) = 4.; - %flag( find(grasss > 0.5)) = 4.; - - % valeur parametrables version 1 - % saisie valeur max gradient - % vmaxgra = input('SAISIE : valeur SEUIL gradient sst/sss :') - - vmaxgrat = input('> SAISIE : valeur SEUIL gradient T (en deg/mn):') - % - vmaxgras = input('> SAISIE : valeur SEUIL gradient S (en psu/mn):') - - % on ne flague que la valeur i - %flsst( find(abs(grasst) > vmaxgrat)) = 4; - %flsss( find(abs(grasss) > vmaxgras)) = 4; - ifgt=find(abs(grasst) > vmaxgrat); - flsst(ifgt)=4; - ifgs=find(abs(grasss) > vmaxgras); - flsss(ifgs)=4; - % - % idem pour i+1 !!! SPIKE ??? - flsst(ifgt+1)=4; - flsss(ifgs+1)=4; - % ============================== - % spike suspects - % - % - % ============================== - % ecarts type suspects - % - % ========================= - - % - % ==================================================== - % graphique validation TVS - % pour SSS - grvaliS - % pour SST - grvaliT - - diff --git a/tsg-util/validII_S_cb.m b/tsg-util/validII_S_cb.m deleted file mode 100644 index 861538ee5082db82f52a343b78f801bf908aee55..0000000000000000000000000000000000000000 --- a/tsg-util/validII_S_cb.m +++ /dev/null @@ -1,120 +0,0 @@ -% validI _callback -% -% validation interactive -%pour SSS -% choix ZONE puis CODE ...en développement - -% $Id$ - -zoom off - linkedzoom(gcf,'off') - %zoom reset - %zoom out - - % init kod QC vali - ikod=-1 - % - % saisie du code de validation - %ikod = input(' CODE validation :') - -%, setikod renvoi de code de validation -%disp(ikod) -disp('-- draw a rubber box and choose a quality cod') - - % curseur full pour saisie zone - set(gcf,'pointer','fullcrosshair') - - kk=1; - while kk==1 - - % RBBBOX - k=waitforbuttonpress; - - point1=get(gca,'CurrentPoint'); - finalRect=rbbox; - point2=get(gca,'CurrentPoint'); - point1 = point1(1,1:2); - point2 = point2(1,1:2); - - tjy1 = point1(1,1); - tjy2 = point2(1,1); - - % calcul indice - [dp,ind1] = min(abs(tjy-tjy1)); - [dp,ind2] = min(abs(tjy-tjy2)); - - disp(ind1) - disp(ind2) - % - - % ============================================ - disp(' >>> choose a Quality cod : ') - - % saisie du code de validation - if(ikod==-1) - % version texte - ikod = input(' CODE validation (0 - 4) :') - - % version dialog box - inputbox -% chkod=questdlg('IKOD ?','QC','0','1','2','3','4','0') -% chkod -% ikod=num2str(chkod,'%1.1i') -% disp(ikod) - -% version menu deroulant !!!!! -% hfkod=figure('position',[400 500 100 200]); -% bkod=uicontrol('style','popupmenu',... -% 'position',[10 200 80 30],... -% 'string',['0 : no QC |1 : good |2 : prob good |3 : prob bad |4 : bad'],... -% 'callback','setikod') - - - end - % ========================================== - - % modif valeur flag SSS suivant indice - flsss(ind1:ind2) = ikod; - - % ================================================================= - % mofif plot valid - if ikod==0 - % pas de QC noir - ssschcod='+k'; - ssschsiz=2; - elseif ikod==1 - % good vert - ssschcod='+g'; - ssschsiz=2; - % prob good vert - elseif ikod==2 - ssschcod='+b'; - ssschsiz==2; - % prob bad magenta - elseif ikod==3 - ssschcod='+m'; - ssschsiz=2; - % bad rouge - elseif ikod==4 - ssschcod='+r'; - ssschsiz=2; - - %pas de valid vitesse nulle - - end - - % SSS - subplot(3,1,2) - hold on - plot(tjy(ind1:ind2),sss(ind1:ind2),ssschcod,'Markersize',ssschsiz) - hold off - - % ===================================================================== - - kk=0 - - end - - -set(gcf,'pointer','arrow') -% -%linkedzoom(gcf,'onx2') diff --git a/tsg-util/validI_S_cb.m b/tsg-util/validI_S_cb.m deleted file mode 100644 index 3300267879406d964c5c8e69b6d88d3189fbe317..0000000000000000000000000000000000000000 --- a/tsg-util/validI_S_cb.m +++ /dev/null @@ -1,88 +0,0 @@ -% validI _callback -% -% -% validation interactive -%pour SSS -zoom off - linkedzoom(gcf,'off') - %zoom reset - %zoom out - - % - % saisie du code de validation - %ikod = input(' CODE validation :') - -%, setikod renvoi de code de validation -disp(ikod) - - % curseur full pour saisie zone - set(gcf,'pointer','fullcrosshair') - - kk=1; - while kk==1 - - % RBBBOX - k=waitforbuttonpress; - - point1=get(gca,'CurrentPoint'); - finalRect=rbbox; - point2=get(gca,'CurrentPoint'); - point1 = point1(1,1:2); - point2 = point2(1,1:2); - - tjy1 = point1(1,1); - tjy2 = point2(1,1); - - % calcul indice - [dp,ind1] = min(abs(tjy-tjy1)); - [dp,ind2] = min(abs(tjy-tjy2)); - - disp(ind1) - disp(ind2) - % - % modif valeur flag SSS suivant indice - flsss(ind1:ind2) = ikod; - - % ================================================================= - % mofif plot valid - if ikod==0 - % pas de QC noir - ssschcod='+k'; - ssschsiz=2; - elseif ikod==1 - % good vert - ssschcod='+g'; - ssschsiz=2; - % prob good vert - elseif ikod==2 - ssschcod='+b'; - ssschsiz==2; - % prob bad magenta - elseif ikod==3 - ssschcod='+m'; - ssschsiz=2; - % bad rouge - elseif ikod==4 - ssschcod='+r'; - ssschsiz=2; - - %pas de valid vitesse nulle - - end - - % SSS - subplot(3,1,2) - hold on - plot(tjy(ind1:ind2),sss(ind1:ind2),ssschcod,'Markersize',ssschsiz) - hold off - - % ===================================================================== - - kk=0 - - end - - -set(gcf,'pointer','arrow') -% -%linkedzoom(gcf,'onx2') diff --git a/tsg-util/zoomOFFcb.m b/tsg-util/zoomOFFcb.m deleted file mode 100644 index 027c90a48d41026e01101bbde8b35fd328e6543a..0000000000000000000000000000000000000000 --- a/tsg-util/zoomOFFcb.m +++ /dev/null @@ -1,4 +0,0 @@ -% Zoom IN VALID - -linkaxes (ax,'off') -zoom off diff --git a/tsg-util/zoomONcb.m b/tsg-util/zoomONcb.m deleted file mode 100644 index 25ac027331f6317b01064e9ef93b338aa0ce317e..0000000000000000000000000000000000000000 --- a/tsg-util/zoomONcb.m +++ /dev/null @@ -1,4 +0,0 @@ -% Zoom IN VALID - -linkaxes(ax,'x') -zoom diff --git a/tsg-util/zoomV_TS_cb.m b/tsg-util/zoomV_TS_cb.m deleted file mode 100644 index ee4766f8a572534f04ab9ee85bd17ae4a84ed5d4..0000000000000000000000000000000000000000 --- a/tsg-util/zoomV_TS_cb.m +++ /dev/null @@ -1,10 +0,0 @@ -% zoom_callback -% -% leave y axis unmodified -%linkedzoom(gcf,'onx') -% -% zoom y axis on gca only -%linkedzoom(gcf,'onx2') -% - %linkaxes - zoom(gcf,'xon') diff --git a/tsg-util/zoom_TS_cb.m b/tsg-util/zoom_TS_cb.m deleted file mode 100644 index fd84f4c34a46b745e3ceff185d361865a91c7682..0000000000000000000000000000000000000000 --- a/tsg-util/zoom_TS_cb.m +++ /dev/null @@ -1,10 +0,0 @@ -% zoom_callback -% -% leave y axis unmodified -%linkedzoom(gcf,'onx') -% -% zoom y axis on gca only -linkedzoom(gcf,'onx2') -% -% linkaxes -% zoom diff --git a/tsg-util/zoom_X_cb.m b/tsg-util/zoom_X_cb.m deleted file mode 100644 index db25a29fa3c7c1fb5b83e6f064f0f3c0258df45b..0000000000000000000000000000000000000000 --- a/tsg-util/zoom_X_cb.m +++ /dev/null @@ -1,8 +0,0 @@ -% zoom_callback -% -% leave y axis unmodified -%linkedzoom(gcf,'onx') -% -% zoom y axis on gca only -linkedzoom(gcf,'onx2') -% diff --git a/tsg-util/zoom_Y_cb.m b/tsg-util/zoom_Y_cb.m deleted file mode 100644 index 7db9904a21cd312421c46e122d55c239d84fd08f..0000000000000000000000000000000000000000 --- a/tsg-util/zoom_Y_cb.m +++ /dev/null @@ -1,7 +0,0 @@ -% zoom_callback -% axe Y -% -%linkedzoom(gcf,'ony') -% modif echelles -linkedzoom(gcf,'ony2') -% diff --git a/tsg-util/zoom_map_cb.m b/tsg-util/zoom_map_cb.m deleted file mode 100644 index 3c7164e50ad0f6650b25419071a66a27abe21ea8..0000000000000000000000000000000000000000 --- a/tsg-util/zoom_map_cb.m +++ /dev/null @@ -1,4 +0,0 @@ -% zoom_map_cb -% -zoom -% \ No newline at end of file diff --git a/tsg-util/zoomcb.m b/tsg-util/zoomcb.m deleted file mode 100644 index 2b6a7bae910914f6c6872588a70c75b3a962ff9e..0000000000000000000000000000000000000000 --- a/tsg-util/zoomcb.m +++ /dev/null @@ -1,28 +0,0 @@ - % ball back ZOOM - - %on recupere les param du zoom - valz=get(bzoom); - - % valeur ON(=1) / OFF(=0) - valz.Value; - - if(valz.Value==1) - % valeur bouton zoom =0 relache =1 enfoncé (zoom) - - disp('ZOOM ON') - linkaxes(ax,'x') - zoom - set(bzoom,'foregroundColor',[1.0 0.0 0.0]) -% - else - -% bzou = uicontrol('style','radiobutton',... -% 'position',[10 160 50 30],... -% 'string','Z-OFF',... -% 'callback','zoomOFFcb'); - disp('ZOOM OFF') - linkaxes (ax,'off') - zoom off - set(bzoom,'foregroundColor',[0.0 0.0 0.0]) - - end \ No newline at end of file diff --git a/tsg-util/zoompano.m b/tsg-util/zoompano.m deleted file mode 100644 index 8dc5c62b1c608ec8112793a28b76f9482aea67b5..0000000000000000000000000000000000000000 --- a/tsg-util/zoompano.m +++ /dev/null @@ -1,15 +0,0 @@ - % PAN - ZOOM - - - bzoom = uicontrol('style','togglebutton',... - 'position',[10 70 50 30],... - 'string','ZOOM',... - 'callback','zoomcb'); - - - - bpano = uicontrol('style','togglebutton',... - 'position',[10 40 50 30],... - 'string','PANO',... - 'callback','panocb'); - diff --git a/tsg-util/zoompanoX.m b/tsg-util/zoompanoX.m deleted file mode 100644 index b73dd25905b0a3e70f8c1299262c459cecc194f6..0000000000000000000000000000000000000000 --- a/tsg-util/zoompanoX.m +++ /dev/null @@ -1,25 +0,0 @@ - % PAN - ZOOM - - - - - bzin = uicontrol('style','pushbutton',... - 'position',[10 150 50 30],... - 'string','Z-ON',... - 'callback','zoomONcb'); - - bzou = uicontrol('style','pushbutton',... - 'position',[10 120 50 30],... - 'string','Z-OFF',... - 'callback','zoomOFFcb'); - - - pin = uicontrol('style','pushbutton',... - 'position',[10 90 50 30],... - 'string','P-ON',... - 'callback','panONcb'); - - pou = uicontrol('style','pushbutton',... - 'position',[10 60 50 30],... - 'string','P-OFF',... - 'callback','panOFFcb'); \ No newline at end of file