code: def _get_scale_and_shape_sim(self, transformed_lvs):
          
  
          if self.scale is True:
              if self.shape is True:
                  model_shape = self.latent_variables.z_list[-1].prior.transform(transformed_lvs[-1, :]) 
                  model_scale = self.latent_variables.z_list[-2].prior.transform(transformed_lvs[-2, :])
              else:
                  model_shape = np.zeros(transformed_lvs.shape[1])
                  model_scale = self.latent_variables.z_list[-1].prior.transform(transformed_lvs[-1, :])
          else:
              model_scale = np.zeros(transformed_lvs.shape[1])
              model_shape = np.zeros(transformed_lvs.shape[1])
  
          if self.skewness is True:
              model_skewness = self.latent_variables.z_list[-3].prior.transform(transformed_lvs[-3, :])
          else:
              model_skewness = np.zeros(transformed_lvs.shape[1])
  
          return model_scale, model_shape, model_skewness
docs: Obtains model scale, shape, skewness latent variables for
          a 2d array of simulations.
  
          Parameters
          ----------
          transformed_lvs : np.array
              Transformed latent variable vector (2d - with draws of each variable)
  
          Returns
          ----------
          - Tuple of np.arrays (each being scale, shape and skewness draws)